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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x13
push 0
push 0
dec ecx
jne 0x4141a4
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x41539e
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004045b8
test eax, eax
jle 0x4141e0
lea eax, [ebp - 0x40]
call fcn.00406630
mov edx, dword [ebp - 0x34]
inc edx
mov eax, dword [ebx + 0x18]
call fcn.0040907c
jmp 0x414206
mov eax, dword [ebx + 0x18]
call fcn.004090c8
push eax
lea eax, [ebp - 0x40]
call fcn.00406630
mov edx, dword [ebp - 0x34]
pop eax
sub edx, eax
sar edx, 1
jns 0x4141fe
adc edx, 0
mov eax, dword [ebx + 0x18]
call fcn.0040907c
mov eax, dword [ebx + 0x18]
mov edx, 0x4153b4
call fcn.00408c98
push 0
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x28]
push eax
call fcn.00403b80
mov esi, eax
push 0x4153c4
push 0
push 0x800
push esi
call fcn.00403a98
mov eax, dword [ebx + 0x104]
sub eax, 0x404
je 0x41426f
sub eax, 0x400
jne 0x414295
push 0x4153c8
push 0x402
push 0
push esi
call fcn.00403a98
push 0x4153d8
push 0x401
push 8
push esi
call fcn.00403a98
jmp 0x4142b9
push 0x4153e4
push 0x402
push 0
push esi
call fcn.00403a98
push 0x4153f0
push 0x401
push 8
push esi
call fcn.00403a98
jmp 0x4142b9
push 0x4153fc
push 0x402
push 0
push esi
call fcn.00403a98
push 0x415414
push 0x401
push 8
push esi
call fcn.00403a98
lea eax, [ebp - 0x44]
call fcn.00404658
mov edx, dword [ebp - 0x44]
mov eax, dword [ebx + 0xa8]
add eax, 0x21
call fcn.0040304c
call fcn.00405418
mov dword [ebx + 0xdc], eax
call fcn.00405418
mov dword [ebx + 0xe4], eax
call fcn.00405418
mov dword [ebx + 0xe8], eax
call fcn.00405418
mov dword [ebx + 0xec], eax
call fcn.00405418
mov dword [ebx + 0xe0], eax
push 0x9a
mov eax, dword [ebx + 0x54]
mov ecx, 0x101d
xor edx, edx
call fcn.00409de8
push 0x9b
mov eax, dword [ebx + 0x54]
mov ecx, 0x101d
mov edx, 1
call fcn.00409de8
lea eax, [ebx + 0x480]
mov edx, 0x415428
call fcn.0040304c
lea eax, [ebx + 0x484]
mov edx, 0x41543c
call fcn.0040304c
lea eax, [ebx + 0x488]
mov edx, 0x415448
call fcn.0040304c
lea eax, [ebx + 0x48c]
mov edx, 0x415454
call fcn.0040304c
lea eax, [ebx + 0x490]
mov edx, 0x415464
call fcn.0040304c
lea eax, [ebx + 0x494]
mov edx, 0x415478
call fcn.0040304c
mov eax, dword [ebx + 0x104]
cmp eax, 0x404
jne 0x41466c
mov dword [ebp - 0x30], 1
mov eax, 0x415480
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 0
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc0
mov eax, 0x415488
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc0
mov eax, 0x415490
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 2
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc0
lea eax, [ebx + 0x480]
mov edx, 0x4154a0
call fcn.0040304c
lea eax, [ebx + 0x484]
mov edx, 0x4154b4
call fcn.0040304c
lea eax, [ebx + 0x488]
mov edx, 0x4154c0
call fcn.0040304c
lea eax, [ebx + 0x48c]
mov edx, 0x4154cc
call fcn.0040304c
lea eax, [ebx + 0x490]
mov edx, 0x4154dc
call fcn.0040304c
lea eax, [ebx + 0x494]
mov edx, 0x4154f0
call fcn.0040304c
mov eax, dword [ebx + 0x18]
mov edx, 0x415500
call fcn.00408c98
mov eax, dword [ebx + 0x18]
call fcn.00409258
xor edx, edx
call fcn.00404184
mov eax, dword [ebx + 0x68]
mov edx, 0x415518
call fcn.00408c98
mov eax, dword [ebx + 0x88]
mov edx, 0x41552c
call fcn.00408c98
mov eax, dword [ebx + 0xac]
mov edx, 0x415544
call fcn.00408c98
mov eax, dword [ebx + 0xc8]
mov edx, 0x415558
call fcn.00408c98
mov eax, dword [ebx + 0x94]
mov edx, 0x415570
call fcn.00408c98
mov eax, dword [ebx + 0x98]
mov edx, 0x415580
call fcn.00408c98
mov eax, dword [ebx + 0x8c]
call fcn.00405b7c
mov eax, dword [ebx + 0x8c]
mov edx, 0x415594
call fcn.00409624
mov eax, dword [ebx + 0x8c]
mov edx, 0x4155ac
call fcn.00409624
mov eax, dword [ebx + 0x8c]
mov edx, 0x4155c4
call fcn.00409624
mov eax, dword [ebx + 0x6c]
mov edx, 0x4155dc
call fcn.00408c98
mov eax, dword [ebx + 0x70]
mov edx, 0x4155f4
call fcn.00408c98
mov eax, dword [ebx + 0x40]
mov edx, 0x41560c
call fcn.00408c98
mov eax, dword [ebx + 0x44]
mov edx, 0x41561c
call fcn.00408c98
mov eax, dword [ebx + 0x24]
mov edx, 0x41562c
call fcn.00408c98
mov eax, dword [ebx + 0x28]
mov edx, 0x41563c
call fcn.00408c98
mov eax, dword [ebx + 0x2c]
mov edx, 0x41564c
call fcn.00408c98
mov eax, dword [ebx + 0x38]
mov edx, 0x41565c
call fcn.00408c98
mov eax, dword [ebx + 0x50]
mov edx, 0x41566c
call fcn.00408c98
mov eax, dword [ebx + 0x48]
mov edx, 0x41567c
call fcn.00408c98
mov eax, dword [ebx + 0x4c]
mov edx, 0x41568c
call fcn.00408c98
lea edx, [ebp - 0x48]
mov eax, dword [ebx + 0x48]
call fcn.00405074
mov edx, dword [ebp - 0x48]
mov eax, dword [ebx + 0x90]
call fcn.00408c98
mov eax, dword [ebx + 0x54]
mov ecx, 0x41569c
xor edx, edx
call fcn.00405928
mov eax, dword [ebx + 0x54]
mov ecx, 0x41567c
mov edx, 1
call fcn.00405928
mov eax, dword [ebx + 0xc4]
mov edx, 0x4156ac
call fcn.00408c98
mov eax, dword [ebx + 0xcc]
mov edx, 0x41562c
call fcn.00408c98
mov eax, dword [ebx + 0x30]
mov edx, 0x4156bc
call fcn.00408c98
mov eax, dword [ebx + 0x78]
mov edx, 0x4156cc
call fcn.00408c98
mov eax, dword [ebx + 0x80]
mov edx, 0x4156e4
call fcn.00408c98
mov eax, dword [ebx + 0xa0]
mov edx, 0x4156fc
call fcn.00408c98
mov eax, dword [ebx + 0xb0]
mov edx, 0x415714
call fcn.00408c98
mov eax, dword [ebx + 0xb4]
mov edx, 0x41572c
call fcn.00408c98
mov eax, dword [ebx + 0xd4]
mov edx, 0x415740
call fcn.00408c98
jmp 0x414939
cmp eax, 0x804
je 0x414939
mov dword [ebp - 0x30], 1
mov eax, 0x41574c
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 0
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc0
mov eax, 0x415754
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc0
mov eax, 0x41575c
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x30]
push eax
push 2
push 0x1306
mov eax, dword [ebx + 0x58]
push eax
call fcn.00409dc0
lea eax, [ebx + 0x480]
mov edx, 0x415770
call fcn.0040304c
lea eax, [ebx + 0x484]
mov edx, 0x41578c
call fcn.0040304c
lea eax, [ebx + 0x488]
mov edx, 0x41579c
call fcn.0040304c
lea eax, [ebx + 0x48c]
mov edx, 0x4157ac
call fcn.0040304c
lea eax, [ebx + 0x490]
mov edx, 0x4157c0
call fcn.0040304c
lea eax, [ebx + 0x494]
mov edx, 0x4157e0
call fcn.0040304c
mov eax, dword [ebx + 0x18]
mov edx, 0x4157ec
call fcn.00408c98
mov eax, dword [ebx + 0x18]
call fcn.00409258
xor edx, edx
call fcn.00404184
mov eax, dword [ebx + 0x68]
mov edx, 0x415800
call fcn.00408c98
mov eax, dword [ebx + 0x88]
mov edx, 0x415814
call fcn.00408c98
mov eax, dword [ebx + 0xac]
mov edx, 0x415834
call fcn.00408c98
mov eax, dword [ebx + 0xc8]
mov edx, 0x415848
call fcn.00408c98
mov eax, dword [ebx + 0x94]
mov edx, 0x415868
call fcn.00408c98
mov eax, dword [ebx + 0x98]
mov edx, 0x415878
call fcn.00408c98
mov eax, dword [ebx + 0x8c]
call fcn.00405b7c
mov eax, dword [ebx + 0x8c]
mov edx, 0x415894
call fcn.00409624
mov eax, dword [ebx + 0x8c]
mov edx, 0x4158b0
call fcn.00409624
mov eax, dword [ebx + 0x8c]
mov edx, 0x4158c8
call fcn.00409624
mov eax, dword [ebx + 0x6c]
mov edx, 0x4158e0
call fcn.00408c98
mov eax, dword [ebx + 0x70]
mov edx, 0x4158f8
call fcn.00408c98
mov eax, dword [ebx + 0x40]
mov edx, 0x415910
call fcn.00408c98
mov eax, dword [ebx + 0x44]
mov edx, 0x41591c
call fcn.00408c98
mov eax, dword [ebx + 0x24]
mov edx, 0x41592c
call fcn.00408c98
mov eax, dword [ebx + 0x28]
mov edx, 0x41593c
call fcn.00408c98
mov eax, dword [ebx + 0x2c]
mov edx, 0x41594c
call fcn.00408c98
mov eax, dword [ebx + 0x38]
mov edx, 0x415958
call fcn.00408c98
mov eax, dword [ebx + 0x50]
mov edx, 0x415968
call fcn.00408c98
mov eax, dword [ebx + 0x48]
mov edx, 0x41597c
call fcn.00408c98
mov eax, dword [ebx + 0x4c]
mov edx, 0x41598c
call fcn.00408c98
lea edx, [ebp - 0x4c]
mov eax, dword [ebx + 0x48]
call fcn.00405074
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x90]
call fcn.00408c98
mov eax, dword [ebx + 0x54]
mov ecx, 0x4159a0
xor edx, edx
call fcn.00405928
mov eax, dword [ebx + 0x54]
mov ecx, 0x4159b0
mov edx, 1
call fcn.00405928
mov eax, dword [ebx + 0xc4]
mov edx, 0x4159c0
call fcn.00408c98
mov eax, dword [ebx + 0xcc]
mov edx, 0x4159d0
call fcn.00408c98
mov eax, dword [ebx + 0x30]
mov edx, 0x4159e0
call fcn.00408c98
mov eax, dword [ebx + 0x78]
mov edx, 0x4159f0
call fcn.00408c98
mov eax, dword [ebx + 0x80]
mov edx, 0x415a10
call fcn.00408c98
mov eax, dword [ebx + 0xa0]
mov edx, 0x415a30
call fcn.00408c98
mov eax, dword [ebx + 0xb0]
mov edx, 0x415a44
call fcn.00408c98
mov eax, dword [ebx + 0xb4]
mov edx, 0x415a5c
call fcn.00408c98
mov eax, dword [ebx + 0xd4]
mov edx, 0x415a70
call fcn.00408c98
lea edx, [ebp - 0x50]
mov eax, dword [ebx + 0x18]
call fcn.00405074
mov edx, dword [ebp - 0x50]
mov eax, dword [0x41b528]
mov eax, dword [eax]
call fcn.00408c98
lea edx, [ebp - 0x54]
mov eax, dword [ebx + 0x18]
call fcn.00405074
lea eax, [ebp - 0x54]
mov edx, 0x415a88
call fcn.00403184
mov edx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x18]
call fcn.00408c98
xor esi, esi
lea edi, [ebx + 0x190]
lea edx, [ebp - 0x58]
mov eax, esi
call fcn.00407734
mov edx, dword [ebp - 0x58]
mov eax, edi
call fcn.0040304c
lea edx, [ebp - 0x5c]
lea eax, [esi + 0x1e]
call fcn.00407734
mov edx, dword [ebp - 0x5c]
lea eax, [edi + 4]
call fcn.0040304c
inc esi
add edi, 8
cmp esi, 0xa
jne 0x41497e
lea eax, [ebx + 0x1e0]
mov edx, 0x415a98
call fcn.0040304c
lea eax, [ebx + 0x1e4]
mov edx, 0x415aa8
call fcn.0040304c
mov esi, 1
lea edx, [ebp - 0x60]
mov eax, esi
call fcn.00407734
mov ecx, dword [ebp - 0x60]
lea edi, [esi + 0xb]
lea eax, [ebx + edi*8 + 0x188]
mov edx, 0x415ab4
call fcn.004031c8
lea ecx, [ebp - 0x64]
lea eax, [esi + 0x6f]
mov edx, 2
call fcn.004076c8
mov edx, dword [ebp - 0x64]
lea eax, [ebx + edi*8 + 0x18c]
call fcn.0040304c
inc esi
cmp esi, 0xd
jne 0x4149d6
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.004076c8
mov edx, dword [ebp - 0x68]
lea eax, [esi + 0x17]
lea eax, [ebx + eax*8 + 0x18c]
call fcn.0040304c
inc esi
cmp esi, 0x1b
jne 0x414a21
lea eax, [ebx + 0x318]
mov edx, 0x415ac0
call fcn.0040304c
lea eax, [ebx + 0x31c]
mov edx, 0x415acc
call fcn.0040304c
lea eax, [ebx + 0x320]
mov edx, 0x415ad8
call fcn.0040304c
lea eax, [ebx + 0x324]
mov edx, 0x415ae4
call fcn.0040304c
lea eax, [ebx + 0x328]
mov edx, 0x415af0
call fcn.0040304c
lea eax, [ebx + 0x32c]
mov edx, 0x415afc
call fcn.0040304c
lea eax, [ebx + 0x330]
mov edx, 0x415b08
call fcn.0040304c
lea eax, [ebx + 0x334]
mov edx, 0x415b14
call fcn.0040304c
lea eax, [ebx + 0x338]
mov edx, 0x415b20
call fcn.0040304c
lea eax, [ebx + 0x33c]
mov edx, 0x415b2c
call fcn.0040304c
lea eax, [ebx + 0x340]
mov edx, 0x415b38
call fcn.0040304c
lea eax, [ebx + 0x344]
mov edx, 0x415b44
call fcn.0040304c
lea eax, [ebx + 0x348]
mov edx, 0x415b50
call fcn.0040304c
lea eax, [ebx + 0x34c]
mov edx, 0x415b5c
call fcn.0040304c
lea eax, [ebx + 0x350]
mov edx, 0x415b68
call fcn.0040304c
lea eax, [ebx + 0x354]
mov edx, 0x415b74
call fcn.0040304c
lea eax, [ebx + 0x358]
mov edx, 0x415b80
call fcn.0040304c
lea eax, [ebx + 0x35c]
mov edx, 0x415b8c
call fcn.0040304c
lea eax, [ebx + 0x360]
mov edx, 0x415b98
call fcn.0040304c
lea eax, [ebx + 0x364]
mov edx, 0x415ba4
call fcn.0040304c
lea eax, [ebx + 0x368]
mov edx, 0x415bb0
call fcn.0040304c
lea eax, [ebx + 0x36c]
mov edx, 0x415bbc
call fcn.0040304c
lea eax, [ebx + 0x370]
mov edx, 0x415bc8
call fcn.0040304c
lea eax, [ebx + 0x374]
mov edx, 0x415bdc
call fcn.0040304c
lea eax, [ebx + 0x378]
mov edx, 0x415be8
call fcn.0040304c
lea eax, [ebx + 0x37c]
mov edx, 0x415bf4
call fcn.0040304c
lea eax, [ebx + 0x380]
mov edx, 0x415c00
call fcn.0040304c
lea eax, [ebx + 0x384]
mov edx, 0x415c10
call fcn.0040304c
lea eax, [ebx + 0x388]
mov edx, 0x415c1c
call fcn.0040304c
lea eax, [ebx + 0x38c]
mov edx, 0x415c2c
call fcn.0040304c
lea eax, [ebx + 0x390]
mov edx, 0x415c38
call fcn.0040304c
lea eax, [ebx + 0x394]
mov edx, 0x415c4c
call fcn.0040304c
lea eax, [ebx + 0x398]
mov edx, 0x415c58
call fcn.0040304c
lea eax, [ebx + 0x39c]
mov edx, 0x415c64
call fcn.0040304c
lea eax, [ebx + 0x3a0]
mov edx, 0x415c70
call fcn.0040304c
lea eax, [ebx + 0x3a4]
mov edx, 0x415c80
call fcn.0040304c
lea eax, [ebx + 0x3a8]
mov edx, 0x415c8c
call fcn.0040304c
lea eax, [ebx + 0x3ac]
mov edx, 0x415c9c
call fcn.0040304c
lea eax, [ebx + 0x3b0]
mov edx, 0x415ca8
call fcn.0040304c
lea eax, [ebx + 0x3b4]
mov edx, 0x415cb4
call fcn.0040304c
lea eax, [ebx + 0x3b8]
mov edx, 0x415cc0
call fcn.0040304c
lea eax, [ebx + 0x3bc]
mov edx, 0x415cd0
call fcn.0040304c
lea eax, [ebx + 0x3c0]
mov edx, 0x415cdc
call fcn.0040304c
lea eax, [ebx + 0x3c4]
mov edx, 0x415cec
call fcn.0040304c
lea eax, [ebx + 0x3c8]
mov edx, 0x415cf8
call fcn.0040304c
lea eax, [ebx + 0x3cc]
mov edx, 0x415d04
call fcn.0040304c
lea eax, [ebx + 0x3d0]
mov edx, 0x415d10
call fcn.0040304c
lea eax, [ebx + 0x3d4]
mov edx, 0x415d1c
call fcn.0040304c
lea eax, [ebx + 0x3d8]
mov edx, 0x415d28
call fcn.0040304c
lea eax, [ebx + 0x3dc]
mov edx, 0x415d3c
call fcn.0040304c
lea eax, [ebx + 0x3e0]
mov edx, 0x415d48
call fcn.0040304c
lea eax, [ebx + 0x3e4]
mov edx, 0x415d60
call fcn.0040304c
lea eax, [ebx + 0x3e8]
mov edx, 0x415d6c
call fcn.0040304c
lea eax, [ebx + 0x3ec]
mov edx, 0x415d7c
call fcn.0040304c
xor esi, esi
lea edx, [ebp - 0x6c]
mov eax, esi
call fcn.00407734
mov ecx, dword [ebp - 0x6c]
lea edi, [esi + 0x4d]
lea eax, [ebx + edi*8 + 0x188]
mov edx, 0x415d88
call fcn.004031c8
lea edx, [ebp - 0x70]
lea eax, [esi + 0x3c]
call fcn.00407734
mov edx, dword [ebp - 0x70]
lea eax, [ebx + edi*8 + 0x18c]
call fcn.0040304c
inc esi
cmp esi, 0xa
jne 0x414dbe
lea eax, [ebx + 0x440]
mov edx, 0x415d98
call fcn.0040304c
lea eax, [ebx + 0x444]
mov edx, 0x415dac
call fcn.0040304c
lea eax, [ebx + 0x448]
mov edx, 0x415db8
call fcn.0040304c
lea eax, [ebx + 0x44c]
mov edx, 0x415dcc
call fcn.0040304c
lea eax, [ebx + 0x450]
mov edx, 0x415dd8
call fcn.0040304c
lea eax, [ebx + 0x454]
mov edx, 0x415dec
call fcn.0040304c
lea eax, [ebx + 0x458]
mov edx, 0x415df8
call fcn.0040304c
lea eax, [ebx + 0x45c]
mov edx, 0x415e0c
call fcn.0040304c
lea eax, [ebx + 0x460]
mov edx, 0x415e18
call fcn.0040304c
lea eax, [ebx + 0x464]
mov edx, 0x415e2c
call fcn.0040304c
mov eax, dword [ebx + 0xd4]
call fcn.00409258
mov ecx, 0xfffffff4
mov edx, 4
call fcn.00407338
mov ax, word [0x415e30]
call fcn.0040682c
test al, al
jne 0x414f08
mov ax, word [0x415e34]
call fcn.0040682c
test al, al
jne 0x414f08
mov ax, word [0x415e38]
call fcn.0040682c
test al, al
jne 0x414f08
mov ax, word [0x415e3c]
call fcn.0040682c
test al, al
jne 0x414f08
mov ax, word [0x415e40]
call fcn.0040682c
test al, al
je 0x415187
mov eax, dword [ebx + 0x18]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0x18]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x414f53
inc edi
xor esi, esi
mov eax, dword [ebx + 0x18]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x414f31
mov eax, dword [ebx + 0x58]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x414f87
inc edi
xor esi, esi
mov eax, dword [ebx + 0x58]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x414f65
mov eax, dword [ebx + 0xd4]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0x68]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0x68]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x414fec
inc edi
xor esi, esi
mov eax, dword [ebx + 0x68]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x414fca
mov eax, dword [ebx + 0x88]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0x88]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x415040
inc edi
xor esi, esi
mov eax, dword [ebx + 0x88]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x41501b
mov eax, dword [ebx + 0xac]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0xac]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x415094
inc edi
xor esi, esi
mov eax, dword [ebx + 0xac]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x41506f
mov eax, dword [ebx + 0xc8]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0xc8]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x4150e8
inc edi
xor esi, esi
mov eax, dword [ebx + 0xc8]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x4150c3
mov eax, dword [ebx + 0x74]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0x74]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x415133
inc edi
xor esi, esi
mov eax, dword [ebx + 0x74]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x415111
mov eax, dword [ebx + 0x94]
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
mov eax, dword [ebx + 0x94]
call fcn.00409de0
mov edi, eax
dec edi
test edi, edi
jl 0x415187
inc edi
xor esi, esi
mov eax, dword [ebx + 0x94]
mov edx, esi
call fcn.00405124
call fcn.00409258
mov ecx, 0xfffffff5
mov edx, 4
call fcn.00407338
inc esi
dec edi
jne 0x415162
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.0040dad4
call fcn.004045b8
test eax, eax
jle 0x4151a4
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.004187c0
mov eax, dword [ebx + 0xdc]
mov esi, dword [eax + 0x1c]
dec esi
cmp esi, 0
jl 0x415369
lea ecx, [ebp - 0x7c]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.00409a64
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
mov edx, 0x415e4c
call fcn.004031c8
mov edx, dword [ebp - 0x78]
mov eax, 0x80000002
call fcn.004046d0
lea ecx, [ebp - 0x74]
mov edx, 0x415e88
call fcn.00404800
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x10]
call fcn.00407820
cmp dword [ebp - 0x10], 0
je 0x41535f
mov eax, esi
dec eax
cmp eax, 0
jl 0x41535f
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x8c]
mov eax, dword [ebx + 0xdc]
mov edx, dword [ebp - 8]
call fcn.00409a64
mov ecx, dword [ebp - 0x8c]
lea eax, [ebp - 0x88]
mov edx, 0x415e4c
call fcn.004031c8
mov edx, dword [ebp - 0x88]
mov eax, 0x80000002
call fcn.004046d0
lea ecx, [ebp - 0x84]
mov edx, 0x415e88
call fcn.00404800
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.00407820
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x10]
call fcn.004032c8
jne 0x415352
lea ecx, [ebp - 0x94]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.00409a64
mov ecx, dword [ebp - 0x94]
lea eax, [ebp - 0x90]
mov edx, 0x415e4c
call fcn.004031c8
mov edx, dword [ebp - 0x90]
mov eax, 0x80000002
call fcn.004048e8
mov eax, dword [ebx + 0x54]
mov edx, esi
call fcn.00406d9c
lea ecx, [ebp - 0x14]
mov eax, dword [ebx + 0xdc]
mov edx, esi
call fcn.00409a64
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.0040fe80
mov eax, dword [ebx + 0xe0]
mov edi, dword [eax + 0x1c]
dec edi
test edi, edi
jl 0x415352
inc edi
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0x98]
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebp - 0xc]
call fcn.00409a64
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x14]
call fcn.004032c8
jne 0x41534c
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebp - 0xc]
call fcn.00409a38
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebp - 0xc]
call fcn.00409680
mov eax, dword [ebx + 0xf0]
mov edx, dword [ebp - 0xc]
call fcn.00409a38
mov eax, dword [ebx + 0xf4]
mov edx, dword [ebp - 0xc]
call fcn.00409a38
jmp 0x415352
inc dword [ebp - 0xc]
dec edi
jne 0x4152f1
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x415215
dec esi
cmp esi, 0xffffffff
jne 0x4151b7
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.004133f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4153a5
lea eax, [ebp - 0x98]
mov edx, 0x16
call fcn.0040301c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0040301c
ret