Function at 0x414814
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x13
push 0
push 0
dec ecx
jne 0x41481c
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x415a30
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004049bc
test eax, eax
jle 0x414858
lea eax, [ebp - 0x40]
call fcn.00406b88
mov edx, dword [ebp - 0x34]
inc edx
mov eax, dword [ebx + 0x18]
call fcn.004096c0
jmp 0x41487e
mov eax, dword [ebx + 0x18]
call fcn.0040970c
push eax
lea eax, [ebp - 0x40]
call fcn.00406b88
mov edx, dword [ebp - 0x34]
pop eax
sub edx, eax
sar edx, 1
jns 0x414876
adc edx, 0
mov eax, dword [ebx + 0x18]
call fcn.004096c0
push 0x415a40
mov eax, dword [0x41d650]
push eax
call sub.user32.dll_LoadIconA
mov edx, eax
mov eax, dword [ebx + 0x18]
call fcn.004092a8
mov eax, dword [ebx + 0x18]
mov edx, 0x415a54
call fcn.004092dc
push 0
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x28]
push eax
call sub.user32.dll_GetSystemMenu
mov esi, eax
push 0x415a64
push 0
push 0x800
push esi
call sub.user32.dll_AppendMenuA
mov eax, dword [ebx + 0x104]
sub eax, 0x404
je 0x414901
sub eax, 0x400
jne 0x414927
push 0x415a68
push 0x402
push 0
push esi
call sub.user32.dll_AppendMenuA
push 0x415a78
push 0x401
push 8
push esi
call sub.user32.dll_AppendMenuA
jmp 0x41494b
push 0x415a84
push 0x402
push 0
push esi
call sub.user32.dll_AppendMenuA
push 0x415a90
push 0x401
push 8
push esi
call sub.user32.dll_AppendMenuA
jmp 0x41494b
push 0x415a9c
push 0x402
push 0
push esi
call sub.user32.dll_AppendMenuA
push 0x415ab4
push 0x401
push 8
push esi
call sub.user32.dll_AppendMenuA
lea eax, [ebp - 0x44]
call fcn.00404a5c
mov edx, dword [ebp - 0x44]
mov eax, dword [ebx + 0xa8]
add eax, 0x21
call fcn.004033f0
call fcn.004058a0
mov dword [ebx + 0xdc], eax
call fcn.004058a0
mov dword [ebx + 0xe4], eax
call fcn.004058a0
mov dword [ebx + 0xe8], eax
call fcn.004058a0
mov dword [ebx + 0xec], eax
call fcn.004058a0
mov dword [ebx + 0xe0], eax
push 0x9a
mov eax, dword [ebx + 0x54]
mov ecx, 0x101d
xor edx, edx
call fcn.0040a42c
push 0x9b
mov eax, dword [ebx + 0x54]
mov ecx, 0x101d
mov edx, 1
call fcn.0040a42c
lea eax, [ebx + 0x480]
mov edx, 0x415ac8
call fcn.004033f0
lea eax, [ebx + 0x484]
mov edx, 0x415adc
call fcn.004033f0
lea eax, [ebx + 0x488]
mov edx, 0x415ae8
call fcn.004033f0
lea eax, [ebx + 0x48c]
mov edx, 0x415af4
call fcn.004033f0
lea eax, [ebx + 0x490]
mov edx, 0x415b04
call fcn.004033f0
lea eax, [ebx + 0x494]
mov edx, 0x415b18
call fcn.004033f0
mov eax, dword [ebx + 0x104]
cmp eax, 0x404
jne 0x414cfe
mov dword [ebp - 0x30], 1
mov eax, 0x415b20
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 0
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.0040a404
mov eax, 0x415b28
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.0040a404
mov eax, 0x415b30
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 2
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.0040a404
lea eax, [ebx + 0x480]
mov edx, 0x415b40
call fcn.004033f0
lea eax, [ebx + 0x484]
mov edx, 0x415b54
call fcn.004033f0
lea eax, [ebx + 0x488]
mov edx, 0x415b60
call fcn.004033f0
lea eax, [ebx + 0x48c]
mov edx, 0x415b6c
call fcn.004033f0
lea eax, [ebx + 0x490]
mov edx, 0x415b7c
call fcn.004033f0
lea eax, [ebx + 0x494]
mov edx, 0x415b90
call fcn.004033f0
mov eax, dword [ebx + 0x18]
mov edx, 0x415ba0
call fcn.004092dc
mov eax, dword [ebx + 0x18]
call fcn.0040989c
xor edx, edx
call fcn.00404568
mov eax, dword [ebx + 0x68]
mov edx, 0x415bb8
call fcn.004092dc
mov eax, dword [ebx + 0x88]
mov edx, 0x415bcc
call fcn.004092dc
mov eax, dword [ebx + 0xac]
mov edx, 0x415be4
call fcn.004092dc
mov eax, dword [ebx + 0xc8]
mov edx, 0x415bf8
call fcn.004092dc
mov eax, dword [ebx + 0x94]
mov edx, 0x415c10
call fcn.004092dc
mov eax, dword [ebx + 0x98]
mov edx, 0x415c20
call fcn.004092dc
mov eax, dword [ebx + 0x8c]
call fcn.00406068
mov eax, dword [ebx + 0x8c]
mov edx, 0x415c34
call fcn.00409c68
mov eax, dword [ebx + 0x8c]
mov edx, 0x415c4c
call fcn.00409c68
mov eax, dword [ebx + 0x8c]
mov edx, 0x415c64
call fcn.00409c68
mov eax, dword [ebx + 0x6c]
mov edx, 0x415c7c
call fcn.004092dc
mov eax, dword [ebx + 0x70]
mov edx, 0x415c94
call fcn.004092dc
mov eax, dword [ebx + 0x40]
mov edx, 0x415cac
call fcn.004092dc
mov eax, dword [ebx + 0x44]
mov edx, 0x415cbc
call fcn.004092dc
mov eax, dword [ebx + 0x24]
mov edx, 0x415ccc
call fcn.004092dc
mov eax, dword [ebx + 0x28]
mov edx, 0x415cdc
call fcn.004092dc
mov eax, dword [ebx + 0x2c]
mov edx, 0x415cec
call fcn.004092dc
mov eax, dword [ebx + 0x38]
mov edx, 0x415cfc
call fcn.004092dc
mov eax, dword [ebx + 0x50]
mov edx, 0x415d0c
call fcn.004092dc
mov eax, dword [ebx + 0x48]
mov edx, 0x415d1c
call fcn.004092dc
mov eax, dword [ebx + 0x4c]
mov edx, 0x415d2c
call fcn.004092dc
lea edx, [ebp - 0x48]
mov eax, dword [ebx + 0x48]
call fcn.004054bc
mov edx, dword [ebp - 0x48]
mov eax, dword [ebx + 0x90]
call fcn.004092dc
mov eax, dword [ebx + 0x54]
mov ecx, 0x415d3c
xor edx, edx
call fcn.00405e04
mov eax, dword [ebx + 0x54]
mov ecx, 0x415d1c
mov edx, 1
call fcn.00405e04
mov eax, dword [ebx + 0xc4]
mov edx, 0x415d4c
call fcn.004092dc
mov eax, dword [ebx + 0xcc]
mov edx, 0x415ccc
call fcn.004092dc
mov eax, dword [ebx + 0x30]
mov edx, 0x415d5c
call fcn.004092dc
mov eax, dword [ebx + 0x78]
mov edx, 0x415d6c
call fcn.004092dc
mov eax, dword [ebx + 0x80]
mov edx, 0x415d84
call fcn.004092dc
mov eax, dword [ebx + 0xa0]
mov edx, 0x415d9c
call fcn.004092dc
mov eax, dword [ebx + 0xb0]
mov edx, 0x415db4
call fcn.004092dc
mov eax, dword [ebx + 0xb4]
mov edx, 0x415dcc
call fcn.004092dc
mov eax, dword [ebx + 0xd4]
mov edx, 0x415de0
call fcn.004092dc
jmp 0x414fcb
cmp eax, 0x804
je 0x414fcb
mov dword [ebp - 0x30], 1
mov eax, 0x415dec
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 0
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.0040a404
mov eax, 0x415df4
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.0040a404
mov eax, 0x415dfc
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 2
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.0040a404
lea eax, [ebx + 0x480]
mov edx, 0x415e10
call fcn.004033f0
lea eax, [ebx + 0x484]
mov edx, 0x415e2c
call fcn.004033f0
lea eax, [ebx + 0x488]
mov edx, 0x415e3c
call fcn.004033f0
lea eax, [ebx + 0x48c]
mov edx, 0x415e4c
call fcn.004033f0
lea eax, [ebx + 0x490]
mov edx, 0x415e60
call fcn.004033f0
lea eax, [ebx + 0x494]
mov edx, 0x415e80
call fcn.004033f0
mov eax, dword [ebx + 0x18]
mov edx, 0x415e8c
call fcn.004092dc
mov eax, dword [ebx + 0x18]
call fcn.0040989c
xor edx, edx
call fcn.00404568
mov eax, dword [ebx + 0x68]
mov edx, 0x415ea0
call fcn.004092dc
mov eax, dword [ebx + 0x88]
mov edx, 0x415eb4
call fcn.004092dc
mov eax, dword [ebx + 0xac]
mov edx, 0x415ed4
call fcn.004092dc
mov eax, dword [ebx + 0xc8]
mov edx, 0x415ee8
call fcn.004092dc
mov eax, dword [ebx + 0x94]
mov edx, 0x415f08
call fcn.004092dc
mov eax, dword [ebx + 0x98]
mov edx, 0x415f18
call fcn.004092dc
mov eax, dword [ebx + 0x8c]
call fcn.00406068
mov eax, dword [ebx + 0x8c]
mov edx, 0x415f34
call fcn.00409c68
mov eax, dword [ebx + 0x8c]
mov edx, 0x415f50
call fcn.00409c68
mov eax, dword [ebx + 0x8c]
mov edx, 0x415f68
call fcn.00409c68
mov eax, dword [ebx + 0x6c]
mov edx, 0x415f80
call fcn.004092dc
mov eax, dword [ebx + 0x70]
mov edx, 0x415f98
call fcn.004092dc
mov eax, dword [ebx + 0x40]
mov edx, 0x415fb0
call fcn.004092dc
mov eax, dword [ebx + 0x44]
mov edx, 0x415fbc
call fcn.004092dc
mov eax, dword [ebx + 0x24]
mov edx, 0x415fcc
call fcn.004092dc
mov eax, dword [ebx + 0x28]
mov edx, 0x415fdc
call fcn.004092dc
mov eax, dword [ebx + 0x2c]
mov edx, 0x415fec
call fcn.004092dc
mov eax, dword [ebx + 0x38]
mov edx, 0x415ff8
call fcn.004092dc
mov eax, dword [ebx + 0x50]
mov edx, 0x416008
call fcn.004092dc
mov eax, dword [ebx + 0x48]
mov edx, 0x41601c
call fcn.004092dc
mov eax, dword [ebx + 0x4c]
mov edx, 0x41602c
call fcn.004092dc
lea edx, [ebp - 0x4c]
mov eax, dword [ebx + 0x48]
call fcn.004054bc
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x90]
call fcn.004092dc
mov eax, dword [ebx + 0x54]
mov ecx, 0x416040
xor edx, edx
call fcn.00405e04
mov eax, dword [ebx + 0x54]
mov ecx, 0x416050
mov edx, 1
call fcn.00405e04
mov eax, dword [ebx + 0xc4]
mov edx, 0x416060
call fcn.004092dc
mov eax, dword [ebx + 0xcc]
mov edx, 0x416070
call fcn.004092dc
mov eax, dword [ebx + 0x30]
mov edx, 0x416080
call fcn.004092dc
mov eax, dword [ebx + 0x78]
mov edx, 0x416090
call fcn.004092dc
mov eax, dword [ebx + 0x80]
mov edx, 0x4160b0
call fcn.004092dc
mov eax, dword [ebx + 0xa0]
mov edx, 0x4160d0
call fcn.004092dc
mov eax, dword [ebx + 0xb0]
mov edx, 0x4160e4
call fcn.004092dc
mov eax, dword [ebx + 0xb4]
mov edx, 0x4160fc
call fcn.004092dc
mov eax, dword [ebx + 0xd4]
mov edx, 0x416110
call fcn.004092dc
lea edx, [ebp - 0x50]
mov eax, dword [ebx + 0x18]
call fcn.004054bc
mov edx, dword [ebp - 0x50]
mov eax, dword [0x41c528]
mov eax, dword [eax]
call fcn.004092dc
lea edx, [ebp - 0x54]
mov eax, dword [ebx + 0x18]
call fcn.004054bc
lea eax, [ebp - 0x54]
mov edx, 0x416128
call fcn.00403528
mov edx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x18]
call fcn.004092dc
xor esi, esi
lea edi, [ebx + 0x190]
lea edx, [ebp - 0x58]
mov eax, esi
call fcn.00407d78
mov edx, dword [ebp - 0x58]
mov eax, edi
call fcn.004033f0
lea edx, [ebp - 0x5c]
lea eax, [esi + 0x1e]
call fcn.00407d78
mov edx, dword [ebp - 0x5c]
lea eax, [edi + 4]
call fcn.004033f0
inc esi
add edi, 8
cmp esi, 0xa
jne 0x415010
lea eax, [ebx + 0x1e0]
mov edx, 0x416138
call fcn.004033f0
lea eax, [ebx + 0x1e4]
mov edx, 0x416148
call fcn.004033f0
mov esi, 1
lea edx, [ebp - 0x60]
mov eax, esi
call fcn.00407d78
mov ecx, dword [ebp - 0x60]
lea edi, [esi + 0xb]
lea eax, [ebx + edi*8 + 0x188]
mov edx, 0x416154
call fcn.0040356c
lea ecx, [ebp - 0x64]
lea eax, [esi + 0x6f]
mov edx, 2
call fcn.00407d0c
mov edx, dword [ebp - 0x64]
lea eax, [ebx + edi*8 + 0x18c]
call fcn.004033f0
inc esi
cmp esi, 0xd
jne 0x415068
mov esi, 1
lea eax, [esi + 0x17]
lea eax, [ebx + eax*8 + 0x188]
lea edi, [esi + 0x40]
mov edx, edi
call fcn.004034bc
lea ecx, [ebp - 0x68]
mov eax, edi
mov edx, 2
call fcn.00407d0c
mov edx, dword [ebp - 0x68]
lea eax, [esi + 0x17]
lea eax, [ebx + eax*8 + 0x18c]
call fcn.004033f0
inc esi
cmp esi, 0x1b
jne 0x4150b3
lea eax, [ebx + 0x318]
mov edx, 0x416160
call fcn.004033f0
lea eax, [ebx + 0x31c]
mov edx, 0x41616c
call fcn.004033f0
lea eax, [ebx + 0x320]
mov edx, 0x416178
call fcn.004033f0
lea eax, [ebx + 0x324]
mov edx, 0x416184
call fcn.004033f0
lea eax, [ebx + 0x328]
mov edx, 0x416190
call fcn.004033f0
lea eax, [ebx + 0x32c]
mov edx, 0x41619c
call fcn.004033f0
lea eax, [ebx + 0x330]
mov edx, 0x4161a8
call fcn.004033f0
lea eax, [ebx + 0x334]
mov edx, 0x4161b4
call fcn.004033f0
lea eax, [ebx + 0x338]
mov edx, 0x4161c0
call fcn.004033f0
lea eax, [ebx + 0x33c]
mov edx, 0x4161cc
call fcn.004033f0
lea eax, [ebx + 0x340]
mov edx, 0x4161d8
call fcn.004033f0
lea eax, [ebx + 0x344]
mov edx, 0x4161e4
call fcn.004033f0
lea eax, [ebx + 0x348]
mov edx, 0x4161f0
call fcn.004033f0
lea eax, [ebx + 0x34c]
mov edx, 0x4161fc
call fcn.004033f0
lea eax, [ebx + 0x350]
mov edx, 0x416208
call fcn.004033f0
lea eax, [ebx + 0x354]
mov edx, 0x416214
call fcn.004033f0
lea eax, [ebx + 0x358]
mov edx, 0x416220
call fcn.004033f0
lea eax, [ebx + 0x35c]
mov edx, 0x41622c
call fcn.004033f0
lea eax, [ebx + 0x360]
mov edx, 0x416238
call fcn.004033f0
lea eax, [ebx + 0x364]
mov edx, 0x416244
call fcn.004033f0
lea eax, [ebx + 0x368]
mov edx, 0x416250
call fcn.004033f0
lea eax, [ebx + 0x36c]
mov edx, 0x41625c
call fcn.004033f0
lea eax, [ebx + 0x370]
mov edx, 0x416268
call fcn.004033f0
lea eax, [ebx + 0x374]
mov edx, 0x41627c
call fcn.004033f0
lea eax, [ebx + 0x378]
mov edx, 0x416288
call fcn.004033f0
lea eax, [ebx + 0x37c]
mov edx, 0x416294
call fcn.004033f0
lea eax, [ebx + 0x380]
mov edx, 0x4162a0
call fcn.004033f0
lea eax, [ebx + 0x384]
mov edx, 0x4162b0
call fcn.004033f0
lea eax, [ebx + 0x388]
mov edx, 0x4162bc
call fcn.004033f0
lea eax, [ebx + 0x38c]
mov edx, 0x4162cc
call fcn.004033f0
lea eax, [ebx + 0x390]
mov edx, 0x4162d8
call fcn.004033f0
lea eax, [ebx + 0x394]
mov edx, 0x4162ec
call fcn.004033f0
lea eax, [ebx + 0x398]
mov edx, 0x4162f8
call fcn.004033f0
lea eax, [ebx + 0x39c]
mov edx, 0x416304
call fcn.004033f0
lea eax, [ebx + 0x3a0]
mov edx, 0x416310
call fcn.004033f0
lea eax, [ebx + 0x3a4]
mov edx, 0x416320
call fcn.004033f0
lea eax, [ebx + 0x3a8]
mov edx, 0x41632c
call fcn.004033f0
lea eax, [ebx + 0x3ac]
mov edx, 0x41633c
call fcn.004033f0
lea eax, [ebx + 0x3b0]
mov edx, 0x416348
call fcn.004033f0
lea eax, [ebx + 0x3b4]
mov edx, 0x416354
call fcn.004033f0
lea eax, [ebx + 0x3b8]
mov edx, 0x416360
call fcn.004033f0
lea eax, [ebx + 0x3bc]
mov edx, 0x416370
call fcn.004033f0
lea eax, [ebx + 0x3c0]
mov edx, 0x41637c
call fcn.004033f0
lea eax, [ebx + 0x3c4]
mov edx, 0x41638c
call fcn.004033f0
lea eax, [ebx + 0x3c8]
mov edx, 0x416398
call fcn.004033f0
lea eax, [ebx + 0x3cc]
mov edx, 0x4163a4
call fcn.004033f0
lea eax, [ebx + 0x3d0]
mov edx, 0x4163b0
call fcn.004033f0
lea eax, [ebx + 0x3d4]
mov edx, 0x4163bc
call fcn.004033f0
lea eax, [ebx + 0x3d8]
mov edx, 0x4163c8
call fcn.004033f0
lea eax, [ebx + 0x3dc]
mov edx, 0x4163dc
call fcn.004033f0
lea eax, [ebx + 0x3e0]
mov edx, 0x4163e8
call fcn.004033f0
lea eax, [ebx + 0x3e4]
mov edx, 0x416400
call fcn.004033f0
lea eax, [ebx + 0x3e8]
mov edx, 0x41640c
call fcn.004033f0
lea eax, [ebx + 0x3ec]
mov edx, 0x41641c
call fcn.004033f0
xor esi, esi
lea edx, [ebp - 0x6c]
mov eax, esi
call fcn.00407d78
mov ecx, dword [ebp - 0x6c]
lea edi, [esi + 0x4d]
lea eax, [ebx + edi*8 + 0x188]
mov edx, 0x416428
call fcn.0040356c
lea edx, [ebp - 0x70]
lea eax, [esi + 0x3c]
call fcn.00407d78
mov edx, dword [ebp - 0x70]
lea eax, [ebx + edi*8 + 0x18c]
call fcn.004033f0
inc esi
cmp esi, 0xa
jne 0x415450
lea eax, [ebx + 0x440]
mov edx, 0x416438
call fcn.004033f0
lea eax, [ebx + 0x444]
mov edx, 0x41644c
call fcn.004033f0
lea eax, [ebx + 0x448]
mov edx, 0x416458
call fcn.004033f0
lea eax, [ebx + 0x44c]
mov edx, 0x41646c
call fcn.004033f0
lea eax, [ebx + 0x450]
mov edx, 0x416478
call fcn.004033f0
lea eax, [ebx + 0x454]
mov edx, 0x41648c
call fcn.004033f0
lea eax, [ebx + 0x458]
mov edx, 0x416498
call fcn.004033f0
lea eax, [ebx + 0x45c]
mov edx, 0x4164ac
call fcn.004033f0
lea eax, [ebx + 0x460]
mov edx, 0x4164b8
call fcn.004033f0
lea eax, [ebx + 0x464]
mov edx, 0x4164cc
call fcn.004033f0
mov eax, dword [ebx + 0xd4]
call fcn.0040989c
mov ecx, 0xfffffff4
mov edx, 4
call fcn.0040797c
mov ax, word [0x4164d0]
call fcn.00406d8c
test al, al
jne 0x41559a
mov ax, word [0x4164d4]
call fcn.00406d8c
test al, al
jne 0x41559a
mov ax, word [0x4164d8]
call fcn.00406d8c
test al, al
jne 0x41559a
mov ax, word [0x4164dc]
call fcn.00406d8c
test al, al
jne 0x41559a
mov ax, word [0x4164e0]
call fcn.00406d8c
test al, al
je 0x415819
mov eax, dword [ebx + 0x18]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0x18]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x4155e5
inc edi
xor esi, esi
mov eax, dword [ebx + 0x18]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x4155c3
mov eax, dword [ebx + 0x58]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x415619
inc edi
xor esi, esi
mov eax, dword [ebx + 0x58]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x4155f7
mov eax, dword [ebx + 0xd4]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0x68]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0x68]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x41567e
inc edi
xor esi, esi
mov eax, dword [ebx + 0x68]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x41565c
mov eax, dword [ebx + 0x88]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0x88]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x4156d2
inc edi
xor esi, esi
mov eax, dword [ebx + 0x88]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x4156ad
mov eax, dword [ebx + 0xac]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0xac]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x415726
inc edi
xor esi, esi
mov eax, dword [ebx + 0xac]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x415701
mov eax, dword [ebx + 0xc8]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0xc8]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x41577a
inc edi
xor esi, esi
mov eax, dword [ebx + 0xc8]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x415755
mov eax, dword [ebx + 0x74]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0x74]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x4157c5
inc edi
xor esi, esi
mov eax, dword [ebx + 0x74]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x4157a3
mov eax, dword [ebx + 0x94]
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
mov eax, dword [ebx + 0x94]
call fcn.0040a424
mov edi, eax
dec edi
test edi, edi
jl 0x415819
inc edi
xor esi, esi
mov eax, dword [ebx + 0x94]
mov edx, esi
call fcn.0040556c
call fcn.0040989c
mov ecx, 0xfffffff5
mov edx, 4
call fcn.0040797c
inc esi
dec edi
jne 0x4157f4
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.0040e12c
call fcn.004049bc
test eax, eax
jle 0x415836
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00418e80
mov eax, dword [ebx + 0xdc]
mov esi, dword [eax + 0x1c]
dec esi
cmp esi, 0
jl 0x4159fb
lea ecx, [ebp - 0x7c]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.0040a0a8
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov edx, 0x4164ec
call fcn.0040356c
mov edx, dword [ebp - 0x78]
mov eax, 0x80000002
call fcn.00404ad4
lea ecx, [ebp - 0x74]
mov edx, 0x416528
call fcn.00404c04
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x10]
call fcn.00407e64
cmp dword [ebp - 0x10], 0
je 0x4159f1
mov eax, esi
dec eax
cmp eax, 0
jl 0x4159f1
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x8c]
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebp - 8]
call fcn.0040a0a8
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
mov edx, 0x4164ec
call fcn.0040356c
mov edx, dword [ebp - 0x88]
mov eax, 0x80000002
call fcn.00404ad4
lea ecx, [ebp - 0x84]
mov edx, 0x416528
call fcn.00404c04
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.00407e64
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
call fcn.0040366c
jne 0x4159e4
lea ecx, [ebp - 0x94]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.0040a0a8
mov ecx, dword [ebp - 0x94]
lea eax, [ebp - 0x90]
mov edx, 0x4164ec
call fcn.0040356c
mov edx, dword [ebp - 0x90]
mov eax, 0x80000002
call fcn.00404cec
mov eax, dword [ebx + 0x54]
mov edx, esi
call fcn.004073c0
lea ecx, [ebp - 0x14]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.0040a0a8
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.004104e8
mov eax, dword [ebx + 0xe0]
mov edi, dword [eax + 0x1c]
dec edi
test edi, edi
jl 0x4159e4
inc edi
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0x98]
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebp - 0xc]
call fcn.0040a0a8
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x14]
call fcn.0040366c
jne 0x4159de
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebp - 0xc]
call fcn.0040a07c
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebp - 0xc]
call fcn.00409cc4
mov eax, dword [ebx + 0xf0]
mov edx, dword [ebp - 0xc]
call fcn.0040a07c
mov eax, dword [ebx + 0xf4]
mov edx, dword [ebp - 0xc]
call fcn.0040a07c
jmp 0x4159e4
inc dword [ebp - 0xc]
dec edi
jne 0x415983
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x4158a7
dec esi
cmp esi, 0xffffffff
jne 0x415849
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00413a58
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x415a37
lea eax, [ebp - 0x98]
mov edx, 0x16
call fcn.004033c0
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004033c0
ret