Code:
10017630 /$ 83EC 20 SUB ESP,20
10017633 |. 53 PUSH EBX
10017634 |. 55 PUSH EBP
10017635 |. 56 PUSH ESI
10017636 |. 8BF1 MOV ESI,ECX
10017638 |. 807E 0C 00 CMP BYTE PTR DS:[ESI+C],0
1001763C |. 57 PUSH EDI
1001763D |. 0F84 96030000 JE cshell.100179D9
10017643 |. 8DAE F0430100 LEA EBP,DWORD PTR DS:[ESI+143F0]
10017649 |. 55 PUSH EBP
1001764A |. 90 NOP
1001764B |. E8 60AC6567 CALL ntdll.RtlEnterCriticalSection
10017650 |. 8B0D 60963010 MOV ECX,DWORD PTR DS:[10309660]
10017656 |. 8B01 MOV EAX,DWORD PTR DS:[ECX]
10017658 |. 8B50 64 MOV EDX,DWORD PTR DS:[EAX+64]
1001765B |. FFD2 CALL NEAR EDX ; ntdll.DbgUiRemoteBreakin
1001765D |. D95C24 10 FSTP DWORD PTR SS:[ESP+10]
10017661 |. A1 60963010 MOV EAX,DWORD PTR DS:[10309660]
10017666 |. 8B88 A4000000 MOV ECX,DWORD PTR DS:[EAX+A4]
1001766C |. 6A 00 PUSH 0
1001766E |. 6A 03 PUSH 3
10017670 |. 6A 00 PUSH 0
10017672 |. FFD1 CALL NEAR ECX
10017674 |. 8B8E E46F0100 MOV ECX,DWORD PTR DS:[ESI+16FE4]
1001767A |. 83C4 0C ADD ESP,0C
1001767D |. 85C9 TEST ECX,ECX
1001767F |. 8BF8 MOV EDI,EAX
10017681 |. 74 05 JE SHORT cshell.10017688
10017683 |. E8 48CC0E00 CALL cshell.101042D0
10017688 |> 85FF TEST EDI,EDI
1001768A |. BB 01000000 MOV EBX,1
1001768F |. 74 2A JE SHORT cshell.100176BB
10017691 |. 889E 531B0100 MOV BYTE PTR DS:[ESI+11B53],BL
10017697 |. 8B15 60963010 MOV EDX,DWORD PTR DS:[10309660]
1001769D |. 8B82 EC010000 MOV EAX,DWORD PTR DS:[EDX+1EC]
100176A3 |. 68 3C8A2910 PUSH cshell.10298A3C ; ASCII "Error in ClearScreen()
"
100176A8 |. FFD0 CALL NEAR EAX
100176AA |. 8B0D 60963010 MOV ECX,DWORD PTR DS:[10309660]
100176B0 |. 8B91 90000000 MOV EDX,DWORD PTR DS:[ECX+90]
100176B6 |. 83C4 04 ADD ESP,4
100176B9 |. FFD2 CALL NEAR EDX ; ntdll.DbgUiRemoteBreakin
100176BB |> 0FB646 0C MOVZX EAX,BYTE PTR DS:[ESI+C]
100176BF |. 8D7E 58 LEA EDI,DWORD PTR DS:[ESI+58]
100176C2 |. 50 PUSH EAX ; /Arg1 = 7EFDA000
100176C3 |. 8BCF MOV ECX,EDI ; |
100176C5 |. E8 16131100 CALL cshell.101289E0 ; \cshell.101289E0
100176CA |. 8B0D 60963010 MOV ECX,DWORD PTR DS:[10309660]
100176D0 |. 8B91 9C000000 MOV EDX,DWORD PTR DS:[ECX+9C]
100176D6 |. FFD2 CALL NEAR EDX ; ntdll.DbgUiRemoteBreakin
100176D8 |. 85C0 TEST EAX,EAX
100176DA |. 74 29 JE SHORT cshell.10017705
100176DC |. 889E 531B0100 MOV BYTE PTR DS:[ESI+11B53],BL
100176E2 |. A1 60963010 MOV EAX,DWORD PTR DS:[10309660]
100176E7 |. 8B88 EC010000 MOV ECX,DWORD PTR DS:[EAX+1EC]
100176ED |. 68 288A2910 PUSH cshell.10298A28 ; ASCII "Error in Start3D()
"
100176F2 |. FFD1 CALL NEAR ECX
100176F4 |. 8B15 60963010 MOV EDX,DWORD PTR DS:[10309660]
100176FA |. 8B82 90000000 MOV EAX,DWORD PTR DS:[EDX+90]
10017700 |. 83C4 04 ADD ESP,4
10017703 |. FFD0 CALL NEAR EAX
10017705 |> D94424 10 FLD DWORD PTR SS:[ESP+10]
10017709 |. 51 PUSH ECX
1001770A |. 8B4E 08 MOV ECX,DWORD PTR DS:[ESI+8]
1001770D |. D91C24 FSTP DWORD PTR SS:[ESP]
10017710 |. 885E 0F MOV BYTE PTR DS:[ESI+F],BL
10017713 |. 8B15 60963010 MOV EDX,DWORD PTR DS:[10309660]
10017719 |. 8B82 A0000000 MOV EAX,DWORD PTR DS:[EDX+A0]
1001771F |. 51 PUSH ECX
10017720 |. FFD0 CALL NEAR EAX
10017722 |. 83C4 08 ADD ESP,8
10017725 |. 85C0 TEST EAX,EAX
10017727 |. 74 29 JE SHORT cshell.10017752
10017729 |. 889E 531B0100 MOV BYTE PTR DS:[ESI+11B53],BL
1001772F |. 8B0D 60963010 MOV ECX,DWORD PTR DS:[10309660]
10017735 |. 8B91 EC010000 MOV EDX,DWORD PTR DS:[ECX+1EC]
1001773B |. 68 0C8A2910 PUSH cshell.10298A0C ; ASCII "Error in RenderCamera()
"
10017740 |. FFD2 CALL NEAR EDX ; ntdll.DbgUiRemoteBreakin
10017742 |. A1 60963010 MOV EAX,DWORD PTR DS:[10309660]
10017747 |. 8B88 90000000 MOV ECX,DWORD PTR DS:[EAX+90]
1001774D |. 83C4 04 ADD ESP,4
10017750 |. FFD1 CALL NEAR ECX
10017752 |> 0FB656 0C MOVZX EDX,BYTE PTR DS:[ESI+C]
10017756 |. 52 PUSH EDX ; ntdll.DbgUiRemoteBreakin
10017757 |. 8BCF MOV ECX,EDI
10017759 |. E8 02191100 CALL cshell.10129060
1001775E |. 8B8E E46F0100 MOV ECX,DWORD PTR DS:[ESI+16FE4]
10017764 |. 85C9 TEST ECX,ECX
10017766 |. 74 05 JE SHORT cshell.1001776D
10017768 |. E8 73CA0E00 CALL cshell.101041E0
1001776D |> E8 2EFF0500 CALL cshell.100776A0
10017772 |. 83F8 0B CMP EAX,0B
10017775 |. 0F85 0B010000 JNZ cshell.10017886
1001777B |. B9 D0273010 MOV ECX,cshell.103027D0
10017780 |. E8 CB541100 CALL cshell.1012CC50
10017785 |. E8 D6051E00 CALL cshell.101F7D60
1001778A |. 80B8 041D0000>CMP BYTE PTR DS:[EAX+1D04],0
10017791 |. 75 38 JNZ SHORT cshell.100177CB
10017793 |. 8B3D A4B13210 MOV EDI,DWORD PTR DS:[1032B1A4]
10017799 |. E8 02FF0500 CALL cshell.100776A0
1001779E |. 3BC7 CMP EAX,EDI
100177A0 |. 75 29 JNZ SHORT cshell.100177CB
100177A2 |. 803D 40E32F10>CMP BYTE PTR DS:[102FE340],0
100177A9 |. 74 20 JE SHORT cshell.100177CB
100177AB |. E8 00241B00 CALL cshell.101C9BB0
100177B0 |. 8B86 B4FC0000 MOV EAX,DWORD PTR DS:[ESI+FCB4]
100177B6 |. 0FB648 05 MOVZX ECX,BYTE PTR DS:[EAX+5]
100177BA |. 51 PUSH ECX ; /Arg1 = 00000000
100177BB |. 8D8E 38010000 LEA ECX,DWORD PTR DS:[ESI+138] ; |
100177C1 |. E8 CAE21700 CALL cshell.10195A90 ; \cshell.10195A90
100177C6 |. E8 F5231B00 CALL cshell.101C9BC0
100177CB |> 8B86 B4FC0000 MOV EAX,DWORD PTR DS:[ESI+FCB4]
100177D1 |. 85C0 TEST EAX,EAX
100177D3 |. 74 1A JE SHORT cshell.100177EF
100177D5 |. 8078 05 00 CMP BYTE PTR DS:[EAX+5],0
100177D9 |. 75 14 JNZ SHORT cshell.100177EF
100177DB |. D94424 10 FLD DWORD PTR SS:[ESP+10]
100177DF |. 8B56 08 MOV EDX,DWORD PTR DS:[ESI+8]
100177E2 |. 51 PUSH ECX
100177E3 |. D91C24 FSTP DWORD PTR SS:[ESP]
100177E6 |. 52 PUSH EDX ; ntdll.DbgUiRemoteBreakin
100177E7 |. E8 04251700 CALL cshell.10189CF0
100177EC |. 83C4 08 ADD ESP,8
100177EF |> E8 BCE81F00 CALL cshell.102160B0
100177F4 |. 8BC8 MOV ECX,EAX
100177F6 |. E8 F5D71F00 CALL cshell.10214FF0
100177FB |. D9EE FLDZ
100177FD |. 8B0D 60963010 MOV ECX,DWORD PTR DS:[10309660]
10017803 |. D95424 20 FST DWORD PTR SS:[ESP+20]
10017807 |. D95424 24 FST DWORD PTR SS:[ESP+24]
1001780B |. 8D5424 14 LEA EDX,DWORD PTR SS:[ESP+14]
1001780F |. D95C24 28 FSTP DWORD PTR SS:[ESP+28]
10017813 |. 52 PUSH EDX ; ntdll.DbgUiRemoteBreakin
10017814 |. D9E8 FLD1
10017816 |. 8B56 08 MOV EDX,DWORD PTR DS:[ESI+8]
10017819 |. D95C24 30 FSTP DWORD PTR SS:[ESP+30]
1001781D |. 52 PUSH EDX ; ntdll.DbgUiRemoteBreakin
1001781E |. 8B01 MOV EAX,DWORD PTR DS:[ECX]
10017820 |. 8B80 98000000 MOV EAX,DWORD PTR DS:[EAX+98]
10017826 |. FFD0 CALL NEAR EAX
10017828 |. 8B0D 60963010 MOV ECX,DWORD PTR DS:[10309660]
1001782E |. 8B11 MOV EDX,DWORD PTR DS:[ECX]
10017830 |. 8B92 94000000 MOV EDX,DWORD PTR DS:[EDX+94]
10017836 |. 8D4424 20 LEA EAX,DWORD PTR SS:[ESP+20]
1001783A |. 50 PUSH EAX
1001783B |. 8B46 08 MOV EAX,DWORD PTR DS:[ESI+8]
1001783E |. 50 PUSH EAX
1001783F |. FFD2 CALL NEAR EDX ; ntdll.DbgUiRemoteBreakin
10017841 |. D94424 20 FLD DWORD PTR SS:[ESP+20]
10017845 |. 83EC 10 SUB ESP,10
10017848 |. 8BC4 MOV EAX,ESP
1001784A |. D918 FSTP DWORD PTR DS:[EAX]
1001784C |. 83EC 0C SUB ESP,0C
1001784F |. D94424 40 FLD DWORD PTR SS:[ESP+40]
10017853 |. D958 04 FSTP DWORD PTR DS:[EAX+4]
10017856 |. D94424 44 FLD DWORD PTR SS:[ESP+44]
1001785A |. D958 08 FSTP DWORD PTR DS:[EAX+8]
1001785D |. D94424 48 FLD DWORD PTR SS:[ESP+48]
10017861 |. D958 0C FSTP DWORD PTR DS:[EAX+C]
10017864 |. 8B4C24 30 MOV ECX,DWORD PTR SS:[ESP+30] ; kernel32.766A33CA
10017868 |. 8B5424 34 MOV EDX,DWORD PTR SS:[ESP+34]
1001786C |. 8BC4 MOV EAX,ESP
1001786E |. 8908 MOV DWORD PTR DS:[EAX],ECX
10017870 |. 8B4C24 38 MOV ECX,DWORD PTR SS:[ESP+38]
10017874 |. 8950 04 MOV DWORD PTR DS:[EAX+4],EDX ; ntdll.DbgUiRemoteBreakin
10017877 |. 8948 08 MOV DWORD PTR DS:[EAX+8],ECX
1001787A |. E8 8104FFFF CALL cshell.10007D00
1001787F |. 8BC8 MOV ECX,EAX
10017881 |. E8 4A671D00 CALL cshell.101EDFD0
10017886 |> E8 D5041E00 CALL cshell.101F7D60
1001788B |. 80B8 041D0000>CMP BYTE PTR DS:[EAX+1D04],0
10017892 |. 74 0C JE SHORT cshell.100178A0
10017894 |. E8 C7041E00 CALL cshell.101F7D60
10017899 |. 8BC8 MOV ECX,EAX
1001789B |. E8 40F91D00 CALL cshell.101F71E0
100178A0 |> E8 BB041E00 CALL cshell.101F7D60
100178A5 |. 80B8 041D0000>CMP BYTE PTR DS:[EAX+1D04],0
100178AC |. 75 0B JNZ SHORT cshell.100178B9
100178AE |. 8B8E B4FC0000 MOV ECX,DWORD PTR DS:[ESI+FCB4]
100178B4 |. E8 275A1900 CALL cshell.101AD2E0
100178B9 |> 80BE CF4E0100>CMP BYTE PTR DS:[ESI+14ECF],0
100178C0 |. 74 07 JE SHORT cshell.100178C9
100178C2 |. 8BCE MOV ECX,ESI
100178C4 |. E8 27FEFEFF CALL cshell.100076F0
100178C9 |> E8 3207FFFF CALL cshell.10008000
100178CE |. 8BC8 MOV ECX,EAX
100178D0 |. E8 7B6D2200 CALL cshell.1023E650
100178D5 |. E8 D6221B00 CALL cshell.101C9BB0
100178DA |. E8 C1FD0500 CALL cshell.100776A0
100178DF |. 3BC3 CMP EAX,EBX
100178E1 |. 75 0D JNZ SHORT cshell.100178F0
100178E3 |. 6A 04 PUSH 4 ; /Arg1 = 00000004
100178E5 |. 8D8E 44440100 LEA ECX,DWORD PTR DS:[ESI+14444] ; |
100178EB |. E8 E06B0100 CALL cshell.1002E4D0 ; \cshell.1002E4D0
100178F0 |> E8 3BFD0500 CALL cshell.10077630
100178F5 |. E8 C6221B00 CALL cshell.101C9BC0
100178FA |. 8B8E B8FC0000 MOV ECX,DWORD PTR DS:[ESI+FCB8]
10017900 |. 85C9 TEST ECX,ECX
10017902 |. 74 1B JE SHORT cshell.1001791F
10017904 |. E8 97E41600 CALL cshell.10185DA0
10017909 |. 8B96 B4FC0000 MOV EDX,DWORD PTR DS:[ESI+FCB4]
1001790F |. 0FB642 05 MOVZX EAX,BYTE PTR DS:[EDX+5]
10017913 |. 8B8E B8FC0000 MOV ECX,DWORD PTR DS:[ESI+FCB8]
10017919 |. 50 PUSH EAX
1001791A |. E8 E1E81600 CALL cshell.10186200
1001791F |> 8D8E 20440100 LEA ECX,DWORD PTR DS:[ESI+14420]
10017925 |. E8 A66A1A00 CALL cshell.101BE3D0
1001792A |. 803D A9963010>CMP BYTE PTR DS:[103096A9],0
10017931 |. 74 1E JE SHORT cshell.10017951
10017933 |. 8B0D 087BA110 MOV ECX,DWORD PTR DS:[10A17B08]
10017939 |. 6A 00 PUSH 0 ; /Arg7 = 00000000
1001793B |. 6A 00 PUSH 0 ; |Arg6 = 00000000
1001793D |. 53 PUSH EBX ; |Arg5 = 00000000
1001793E |. 6A FF PUSH -1 ; |Arg4 = FFFFFFFF
10017940 |. 68 2C010000 PUSH 12C ; |Arg3 = 0000012C
10017945 |. 6A 64 PUSH 64 ; |Arg2 = 00000064
10017947 |. 68 FC6B3010 PUSH cshell.10306BFC ; |Arg1 = 10306BFC
1001794C |. E8 CFB21C00 CALL cshell.101E2C20 ; \cshell.101E2C20
10017951 |> 8B8E CC6F0100 MOV ECX,DWORD PTR DS:[ESI+16FCC]
10017957 |. 85C9 TEST ECX,ECX
10017959 |. 74 05 JE SHORT cshell.10017960
1001795B |. E8 A0AA0E00 CALL cshell.10102400
10017960 |> 8BCE MOV ECX,ESI
10017962 |. E8 89A4FFFF CALL cshell.10011DF0
10017967 |. E8 1403FFFF CALL cshell.10007C80
1001796C |. 8BC8 MOV ECX,EAX
1001796E |. E8 EDDB0100 CALL cshell.10035560
10017973 |. E8 28FD0500 CALL cshell.100776A0
10017978 |. 83F8 0B CMP EAX,0B
1001797B |. 75 0B JNZ SHORT cshell.10017988
1001797D |. 8B8E A46F0100 MOV ECX,DWORD PTR DS:[ESI+16FA4]
10017983 |. E8 28B11700 CALL cshell.10192AB0
10017988 |> 8B0D 60963010 MOV ECX,DWORD PTR DS:[10309660]
1001798E |. 8B91 C0000000 MOV EDX,DWORD PTR DS:[ECX+C0]
10017994 |. 53 PUSH EBX
10017995 |. FFD2 CALL NEAR EDX ; ntdll.DbgUiRemoteBreakin
10017997 |. 83C4 04 ADD ESP,4
1001799A |. 85C0 TEST EAX,EAX
1001799C |. 74 29 JE SHORT cshell.100179C7
1001799E |. 889E 531B0100 MOV BYTE PTR DS:[ESI+11B53],BL
100179A4 |. A1 60963010 MOV EAX,DWORD PTR DS:[10309660]
100179A9 |. 8B88 EC010000 MOV ECX,DWORD PTR DS:[EAX+1EC]
100179AF |. 68 F8892910 PUSH cshell.102989F8 ; ASCII "Error in End3D()
"
100179B4 |. FFD1 CALL NEAR ECX
100179B6 |. 8B15 60963010 MOV EDX,DWORD PTR DS:[10309660]
100179BC |. 8B82 90000000 MOV EAX,DWORD PTR DS:[EDX+90]
100179C2 |. 83C4 04 ADD ESP,4
100179C5 |. FFD0 CALL NEAR EAX
100179C7 |> 8BCE MOV ECX,ESI
100179C9 |. E8 F283FFFF CALL cshell.1000FDC0
100179CE |. 55 PUSH EBP
100179CF |. C646 0F 00 MOV BYTE PTR DS:[ESI+F],0
100179D3 |. 90 NOP
100179D4 |. E8 97A86567 CALL ntdll.RtlLeaveCriticalSection
100179D9 |> 5F POP EDI ; ntdll.776EF826
100179DA |. 5E POP ESI ; ntdll.776EF826
100179DB |. 5D POP EBP ; ntdll.776EF826
100179DC |. 33C0 XOR EAX,EAX
100179DE |. 5B POP EBX ; ntdll.776EF826
100179DF |. 83C4 20 ADD ESP,20
100179E2 \. C3 RETN
in some engine related code that i have here is what i have