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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x13
push 0
push 0
dec ecx
jne 0x41461c
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x415865
push dword fs:[eax]
mov dword fs:[eax], esp
mov ax, word [0x415874]
call fcn.00406834
test al, al
jne 0x414653
mov eax, ebx
call fcn.0040dbd0
test al, al
je 0x41467d
mov eax, dword [ebx + 0x7c]
mov edx, 0x415880
call fcn.0040962c
mov eax, dword [ebx + 0x84]
mov edx, 0x415880
call fcn.0040962c
mov eax, dword [ebx + 0xc4]
xor edx, edx
call fcn.0040860c
call fcn.004045c0
test eax, eax
jle 0x41469c
lea eax, [ebp - 0x40]
call fcn.00406638
mov edx, dword [ebp - 0x34]
inc edx
mov eax, dword [ebx + 0x18]
call fcn.00409084
jmp 0x4146c2
mov eax, dword [ebx + 0x18]
call fcn.004090d0
push eax
lea eax, [ebp - 0x40]
call fcn.00406638
mov edx, dword [ebp - 0x34]
pop eax
sub edx, eax
sar edx, 1
jns 0x4146ba
adc edx, 0
mov eax, dword [ebx + 0x18]
call fcn.00409084
mov eax, dword [ebx + 0x18]
mov edx, 0x41588c
call fcn.00408ca0
push 0
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x28]
push eax
call sub.user32.dll_GetSystemMenu
mov esi, eax
push 0x415874
push 0
push 0x800
push esi
call sub.user32.dll_AppendMenuA
mov eax, dword [ebx + 0x104]
sub eax, 0x404
je 0x41472b
sub eax, 0x400
jne 0x414751
push 0x41589c
push 0x402
push 0
push esi
call sub.user32.dll_AppendMenuA
push 0x4158ac
push 0x401
push 8
push esi
call sub.user32.dll_AppendMenuA
jmp 0x414775
push 0x4158b8
push 0x402
push 0
push esi
call sub.user32.dll_AppendMenuA
push 0x4158c4
push 0x401
push 8
push esi
call sub.user32.dll_AppendMenuA
jmp 0x414775
push 0x4158d0
push 0x402
push 0
push esi
call sub.user32.dll_AppendMenuA
push 0x4158e8
push 0x401
push 8
push esi
call sub.user32.dll_AppendMenuA
lea eax, [ebp - 0x44]
call fcn.00404660
mov edx, dword [ebp - 0x44]
mov eax, dword [ebx + 0xa8]
add eax, 0x21
call fcn.0040304c
call fcn.00405420
mov dword [ebx + 0xdc], eax
call fcn.00405420
mov dword [ebx + 0xe4], eax
call fcn.00405420
mov dword [ebx + 0xe8], eax
call fcn.00405420
mov dword [ebx + 0xec], eax
call fcn.00405420
mov dword [ebx + 0xe0], eax
push 0x9a
mov eax, dword [ebx + 0x54]
mov ecx, 0x101d
xor edx, edx
call fcn.00409df0
push 0x9b
mov eax, dword [ebx + 0x54]
mov ecx, 0x101d
mov edx, 1
call fcn.00409df0
lea eax, [ebx + 0x480]
mov edx, 0x4158fc
call fcn.0040304c
lea eax, [ebx + 0x484]
mov edx, 0x415910
call fcn.0040304c
lea eax, [ebx + 0x488]
mov edx, 0x41591c
call fcn.0040304c
lea eax, [ebx + 0x48c]
mov edx, 0x415928
call fcn.0040304c
lea eax, [ebx + 0x490]
mov edx, 0x415938
call fcn.0040304c
lea eax, [ebx + 0x494]
mov edx, 0x41594c
call fcn.0040304c
mov eax, dword [ebx + 0x104]
cmp eax, 0x404
jne 0x414b28
mov dword [ebp - 0x30], 1
mov eax, 0x415954
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 0
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc8
mov eax, 0x41595c
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc8
mov eax, 0x415964
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 2
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc8
lea eax, [ebx + 0x480]
mov edx, 0x415974
call fcn.0040304c
lea eax, [ebx + 0x484]
mov edx, 0x415988
call fcn.0040304c
lea eax, [ebx + 0x488]
mov edx, 0x415994
call fcn.0040304c
lea eax, [ebx + 0x48c]
mov edx, 0x4159a0
call fcn.0040304c
lea eax, [ebx + 0x490]
mov edx, 0x4159b0
call fcn.0040304c
lea eax, [ebx + 0x494]
mov edx, 0x4159c4
call fcn.0040304c
mov eax, dword [ebx + 0x18]
mov edx, 0x4159d4
call fcn.00408ca0
mov eax, dword [ebx + 0x18]
call fcn.00409260
xor edx, edx
call fcn.0040418c
mov eax, dword [ebx + 0x68]
mov edx, 0x4159ec
call fcn.00408ca0
mov eax, dword [ebx + 0x88]
mov edx, 0x415a00
call fcn.00408ca0
mov eax, dword [ebx + 0xac]
mov edx, 0x415a18
call fcn.00408ca0
mov eax, dword [ebx + 0xc8]
mov edx, 0x415a2c
call fcn.00408ca0
mov eax, dword [ebx + 0x94]
mov edx, 0x415a44
call fcn.00408ca0
mov eax, dword [ebx + 0x98]
mov edx, 0x415a54
call fcn.00408ca0
mov eax, dword [ebx + 0x8c]
call fcn.00405b84
mov eax, dword [ebx + 0x8c]
mov edx, 0x415a68
call fcn.0040962c
mov eax, dword [ebx + 0x8c]
mov edx, 0x415a80
call fcn.0040962c
mov eax, dword [ebx + 0x8c]
mov edx, 0x415a98
call fcn.0040962c
mov eax, dword [ebx + 0x6c]
mov edx, 0x415ab0
call fcn.00408ca0
mov eax, dword [ebx + 0x70]
mov edx, 0x415ac8
call fcn.00408ca0
mov eax, dword [ebx + 0x40]
mov edx, 0x415ae0
call fcn.00408ca0
mov eax, dword [ebx + 0x44]
mov edx, 0x415af0
call fcn.00408ca0
mov eax, dword [ebx + 0x24]
mov edx, 0x415b00
call fcn.00408ca0
mov eax, dword [ebx + 0x28]
mov edx, 0x415b10
call fcn.00408ca0
mov eax, dword [ebx + 0x2c]
mov edx, 0x415b20
call fcn.00408ca0
mov eax, dword [ebx + 0x38]
mov edx, 0x415b30
call fcn.00408ca0
mov eax, dword [ebx + 0x50]
mov edx, 0x415b40
call fcn.00408ca0
mov eax, dword [ebx + 0x48]
mov edx, 0x415b50
call fcn.00408ca0
mov eax, dword [ebx + 0x4c]
mov edx, 0x415b60
call fcn.00408ca0
lea edx, [ebp - 0x48]
mov eax, dword [ebx + 0x48]
call fcn.0040507c
mov edx, dword [ebp - 0x48]
mov eax, dword [ebx + 0x90]
call fcn.00408ca0
mov eax, dword [ebx + 0x54]
mov ecx, 0x415b70
xor edx, edx
call fcn.00405930
mov eax, dword [ebx + 0x54]
mov ecx, 0x415b50
mov edx, 1
call fcn.00405930
mov eax, dword [ebx + 0xc4]
mov edx, 0x415b80
call fcn.00408ca0
mov eax, dword [ebx + 0xcc]
mov edx, 0x415b00
call fcn.00408ca0
mov eax, dword [ebx + 0x30]
mov edx, 0x415b90
call fcn.00408ca0
mov eax, dword [ebx + 0x78]
mov edx, 0x415ba0
call fcn.00408ca0
mov eax, dword [ebx + 0x80]
mov edx, 0x415bb8
call fcn.00408ca0
mov eax, dword [ebx + 0xa0]
mov edx, 0x415bd0
call fcn.00408ca0
mov eax, dword [ebx + 0xb0]
mov edx, 0x415be8
call fcn.00408ca0
mov eax, dword [ebx + 0xb4]
mov edx, 0x415c00
call fcn.00408ca0
mov eax, dword [ebx + 0xd4]
mov edx, 0x415c14
call fcn.00408ca0
jmp 0x414df5
cmp eax, 0x804
je 0x414df5
mov dword [ebp - 0x30], 1
mov eax, 0x415c20
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 0
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc8
mov eax, 0x415c28
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc8
mov eax, 0x415c30
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 2
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc8
lea eax, [ebx + 0x480]
mov edx, 0x415c44
call fcn.0040304c
lea eax, [ebx + 0x484]
mov edx, 0x415c60
call fcn.0040304c
lea eax, [ebx + 0x488]
mov edx, 0x415c70
call fcn.0040304c
lea eax, [ebx + 0x48c]
mov edx, 0x415c80
call fcn.0040304c
lea eax, [ebx + 0x490]
mov edx, 0x415c94
call fcn.0040304c
lea eax, [ebx + 0x494]
mov edx, 0x415cb4
call fcn.0040304c
mov eax, dword [ebx + 0x18]
mov edx, 0x415cc0
call fcn.00408ca0
mov eax, dword [ebx + 0x18]
call fcn.00409260
xor edx, edx
call fcn.0040418c
mov eax, dword [ebx + 0x68]
mov edx, 0x415cd4
call fcn.00408ca0
mov eax, dword [ebx + 0x88]
mov edx, 0x415ce8
call fcn.00408ca0
mov eax, dword [ebx + 0xac]
mov edx, 0x415d08
call fcn.00408ca0
mov eax, dword [ebx + 0xc8]
mov edx, 0x415d1c
call fcn.00408ca0
mov eax, dword [ebx + 0x94]
mov edx, 0x415d3c
call fcn.00408ca0
mov eax, dword [ebx + 0x98]
mov edx, 0x415d4c
call fcn.00408ca0
mov eax, dword [ebx + 0x8c]
call fcn.00405b84
mov eax, dword [ebx + 0x8c]
mov edx, 0x415d68
call fcn.0040962c
mov eax, dword [ebx + 0x8c]
mov edx, 0x415d84
call fcn.0040962c
mov eax, dword [ebx + 0x8c]
mov edx, 0x415d9c
call fcn.0040962c
mov eax, dword [ebx + 0x6c]
mov edx, 0x415db4
call fcn.00408ca0
mov eax, dword [ebx + 0x70]
mov edx, 0x415dcc
call fcn.00408ca0
mov eax, dword [ebx + 0x40]
mov edx, 0x415de4
call fcn.00408ca0
mov eax, dword [ebx + 0x44]
mov edx, 0x415df0
call fcn.00408ca0
mov eax, dword [ebx + 0x24]
mov edx, 0x415e00
call fcn.00408ca0
mov eax, dword [ebx + 0x28]
mov edx, 0x415e10
call fcn.00408ca0
mov eax, dword [ebx + 0x2c]
mov edx, 0x415e20
call fcn.00408ca0
mov eax, dword [ebx + 0x38]
mov edx, 0x415e2c
call fcn.00408ca0
mov eax, dword [ebx + 0x50]
mov edx, 0x415e3c
call fcn.00408ca0
mov eax, dword [ebx + 0x48]
mov edx, 0x415e50
call fcn.00408ca0
mov eax, dword [ebx + 0x4c]
mov edx, 0x415e60
call fcn.00408ca0
lea edx, [ebp - 0x4c]
mov eax, dword [ebx + 0x48]
call fcn.0040507c
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x90]
call fcn.00408ca0
mov eax, dword [ebx + 0x54]
mov ecx, 0x415e74
xor edx, edx
call fcn.00405930
mov eax, dword [ebx + 0x54]
mov ecx, 0x415e84
mov edx, 1
call fcn.00405930
mov eax, dword [ebx + 0xc4]
mov edx, 0x415e94
call fcn.00408ca0
mov eax, dword [ebx + 0xcc]
mov edx, 0x415ea4
call fcn.00408ca0
mov eax, dword [ebx + 0x30]
mov edx, 0x415eb4
call fcn.00408ca0
mov eax, dword [ebx + 0x78]
mov edx, 0x415ec4
call fcn.00408ca0
mov eax, dword [ebx + 0x80]
mov edx, 0x415ee4
call fcn.00408ca0
mov eax, dword [ebx + 0xa0]
mov edx, 0x415f04
call fcn.00408ca0
mov eax, dword [ebx + 0xb0]
mov edx, 0x415f18
call fcn.00408ca0
mov eax, dword [ebx + 0xb4]
mov edx, 0x415f30
call fcn.00408ca0
mov eax, dword [ebx + 0xd4]
mov edx, 0x415f44
call fcn.00408ca0
lea edx, [ebp - 0x50]
mov eax, dword [ebx + 0x18]
call fcn.0040507c
mov edx, dword [ebp - 0x50]
mov eax, dword [0x41c528]
mov eax, dword [eax]
call fcn.00408ca0
lea edx, [ebp - 0x54]
mov eax, dword [ebx + 0x18]
call fcn.0040507c
lea eax, [ebp - 0x54]
mov edx, 0x415f5c
call fcn.00403184
mov edx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x18]
call fcn.00408ca0
xor esi, esi
lea edi, [ebx + 0x190]
lea edx, [ebp - 0x58]
mov eax, esi
call fcn.0040773c
mov edx, dword [ebp - 0x58]
mov eax, edi
call fcn.0040304c
lea edx, [ebp - 0x5c]
lea eax, [esi + 0x1e]
call fcn.0040773c
mov edx, dword [ebp - 0x5c]
lea eax, [edi + 4]
call fcn.0040304c
inc esi
add edi, 8
cmp esi, 0xa
jne 0x414e3a
lea eax, [ebx + 0x1e0]
mov edx, 0x415f6c
call fcn.0040304c
lea eax, [ebx + 0x1e4]
mov edx, 0x415f7c
call fcn.0040304c
mov esi, 1
lea edx, [ebp - 0x60]
mov eax, esi
call fcn.0040773c
mov ecx, dword [ebp - 0x60]
lea edi, [esi + 0xb]
lea eax, [ebx + edi*8 + 0x188]
mov edx, 0x415f88
call fcn.004031c8
lea ecx, [ebp - 0x64]
lea eax, [esi + 0x6f]
mov edx, 2
call fcn.004076d0
mov edx, dword [ebp - 0x64]
lea eax, [ebx + edi*8 + 0x18c]
call fcn.0040304c
inc esi
cmp esi, 0xd
jne 0x414e92
mov esi, 1
lea eax, [esi + 0x17]
lea eax, [ebx + eax*8 + 0x188]
lea edi, [esi + 0x40]
mov edx, edi
call fcn.00403118
lea ecx, [ebp - 0x68]
mov eax, edi
mov edx, 2
call fcn.004076d0
mov edx, dword [ebp - 0x68]
lea eax, [esi + 0x17]
lea eax, [ebx + eax*8 + 0x18c]
call fcn.0040304c
inc esi
cmp esi, 0x1b
jne 0x414edd
lea eax, [ebx + 0x318]
mov edx, 0x415f94
call fcn.0040304c
lea eax, [ebx + 0x31c]
mov edx, 0x415fa0
call fcn.0040304c
lea eax, [ebx + 0x320]
mov edx, 0x415fac
call fcn.0040304c
lea eax, [ebx + 0x324]
mov edx, 0x415fb8
call fcn.0040304c
lea eax, [ebx + 0x328]
mov edx, 0x415fc4
call fcn.0040304c
lea eax, [ebx + 0x32c]
mov edx, 0x415fd0
call fcn.0040304c
lea eax, [ebx + 0x330]
mov edx, 0x415fdc
call fcn.0040304c
lea eax, [ebx + 0x334]
mov edx, 0x415fe8
call fcn.0040304c
lea eax, [ebx + 0x338]
mov edx, 0x415ff4
call fcn.0040304c
lea eax, [ebx + 0x33c]
mov edx, 0x416000
call fcn.0040304c
lea eax, [ebx + 0x340]
mov edx, 0x41600c
call fcn.0040304c
lea eax, [ebx + 0x344]
mov edx, 0x416018
call fcn.0040304c
lea eax, [ebx + 0x348]
mov edx, 0x415880
call fcn.0040304c
lea eax, [ebx + 0x34c]
mov edx, 0x416024
call fcn.0040304c
lea eax, [ebx + 0x350]
mov edx, 0x416030
call fcn.0040304c
lea eax, [ebx + 0x354]
mov edx, 0x41603c
call fcn.0040304c
lea eax, [ebx + 0x358]
mov edx, 0x416048
call fcn.0040304c
lea eax, [ebx + 0x35c]
mov edx, 0x416054
call fcn.0040304c
lea eax, [ebx + 0x360]
mov edx, 0x416060
call fcn.0040304c
lea eax, [ebx + 0x364]
mov edx, 0x41606c
call fcn.0040304c
lea eax, [ebx + 0x368]
mov edx, 0x416078
call fcn.0040304c
lea eax, [ebx + 0x36c]
mov edx, 0x416084
call fcn.0040304c
lea eax, [ebx + 0x370]
mov edx, 0x416090
call fcn.0040304c
lea eax, [ebx + 0x374]
mov edx, 0x4160a4
call fcn.0040304c
lea eax, [ebx + 0x378]
mov edx, 0x4160b0
call fcn.0040304c
lea eax, [ebx + 0x37c]
mov edx, 0x4160bc
call fcn.0040304c
lea eax, [ebx + 0x380]
mov edx, 0x4160c8
call fcn.0040304c
lea eax, [ebx + 0x384]
mov edx, 0x4160d8
call fcn.0040304c
lea eax, [ebx + 0x388]
mov edx, 0x4160e4
call fcn.0040304c
lea eax, [ebx + 0x38c]
mov edx, 0x4160f4
call fcn.0040304c
lea eax, [ebx + 0x390]
mov edx, 0x416100
call fcn.0040304c
lea eax, [ebx + 0x394]
mov edx, 0x416114
call fcn.0040304c
lea eax, [ebx + 0x398]
mov edx, 0x416120
call fcn.0040304c
lea eax, [ebx + 0x39c]
mov edx, 0x41612c
call fcn.0040304c
lea eax, [ebx + 0x3a0]
mov edx, 0x416138
call fcn.0040304c
lea eax, [ebx + 0x3a4]
mov edx, 0x416148
call fcn.0040304c
lea eax, [ebx + 0x3a8]
mov edx, 0x416154
call fcn.0040304c
lea eax, [ebx + 0x3ac]
mov edx, 0x416164
call fcn.0040304c
lea eax, [ebx + 0x3b0]
mov edx, 0x416170
call fcn.0040304c
lea eax, [ebx + 0x3b4]
mov edx, 0x41617c
call fcn.0040304c
lea eax, [ebx + 0x3b8]
mov edx, 0x416188
call fcn.0040304c
lea eax, [ebx + 0x3bc]
mov edx, 0x416198
call fcn.0040304c
lea eax, [ebx + 0x3c0]
mov edx, 0x4161a4
call fcn.0040304c
lea eax, [ebx + 0x3c4]
mov edx, 0x4161b4
call fcn.0040304c
lea eax, [ebx + 0x3c8]
mov edx, 0x4161c0
call fcn.0040304c
lea eax, [ebx + 0x3cc]
mov edx, 0x4161cc
call fcn.0040304c
lea eax, [ebx + 0x3d0]
mov edx, 0x4161d8
call fcn.0040304c
lea eax, [ebx + 0x3d4]
mov edx, 0x4161e4
call fcn.0040304c
lea eax, [ebx + 0x3d8]
mov edx, 0x4161f0
call fcn.0040304c
lea eax, [ebx + 0x3dc]
mov edx, 0x416204
call fcn.0040304c
lea eax, [ebx + 0x3e0]
mov edx, 0x416210
call fcn.0040304c
lea eax, [ebx + 0x3e4]
mov edx, 0x416228
call fcn.0040304c
lea eax, [ebx + 0x3e8]
mov edx, 0x416234
call fcn.0040304c
lea eax, [ebx + 0x3ec]
mov edx, 0x416244
call fcn.0040304c
xor esi, esi
lea edx, [ebp - 0x6c]
mov eax, esi
call fcn.0040773c
mov ecx, dword [ebp - 0x6c]
lea edi, [esi + 0x4d]
lea eax, [ebx + edi*8 + 0x188]
mov edx, 0x416250
call fcn.004031c8
lea edx, [ebp - 0x70]
lea eax, [esi + 0x3c]
call fcn.0040773c
mov edx, dword [ebp - 0x70]
lea eax, [ebx + edi*8 + 0x18c]
call fcn.0040304c
inc esi
cmp esi, 0xa
jne 0x41527a
lea eax, [ebx + 0x440]
mov edx, 0x416260
call fcn.0040304c
lea eax, [ebx + 0x444]
mov edx, 0x416274
call fcn.0040304c
lea eax, [ebx + 0x448]
mov edx, 0x416280
call fcn.0040304c
lea eax, [ebx + 0x44c]
mov edx, 0x416294
call fcn.0040304c
lea eax, [ebx + 0x450]
mov edx, 0x4162a0
call fcn.0040304c
lea eax, [ebx + 0x454]
mov edx, 0x4162b4
call fcn.0040304c
lea eax, [ebx + 0x458]
mov edx, 0x4162c0
call fcn.0040304c
lea eax, [ebx + 0x45c]
mov edx, 0x4162d4
call fcn.0040304c
lea eax, [ebx + 0x460]
mov edx, 0x4162e0
call fcn.0040304c
lea eax, [ebx + 0x464]
mov edx, 0x4162f4
call fcn.0040304c
mov eax, dword [ebx + 0xd4]
call fcn.00409260
mov ecx, 0xfffffff4
mov edx, 4
call fcn.00407340
mov ax, word [0x4162f8]
call fcn.00406834
test al, al
jne 0x4153cf
mov ax, word [0x4162fc]
call fcn.00406834
test al, al
jne 0x4153cf
mov ax, word [0x416300]
call fcn.00406834
test al, al
jne 0x4153cf
mov ax, word [0x416304]
call fcn.00406834
test al, al
jne 0x4153cf
mov ax, word [0x415874]
call fcn.00406834
test al, al
jne 0x4153cf
mov eax, ebx
call fcn.0040dbd0
test al, al
je 0x41564e
mov eax, dword [ebx + 0x18]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0x18]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x41541a
inc edi
xor esi, esi
mov eax, dword [ebx + 0x18]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x4153f8
mov eax, dword [ebx + 0x58]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x41544e
inc edi
xor esi, esi
mov eax, dword [ebx + 0x58]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x41542c
mov eax, dword [ebx + 0xd4]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0x68]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0x68]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x4154b3
inc edi
xor esi, esi
mov eax, dword [ebx + 0x68]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x415491
mov eax, dword [ebx + 0x88]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0x88]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x415507
inc edi
xor esi, esi
mov eax, dword [ebx + 0x88]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x4154e2
mov eax, dword [ebx + 0xac]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0xac]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x41555b
inc edi
xor esi, esi
mov eax, dword [ebx + 0xac]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x415536
mov eax, dword [ebx + 0xc8]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0xc8]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x4155af
inc edi
xor esi, esi
mov eax, dword [ebx + 0xc8]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x41558a
mov eax, dword [ebx + 0x74]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0x74]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x4155fa
inc edi
xor esi, esi
mov eax, dword [ebx + 0x74]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x4155d8
mov eax, dword [ebx + 0x94]
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
mov eax, dword [ebx + 0x94]
call fcn.00409de8
mov edi, eax
dec edi
test edi, edi
jl 0x41564e
inc edi
xor esi, esi
mov eax, dword [ebx + 0x94]
mov edx, esi
call fcn.0040512c
call fcn.00409260
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407340
inc esi
dec edi
jne 0x415629
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.0040dbf8
call fcn.004045c0
test eax, eax
jle 0x41566b
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00418c84
mov eax, dword [ebx + 0xdc]
mov esi, dword [eax + 0x1c]
dec esi
cmp esi, 0
jl 0x415830
lea ecx, [ebp - 0x7c]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.00409a6c
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov edx, 0x416310
call fcn.004031c8
mov edx, dword [ebp - 0x78]
mov eax, 0x80000002
call fcn.004046d8
lea ecx, [ebp - 0x74]
mov edx, 0x41634c
call fcn.00404808
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x10]
call fcn.00407828
cmp dword [ebp - 0x10], 0
je 0x415826
mov eax, esi
dec eax
cmp eax, 0
jl 0x415826
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x8c]
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebp - 8]
call fcn.00409a6c
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
mov edx, 0x416310
call fcn.004031c8
mov edx, dword [ebp - 0x88]
mov eax, 0x80000002
call fcn.004046d8
lea ecx, [ebp - 0x84]
mov edx, 0x41634c
call fcn.00404808
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.00407828
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
call fcn.004032c8
jne 0x415819
lea ecx, [ebp - 0x94]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.00409a6c
mov ecx, dword [ebp - 0x94]
lea eax, [ebp - 0x90]
mov edx, 0x416310
call fcn.004031c8
mov edx, dword [ebp - 0x90]
mov eax, 0x80000002
call fcn.004048f0
mov eax, dword [ebx + 0x54]
mov edx, esi
call fcn.00406da4
lea ecx, [ebp - 0x14]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.00409a6c
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00410040
mov eax, dword [ebx + 0xe0]
mov edi, dword [eax + 0x1c]
dec edi
test edi, edi
jl 0x415819
inc edi
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0x98]
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebp - 0xc]
call fcn.00409a6c
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x14]
call fcn.004032c8
jne 0x415813
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebp - 0xc]
call fcn.00409a40
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebp - 0xc]
call fcn.00409688
mov eax, dword [ebx + 0xf0]
mov edx, dword [ebp - 0xc]
call fcn.00409a40
mov eax, dword [ebx + 0xf4]
mov edx, dword [ebp - 0xc]
call fcn.00409a40
jmp 0x415819
inc dword [ebp - 0xc]
dec edi
jne 0x4157b8
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x4156dc
dec esi
cmp esi, 0xffffffff
jne 0x41567e
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00413790
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41586c
lea eax, [ebp - 0x98]
mov edx, 0x16
call fcn.0040301c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0040301c
ret