Function at 0x408f74
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1108
call fcn.0041b500
push ebx
push ebp
push esi
push edi
push 0x1078
lea eax, [esp + 0xa4]
mov esi, ecx
push 0
push eax
call fcn.0041c3f0
lea eax, [esp + 0xac]
xor edi, edi
mov dword [esp + 0x30], eax
add esp, 0xc
lea eax, [esp + 0x128]
inc edi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1b0]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x238]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c0]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x348]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x3d0]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x458]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x4e0]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x568]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x5f0]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x678]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x700]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x788]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x810]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x898]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x920]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x9a8]
mov dword [esp + 0x68], eax
lea eax, [esp + 0xa30]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0xab8]
mov dword [esp + 0x70], eax
lea eax, [esp + 0xb40]
mov dword [esp + 0x74], eax
lea eax, [esp + 0xbc8]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xc50]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xcd8]
mov dword [esp + 0x80], eax
lea eax, [esp + 0xd60]
mov dword [esp + 0x84], eax
lea eax, [esp + 0xde8]
mov dword [esp + 0x88], eax
lea eax, [esp + 0xe70]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xef8]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xf80]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x1008]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x1090]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x1120]
mov dword [esp + 0x20], eax
mov eax, dword [esi]
mov ebx, dword [esp + edi*4 + 0x20]
shl eax, 2
push eax
push dword [esp + edi*4 + 0x20]
push ebx
call fcn.0041be70
pop ecx
pop ecx
push ebx
mov ecx, esi
call fcn.00408e0e
mov ebp, dword [esi + 0x140c]
mov ecx, esi
push ebp
push ebx
call fcn.00408ef4
test ax, ax
js 0x409152
push ecx
push ebp
push ebx
mov ecx, esi
call fcn.00408f34
inc edi
cmp edi, 0x20
jl 0x409116
mov ebp, dword [esi]
mov edi, dword [esp + 0x111c]
shl ebp, 2
push ebp
push 0
push edi
mov dword [esp + 0x1c], ebp
call fcn.0041c3f0
mov ebx, dword [esp + 0x1130]
add esp, 0xc
and dword [edi], 0
mov ecx, esi
push ebx
call fcn.00408e87
movzx ecx, ax
test cx, cx
je 0x409ecd
movsx eax, cx
dec eax
lea eax, [ebx + eax*4]
mov dword [esp + 0x14], eax
dec ecx
lea edx, [edi - 4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi]
lea edx, [edx + ecx*4]
mov ebx, edx
jmp 0x4091b8
lea ebx, [ebx - 4]
mov eax, dword [ebx]
mov dword [edx], eax
sub edx, 4
sub ecx, 1
jne 0x4091ae
and dword [edx], ecx
mov ecx, dword [edi + ebp - 4]
mov eax, ecx
sub eax, dword [esi + 0x310]
test eax, eax
jg 0x4091f4
mov ebx, ecx
jne 0x409207
mov eax, dword [esi + 0x390]
cmp dword [edi + ebp - 8], eax
ja 0x4091f4
jne 0x409207
push dword [esi + 0x1488]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409207
push ecx
push dword [esi + 0x1488]
mov ecx, esi
push edi
call fcn.00408f34
mov ebx, dword [edi + ebp - 4]
mov eax, ebx
sub eax, dword [esi + 0x30c]
test eax, eax
jg 0x40924a
mov ebp, ebx
jne 0x40925d
mov ebp, dword [esp + 0x10]
mov eax, dword [esi + 0x38c]
cmp dword [edi + ebp - 8], eax
ja 0x40924a
mov ecx, dword [esp + 0x10]
mov ebp, ebx
cmp dword [ecx + edi - 8], eax
jne 0x409261
push dword [esi + 0x1484]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x40925d
mov ebp, dword [esp + 0x10]
push ecx
push dword [esi + 0x1484]
mov ecx, esi
push edi
call fcn.00408f34
mov ebp, dword [edi + ebp - 4]
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x308]
test eax, eax
jg 0x409292
mov ebx, ebp
jne 0x4092ab
mov eax, dword [esi + 0x388]
cmp dword [ecx + edi - 8], eax
ja 0x409292
jne 0x4092ab
push dword [esi + 0x1480]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4092ab
push ecx
push dword [esi + 0x1480]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x4092af
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x304]
test eax, eax
jg 0x4092e0
mov ebp, ebx
jne 0x4092f9
mov eax, dword [esi + 0x384]
cmp dword [ecx + edi - 8], eax
ja 0x4092e0
jne 0x4092f9
push dword [esi + 0x147c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4092f9
push ecx
push dword [esi + 0x147c]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x4092fd
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x300]
test eax, eax
jg 0x40932e
mov ebx, ebp
jne 0x409347
mov eax, dword [esi + 0x380]
cmp dword [ecx + edi - 8], eax
ja 0x40932e
jne 0x409347
push dword [esi + 0x1478]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409347
push ecx
push dword [esi + 0x1478]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x40934b
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2fc]
test eax, eax
jg 0x40937c
mov ebp, ebx
jne 0x409395
mov eax, dword [esi + 0x37c]
cmp dword [ecx + edi - 8], eax
ja 0x40937c
jne 0x409395
push dword [esi + 0x1474]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409395
push ecx
push dword [esi + 0x1474]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x409399
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2f8]
test eax, eax
jg 0x4093ca
mov ebx, ebp
jne 0x4093e3
mov eax, dword [esi + 0x378]
cmp dword [ecx + edi - 8], eax
ja 0x4093ca
jne 0x4093e3
push dword [esi + 0x1470]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4093e3
push ecx
push dword [esi + 0x1470]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x4093e7
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2f4]
test eax, eax
jg 0x409418
mov ebp, ebx
jne 0x409431
mov eax, dword [esi + 0x374]
cmp dword [ecx + edi - 8], eax
ja 0x409418
jne 0x409431
push dword [esi + 0x146c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409431
push ecx
push dword [esi + 0x146c]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x409435
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2f0]
test eax, eax
jg 0x409466
mov ebx, ebp
jne 0x40947f
mov eax, dword [esi + 0x370]
cmp dword [ecx + edi - 8], eax
ja 0x409466
jne 0x40947f
push dword [esi + 0x1468]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x40947f
push ecx
push dword [esi + 0x1468]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x409483
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2ec]
test eax, eax
jg 0x4094b4
mov ebp, ebx
jne 0x4094cd
mov eax, dword [esi + 0x36c]
cmp dword [ecx + edi - 8], eax
ja 0x4094b4
jne 0x4094cd
push dword [esi + 0x1464]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4094cd
push ecx
push dword [esi + 0x1464]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x4094d1
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2e8]
test eax, eax
jg 0x409502
mov ebx, ebp
jne 0x40951b
mov eax, dword [esi + 0x368]
cmp dword [ecx + edi - 8], eax
ja 0x409502
jne 0x40951b
push dword [esi + 0x1460]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x40951b
push ecx
push dword [esi + 0x1460]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x40951f
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2e4]
test eax, eax
jg 0x409550
mov ebp, ebx
jne 0x409569
mov eax, dword [esi + 0x364]
cmp dword [ecx + edi - 8], eax
ja 0x409550
jne 0x409569
push dword [esi + 0x145c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409569
push ecx
push dword [esi + 0x145c]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x40956d
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2e0]
test eax, eax
jg 0x40959e
mov ebx, ebp
jne 0x4095b7
mov eax, dword [esi + 0x360]
cmp dword [ecx + edi - 8], eax
ja 0x40959e
jne 0x4095b7
push dword [esi + 0x1458]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4095b7
push ecx
push dword [esi + 0x1458]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x4095bb
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2dc]
test eax, eax
jg 0x4095ec
mov ebp, ebx
jne 0x409605
mov eax, dword [esi + 0x35c]
cmp dword [ecx + edi - 8], eax
ja 0x4095ec
jne 0x409605
push dword [esi + 0x1454]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409605
push ecx
push dword [esi + 0x1454]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x409609
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2d8]
test eax, eax
jg 0x40963a
mov ebx, ebp
jne 0x409653
mov eax, dword [esi + 0x358]
cmp dword [ecx + edi - 8], eax
ja 0x40963a
jne 0x409653
push dword [esi + 0x1450]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409653
push ecx
push dword [esi + 0x1450]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x409657
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2d4]
test eax, eax
jg 0x409688
mov ebp, ebx
jne 0x4096a1
mov eax, dword [esi + 0x354]
cmp dword [ecx + edi - 8], eax
ja 0x409688
jne 0x4096a1
push dword [esi + 0x144c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4096a1
push ecx
push dword [esi + 0x144c]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x4096a5
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2d0]
test eax, eax
jg 0x4096d6
mov ebx, ebp
jne 0x4096ef
mov eax, dword [esi + 0x350]
cmp dword [ecx + edi - 8], eax
ja 0x4096d6
jne 0x4096ef
push dword [esi + 0x1448]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4096ef
push ecx
push dword [esi + 0x1448]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x4096f3
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2cc]
test eax, eax
jg 0x409724
mov ebp, ebx
jne 0x40973d
mov eax, dword [esi + 0x34c]
cmp dword [ecx + edi - 8], eax
ja 0x409724
jne 0x40973d
push dword [esi + 0x1444]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x40973d
push ecx
push dword [esi + 0x1444]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x409741
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2c8]
test eax, eax
jg 0x409772
mov ebx, ebp
jne 0x40978b
mov eax, dword [esi + 0x348]
cmp dword [ecx + edi - 8], eax
ja 0x409772
jne 0x40978b
push dword [esi + 0x1440]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x40978b
push ecx
push dword [esi + 0x1440]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x40978f
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2c4]
test eax, eax
jg 0x4097c0
mov ebp, ebx
jne 0x4097d9
mov eax, dword [esi + 0x344]
cmp dword [ecx + edi - 8], eax
ja 0x4097c0
jne 0x4097d9
push dword [esi + 0x143c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4097d9
push ecx
push dword [esi + 0x143c]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x4097dd
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2c0]
test eax, eax
jg 0x40980e
mov ebx, ebp
jne 0x409827
mov eax, dword [esi + 0x340]
cmp dword [ecx + edi - 8], eax
ja 0x40980e
jne 0x409827
push dword [esi + 0x1438]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409827
push ecx
push dword [esi + 0x1438]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x40982b
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2bc]
test eax, eax
jg 0x40985c
mov ebp, ebx
jne 0x409875
mov eax, dword [esi + 0x33c]
cmp dword [ecx + edi - 8], eax
ja 0x40985c
jne 0x409875
push dword [esi + 0x1434]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409875
push ecx
push dword [esi + 0x1434]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x409879
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2b8]
test eax, eax
jg 0x4098aa
mov ebx, ebp
jne 0x4098c3
mov eax, dword [esi + 0x338]
cmp dword [ecx + edi - 8], eax
ja 0x4098aa
jne 0x4098c3
push dword [esi + 0x1430]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4098c3
push ecx
push dword [esi + 0x1430]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x4098c7
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x2b4]
test eax, eax
jg 0x4098f8
mov ebp, ebx
jne 0x409911
mov eax, dword [esi + 0x334]
cmp dword [ecx + edi - 8], eax
ja 0x4098f8
jne 0x409911
push dword [esi + 0x142c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409911
push ecx
push dword [esi + 0x142c]
mov ecx, esi
push edi
call fcn.00408f34
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + edi - 4]
jmp 0x409915
mov edx, dword [esp + 0x10]
mov ecx, ebp
sub ecx, dword [esi + 0x2b0]
test ecx, ecx
jg 0x40994a
mov eax, ebp
jne 0x409967
mov ecx, dword [esi + 0x330]
cmp dword [edx + edi - 8], ecx
ja 0x40994a
jne 0x409967
push dword [esi + 0x1428]
mov ecx, esi
mov dword [esp + 0x1c], ebp
push edi
call fcn.00408ef4
test ax, ax
js 0x409963
push ecx
push dword [esi + 0x1428]
mov ecx, esi
push edi
call fcn.00408f34
mov ebp, dword [esp + 0x10]
mov eax, dword [edi + ebp - 4]
jmp 0x40996b
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov ecx, eax
sub ecx, dword [esi + 0x2ac]
test ecx, ecx
jg 0x40999c
mov ebx, eax
jne 0x4099af
mov ecx, dword [esi + 0x32c]
cmp dword [edi + ebp - 8], ecx
ja 0x40999c
jne 0x4099af
push dword [esi + 0x1424]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4099af
push ecx
push dword [esi + 0x1424]
mov ecx, esi
push edi
call fcn.00408f34
mov ebx, dword [edi + ebp - 4]
sub ebx, dword [esi + 0x2a8]
test ebx, ebx
jg 0x4099dc
jne 0x4099eb
mov eax, dword [esi + 0x328]
cmp dword [edi + ebp - 8], eax
ja 0x4099dc
jne 0x4099eb
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x4099eb
push ecx
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.00408f34
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx]
test eax, eax
jns 0x409a07
lea eax, [esp + 0x1090]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x40000000
je 0x409a20
lea eax, [esp + 0x1008]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x20000000
je 0x409a39
lea eax, [esp + 0xf80]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x10000000
je 0x409a52
lea eax, [esp + 0xef8]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x8000000
je 0x409a6b
lea eax, [esp + 0xe70]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x4000000
je 0x409a84
lea eax, [esp + 0xde8]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x2000000
je 0x409a9d
lea eax, [esp + 0xd60]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x1000000
je 0x409ab6
lea eax, [esp + 0xcd8]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x800000
je 0x409acf
lea eax, [esp + 0xc50]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x400000
je 0x409ae8
lea eax, [esp + 0xbc8]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x200000
je 0x409b01
lea eax, [esp + 0xb40]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x100000
je 0x409b1a
lea eax, [esp + 0xab8]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x80000
je 0x409b33
lea eax, [esp + 0xa30]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x40000
je 0x409b4c
lea eax, [esp + 0x9a8]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x20000
je 0x409b65
lea eax, [esp + 0x920]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x10000
je 0x409b7e
lea eax, [esp + 0x898]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x8000
je 0x409b97
lea eax, [esp + 0x810]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x4000
je 0x409bb0
lea eax, [esp + 0x788]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x2000
je 0x409bc9
lea eax, [esp + 0x700]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x1000
je 0x409be2
lea eax, [esp + 0x678]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x800
je 0x409bfb
lea eax, [esp + 0x5f0]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x400
je 0x409c14
lea eax, [esp + 0x568]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x200
je 0x409c2d
lea eax, [esp + 0x4e0]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test eax, 0x100
je 0x409c46
lea eax, [esp + 0x458]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, al
jns 0x409c5c
lea eax, [esp + 0x3d0]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, 0x40
je 0x409c72
lea eax, [esp + 0x348]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, 0x20
je 0x409c88
lea eax, [esp + 0x2c0]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, 0x10
je 0x409c9e
lea eax, [esp + 0x238]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, 8
je 0x409cb4
lea eax, [esp + 0x1b0]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, 4
je 0x409cca
lea eax, [esp + 0x128]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, 2
je 0x409ce0
lea eax, [esp + 0xa0]
mov ecx, esi
push eax
push edi
call fcn.00408eae
mov eax, dword [ebx]
test al, 1
je 0x409cf3
push dword [esp + 0x1120]
mov ecx, esi
push edi
call fcn.00408eae
mov ecx, dword [edi + ebp - 4]
mov eax, ecx
sub eax, dword [esi + 0x2a8]
test eax, eax
jg 0x409d28
mov ebx, ecx
jne 0x409d3b
mov eax, dword [esi + 0x328]
cmp dword [edi + ebp - 8], eax
ja 0x409d28
jne 0x409d3b
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409d3b
push ecx
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.00408f34
mov ebx, dword [edi + ebp - 4]
mov eax, ebx
sub eax, dword [esi + 0x2a4]
test eax, eax
jg 0x409d7e
mov ebp, ebx
jne 0x409d91
mov ebp, dword [esp + 0x10]
mov eax, dword [esi + 0x324]
cmp dword [edi + ebp - 8], eax
ja 0x409d7e
mov ecx, dword [esp + 0x10]
mov ebp, ebx
cmp dword [ecx + edi - 8], eax
jne 0x409d95
push dword [esi + 0x141c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409d91
mov ebp, dword [esp + 0x10]
push ecx
push dword [esi + 0x141c]
mov ecx, esi
push edi
call fcn.00408f34
mov ebp, dword [edi + ebp - 4]
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x2a0]
test eax, eax
jg 0x409dc6
mov ebx, ebp
jne 0x409ddf
mov eax, dword [esi + 0x320]
cmp dword [ecx + edi - 8], eax
ja 0x409dc6
jne 0x409ddf
push dword [esi + 0x1418]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409ddf
push ecx
push dword [esi + 0x1418]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + edi - 4]
jmp 0x409de3
mov ecx, dword [esp + 0x10]
mov eax, ebx
sub eax, dword [esi + 0x29c]
test eax, eax
jg 0x409e14
mov ebp, ebx
jne 0x409e2d
mov eax, dword [esi + 0x31c]
cmp dword [ecx + edi - 8], eax
ja 0x409e14
jne 0x409e2d
push dword [esi + 0x1414]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409e2d
push ecx
push dword [esi + 0x1414]
mov ecx, esi
push edi
call fcn.00408f34
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + edi - 4]
jmp 0x409e31
mov ecx, dword [esp + 0x10]
mov eax, ebp
sub eax, dword [esi + 0x298]
test eax, eax
jg 0x409e62
mov ebx, ebp
jne 0x409e7b
mov eax, dword [esi + 0x318]
cmp dword [ecx + edi - 8], eax
ja 0x409e62
jne 0x409e7b
push dword [esi + 0x1410]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409e7b
push ecx
push dword [esi + 0x1410]
mov ecx, esi
push edi
call fcn.00408f34
mov ebp, dword [esp + 0x10]
mov ebx, dword [edi + ebp - 4]
jmp 0x409e7f
mov ebp, dword [esp + 0x10]
sub ebx, dword [esi + 0x294]
test ebx, ebx
jg 0x409eac
jne 0x409ebb
mov eax, dword [esi + 0x314]
cmp dword [edi + ebp - 8], eax
ja 0x409eac
jne 0x409ebb
push dword [esi + 0x140c]
mov ecx, esi
push edi
call fcn.00408ef4
test ax, ax
js 0x409ebb
push ecx
push dword [esi + 0x140c]
mov ecx, esi
push edi
call fcn.00408f34
sub dword [esp + 0x14], 4
mov ecx, dword [esp + 0x1c]
test cx, cx
jne 0x40919d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1108
ret 0xc