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

Disassembly:
mov eax, 0x1100
call fcn.0041e670
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x1074
lea eax, [esp + 0xa0]
push ebx
push eax
mov esi, ecx
mov dword [esp + 0xa4], ebx
call fcn.004127c0
lea eax, [esp + 0xa4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x12c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1b4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x23c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34c]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x3d4]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x45c]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x4e4]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x56c]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x5f4]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x67c]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x704]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x78c]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x814]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x89c]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x924]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x9ac]
mov dword [esp + 0x68], eax
lea eax, [esp + 0xa34]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0xabc]
mov dword [esp + 0x70], eax
lea eax, [esp + 0xb44]
mov dword [esp + 0x74], eax
lea eax, [esp + 0xbcc]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xc54]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xcdc]
mov dword [esp + 0x80], eax
lea eax, [esp + 0xd64]
mov dword [esp + 0x84], eax
lea eax, [esp + 0xdec]
mov dword [esp + 0x88], eax
lea eax, [esp + 0xe74]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xefc]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xf84]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x100c]
add esp, 0xc
mov dword [esp + 0x8c], eax
push dword [esp + 0x1118]
lea eax, [esp + 0x108c]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ebx
push eax
mov ecx, esi
call fcn.004336cf
mov ebp, dword [esi]
mov edi, dword [esp + 0x1114]
shl ebp, 2
push ebp
push ebx
push edi
call fcn.004127c0
add esp, 0xc
mov dword [edi], ebx
mov ebx, dword [esp + 0x111c]
push ebx
mov ecx, esi
call fcn.00433763
movzx ecx, ax
test cx, cx
je 0x40f25e
movsx eax, cx
dec eax
lea eax, [ebx + eax*4]
mov dword [esp + 0x10], eax
dec ecx
mov dword [esp + 0x94], ecx
movzx ecx, word [esi]
movsx edx, cx
dec edx
lea edx, [edi + edx*4]
mov ebx, edx
jmp 0x40e783
lea ebx, [ebx - 4]
mov eax, dword [ebx]
mov dword [edx], eax
sub edx, 4
dec ecx
test cx, cx
jne 0x40e779
and dword [edx], 0
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x310]
test eax, eax
jg 0x40e7bd
jne 0x40e7cc
mov eax, dword [esi + 0x390]
cmp dword [edi + ebp - 8], eax
ja 0x40e7bd
jne 0x40e7cc
push dword [esi + 0x1488]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e7cc
push ecx
push dword [esi + 0x1488]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x30c]
test eax, eax
jg 0x40e7fd
jne 0x40e80c
mov eax, dword [esi + 0x38c]
cmp dword [edi + ebp - 8], eax
ja 0x40e7fd
jne 0x40e80c
push dword [esi + 0x1484]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e80c
push ecx
push dword [esi + 0x1484]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x308]
test eax, eax
jg 0x40e83d
jne 0x40e84c
mov eax, dword [esi + 0x388]
cmp dword [edi + ebp - 8], eax
ja 0x40e83d
jne 0x40e84c
push dword [esi + 0x1480]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e84c
push ecx
push dword [esi + 0x1480]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x304]
test eax, eax
jg 0x40e87d
jne 0x40e88c
mov eax, dword [esi + 0x384]
cmp dword [edi + ebp - 8], eax
ja 0x40e87d
jne 0x40e88c
push dword [esi + 0x147c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e88c
push ecx
push dword [esi + 0x147c]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x300]
test eax, eax
jg 0x40e8bd
jne 0x40e8cc
mov eax, dword [esi + 0x380]
cmp dword [edi + ebp - 8], eax
ja 0x40e8bd
jne 0x40e8cc
push dword [esi + 0x1478]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e8cc
push ecx
push dword [esi + 0x1478]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2fc]
test eax, eax
jg 0x40e8fd
jne 0x40e90c
mov eax, dword [esi + 0x37c]
cmp dword [edi + ebp - 8], eax
ja 0x40e8fd
jne 0x40e90c
push dword [esi + 0x1474]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e90c
push ecx
push dword [esi + 0x1474]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2f8]
test eax, eax
jg 0x40e93d
jne 0x40e94c
mov eax, dword [esi + 0x378]
cmp dword [edi + ebp - 8], eax
ja 0x40e93d
jne 0x40e94c
push dword [esi + 0x1470]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e94c
push ecx
push dword [esi + 0x1470]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2f4]
test eax, eax
jg 0x40e97d
jne 0x40e98c
mov eax, dword [esi + 0x374]
cmp dword [edi + ebp - 8], eax
ja 0x40e97d
jne 0x40e98c
push dword [esi + 0x146c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e98c
push ecx
push dword [esi + 0x146c]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2f0]
test eax, eax
jg 0x40e9bd
jne 0x40e9cc
mov eax, dword [esi + 0x370]
cmp dword [edi + ebp - 8], eax
ja 0x40e9bd
jne 0x40e9cc
push dword [esi + 0x1468]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40e9cc
push ecx
push dword [esi + 0x1468]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2ec]
test eax, eax
jg 0x40e9fd
jne 0x40ea0c
mov eax, dword [esi + 0x36c]
cmp dword [edi + ebp - 8], eax
ja 0x40e9fd
jne 0x40ea0c
push dword [esi + 0x1464]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ea0c
push ecx
push dword [esi + 0x1464]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2e8]
test eax, eax
jg 0x40ea3d
jne 0x40ea4c
mov eax, dword [esi + 0x368]
cmp dword [edi + ebp - 8], eax
ja 0x40ea3d
jne 0x40ea4c
push dword [esi + 0x1460]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ea4c
push ecx
push dword [esi + 0x1460]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2e4]
test eax, eax
jg 0x40ea7d
jne 0x40ea8c
mov eax, dword [esi + 0x364]
cmp dword [edi + ebp - 8], eax
ja 0x40ea7d
jne 0x40ea8c
push dword [esi + 0x145c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ea8c
push ecx
push dword [esi + 0x145c]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2e0]
test eax, eax
jg 0x40eabd
jne 0x40eacc
mov eax, dword [esi + 0x360]
cmp dword [edi + ebp - 8], eax
ja 0x40eabd
jne 0x40eacc
push dword [esi + 0x1458]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40eacc
push ecx
push dword [esi + 0x1458]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2dc]
test eax, eax
jg 0x40eafd
jne 0x40eb0c
mov eax, dword [esi + 0x35c]
cmp dword [edi + ebp - 8], eax
ja 0x40eafd
jne 0x40eb0c
push dword [esi + 0x1454]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40eb0c
push ecx
push dword [esi + 0x1454]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2d8]
test eax, eax
jg 0x40eb3d
jne 0x40eb4c
mov eax, dword [esi + 0x358]
cmp dword [edi + ebp - 8], eax
ja 0x40eb3d
jne 0x40eb4c
push dword [esi + 0x1450]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40eb4c
push ecx
push dword [esi + 0x1450]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2d4]
test eax, eax
jg 0x40eb7d
jne 0x40eb8c
mov eax, dword [esi + 0x354]
cmp dword [edi + ebp - 8], eax
ja 0x40eb7d
jne 0x40eb8c
push dword [esi + 0x144c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40eb8c
push ecx
push dword [esi + 0x144c]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2d0]
test eax, eax
jg 0x40ebbd
jne 0x40ebcc
mov eax, dword [esi + 0x350]
cmp dword [edi + ebp - 8], eax
ja 0x40ebbd
jne 0x40ebcc
push dword [esi + 0x1448]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ebcc
push ecx
push dword [esi + 0x1448]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2cc]
test eax, eax
jg 0x40ebfd
jne 0x40ec0c
mov eax, dword [esi + 0x34c]
cmp dword [edi + ebp - 8], eax
ja 0x40ebfd
jne 0x40ec0c
push dword [esi + 0x1444]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ec0c
push ecx
push dword [esi + 0x1444]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2c8]
test eax, eax
jg 0x40ec3d
jne 0x40ec4c
mov eax, dword [esi + 0x348]
cmp dword [edi + ebp - 8], eax
ja 0x40ec3d
jne 0x40ec4c
push dword [esi + 0x1440]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ec4c
push ecx
push dword [esi + 0x1440]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2c4]
test eax, eax
jg 0x40ec7d
jne 0x40ec8c
mov eax, dword [esi + 0x344]
cmp dword [edi + ebp - 8], eax
ja 0x40ec7d
jne 0x40ec8c
push dword [esi + 0x143c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ec8c
push ecx
push dword [esi + 0x143c]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2c0]
test eax, eax
jg 0x40ecbd
jne 0x40eccc
mov eax, dword [esi + 0x340]
cmp dword [edi + ebp - 8], eax
ja 0x40ecbd
jne 0x40eccc
push dword [esi + 0x1438]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40eccc
push ecx
push dword [esi + 0x1438]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2bc]
test eax, eax
jg 0x40ecfd
jne 0x40ed0c
mov eax, dword [esi + 0x33c]
cmp dword [edi + ebp - 8], eax
ja 0x40ecfd
jne 0x40ed0c
push dword [esi + 0x1434]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ed0c
push ecx
push dword [esi + 0x1434]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2b8]
test eax, eax
jg 0x40ed3d
jne 0x40ed4c
mov eax, dword [esi + 0x338]
cmp dword [edi + ebp - 8], eax
ja 0x40ed3d
jne 0x40ed4c
push dword [esi + 0x1430]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ed4c
push ecx
push dword [esi + 0x1430]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2b4]
test eax, eax
jg 0x40ed7d
jne 0x40ed8c
mov eax, dword [esi + 0x334]
cmp dword [edi + ebp - 8], eax
ja 0x40ed7d
jne 0x40ed8c
push dword [esi + 0x142c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ed8c
push ecx
push dword [esi + 0x142c]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2b0]
test eax, eax
jg 0x40edbd
jne 0x40edcc
mov eax, dword [esi + 0x330]
cmp dword [edi + ebp - 8], eax
ja 0x40edbd
jne 0x40edcc
push dword [esi + 0x1428]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40edcc
push ecx
push dword [esi + 0x1428]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2ac]
test eax, eax
jg 0x40edfd
jne 0x40ee0c
mov eax, dword [esi + 0x32c]
cmp dword [edi + ebp - 8], eax
ja 0x40edfd
jne 0x40ee0c
push dword [esi + 0x1424]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ee0c
push ecx
push dword [esi + 0x1424]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a8]
test eax, eax
jg 0x40ee3d
jne 0x40ee4c
mov eax, dword [esi + 0x328]
cmp dword [edi + ebp - 8], eax
ja 0x40ee3d
jne 0x40ee4c
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40ee4c
push ecx
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e45d
mov ebx, dword [esp + 0x10]
test dword [ebx], 0x80000000
je 0x40ee67
push dword [esp + 0x90]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x40000000
je 0x40ee7e
push dword [esp + 0x8c]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x20000000
je 0x40ee95
push dword [esp + 0x88]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x10000000
je 0x40eeac
push dword [esp + 0x84]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x8000000
je 0x40eec3
push dword [esp + 0x80]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x4000000
je 0x40eed7
push dword [esp + 0x7c]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x2000000
je 0x40eeeb
push dword [esp + 0x78]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x1000000
je 0x40eeff
push dword [esp + 0x74]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x800000
je 0x40ef13
push dword [esp + 0x70]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x400000
je 0x40ef27
push dword [esp + 0x6c]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x200000
je 0x40ef3b
push dword [esp + 0x68]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x100000
je 0x40ef4f
push dword [esp + 0x64]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x80000
je 0x40ef63
push dword [esp + 0x60]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x40000
je 0x40ef77
push dword [esp + 0x5c]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x20000
je 0x40ef8b
push dword [esp + 0x58]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x10000
je 0x40ef9f
push dword [esp + 0x54]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x8000
je 0x40efb3
push dword [esp + 0x50]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x4000
je 0x40efc7
push dword [esp + 0x4c]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x2000
je 0x40efdb
push dword [esp + 0x48]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x1000
je 0x40efef
push dword [esp + 0x44]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x800
je 0x40f003
push dword [esp + 0x40]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x400
je 0x40f017
push dword [esp + 0x3c]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x200
je 0x40f02b
push dword [esp + 0x38]
mov ecx, esi
push edi
call fcn.0040e4a1
test dword [ebx], 0x100
je 0x40f03f
push dword [esp + 0x34]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 0x80
je 0x40f050
push dword [esp + 0x30]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 0x40
je 0x40f061
push dword [esp + 0x2c]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 0x20
je 0x40f072
push dword [esp + 0x28]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 0x10
je 0x40f083
push dword [esp + 0x24]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 8
je 0x40f094
push dword [esp + 0x20]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 4
je 0x40f0a5
push dword [esp + 0x1c]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 2
je 0x40f0b6
push dword [esp + 0x18]
mov ecx, esi
push edi
call fcn.0040e4a1
test byte [ebx], 1
je 0x40f0c7
push dword [esp + 0x14]
mov ecx, esi
push edi
call fcn.0040e4a1
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a8]
test eax, eax
jg 0x40f0f8
jne 0x40f107
mov eax, dword [esi + 0x328]
cmp dword [edi + ebp - 8], eax
ja 0x40f0f8
jne 0x40f107
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40f107
push ecx
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a4]
test eax, eax
jg 0x40f138
jne 0x40f147
mov eax, dword [esi + 0x324]
cmp dword [edi + ebp - 8], eax
ja 0x40f138
jne 0x40f147
push dword [esi + 0x141c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40f147
push ecx
push dword [esi + 0x141c]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a0]
test eax, eax
jg 0x40f178
jne 0x40f187
mov eax, dword [esi + 0x320]
cmp dword [edi + ebp - 8], eax
ja 0x40f178
jne 0x40f187
push dword [esi + 0x1418]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40f187
push ecx
push dword [esi + 0x1418]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x29c]
test eax, eax
jg 0x40f1b8
jne 0x40f1c7
mov eax, dword [esi + 0x31c]
cmp dword [edi + ebp - 8], eax
ja 0x40f1b8
jne 0x40f1c7
push dword [esi + 0x1414]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40f1c7
push ecx
push dword [esi + 0x1414]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x298]
test eax, eax
jg 0x40f1f8
jne 0x40f207
mov eax, dword [esi + 0x318]
cmp dword [edi + ebp - 8], eax
ja 0x40f1f8
jne 0x40f207
push dword [esi + 0x1410]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40f207
push ecx
push dword [esi + 0x1410]
mov ecx, esi
push edi
call fcn.0040e45d
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x294]
test eax, eax
jg 0x40f238
jne 0x40f247
mov eax, dword [esi + 0x314]
cmp dword [edi + ebp - 8], eax
ja 0x40f238
jne 0x40f247
push dword [esi + 0x140c]
mov ecx, esi
push edi
call fcn.0040e418
test ax, ax
js 0x40f247
push ecx
push dword [esi + 0x140c]
mov ecx, esi
push edi
call fcn.0040e45d
mov ecx, dword [esp + 0x94]
sub ebx, 4
mov dword [esp + 0x10], ebx
test cx, cx
jne 0x40e763
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1100
ret 0xc