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

Disassembly:
mov eax, 0x1100
call fcn.0041e6c0
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.004127f0
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.004338ae
mov ebp, dword [esi]
mov edi, dword [esp + 0x1114]
shl ebp, 2
push ebp
push ebx
push edi
call fcn.004127f0
add esp, 0xc
mov dword [edi], ebx
mov ebx, dword [esp + 0x111c]
push ebx
mov ecx, esi
call fcn.00433942
movzx ecx, ax
test cx, cx
je 0x40f284
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 0x40e7a9
lea ebx, [ebx - 4]
mov eax, dword [ebx]
mov dword [edx], eax
sub edx, 4
dec ecx
test cx, cx
jne 0x40e79f
and dword [edx], 0
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x310]
test eax, eax
jg 0x40e7e3
jne 0x40e7f2
mov eax, dword [esi + 0x390]
cmp dword [edi + ebp - 8], eax
ja 0x40e7e3
jne 0x40e7f2
push dword [esi + 0x1488]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e7f2
push ecx
push dword [esi + 0x1488]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x30c]
test eax, eax
jg 0x40e823
jne 0x40e832
mov eax, dword [esi + 0x38c]
cmp dword [edi + ebp - 8], eax
ja 0x40e823
jne 0x40e832
push dword [esi + 0x1484]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e832
push ecx
push dword [esi + 0x1484]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x308]
test eax, eax
jg 0x40e863
jne 0x40e872
mov eax, dword [esi + 0x388]
cmp dword [edi + ebp - 8], eax
ja 0x40e863
jne 0x40e872
push dword [esi + 0x1480]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e872
push ecx
push dword [esi + 0x1480]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x304]
test eax, eax
jg 0x40e8a3
jne 0x40e8b2
mov eax, dword [esi + 0x384]
cmp dword [edi + ebp - 8], eax
ja 0x40e8a3
jne 0x40e8b2
push dword [esi + 0x147c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e8b2
push ecx
push dword [esi + 0x147c]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x300]
test eax, eax
jg 0x40e8e3
jne 0x40e8f2
mov eax, dword [esi + 0x380]
cmp dword [edi + ebp - 8], eax
ja 0x40e8e3
jne 0x40e8f2
push dword [esi + 0x1478]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e8f2
push ecx
push dword [esi + 0x1478]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2fc]
test eax, eax
jg 0x40e923
jne 0x40e932
mov eax, dword [esi + 0x37c]
cmp dword [edi + ebp - 8], eax
ja 0x40e923
jne 0x40e932
push dword [esi + 0x1474]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e932
push ecx
push dword [esi + 0x1474]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2f8]
test eax, eax
jg 0x40e963
jne 0x40e972
mov eax, dword [esi + 0x378]
cmp dword [edi + ebp - 8], eax
ja 0x40e963
jne 0x40e972
push dword [esi + 0x1470]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e972
push ecx
push dword [esi + 0x1470]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2f4]
test eax, eax
jg 0x40e9a3
jne 0x40e9b2
mov eax, dword [esi + 0x374]
cmp dword [edi + ebp - 8], eax
ja 0x40e9a3
jne 0x40e9b2
push dword [esi + 0x146c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e9b2
push ecx
push dword [esi + 0x146c]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2f0]
test eax, eax
jg 0x40e9e3
jne 0x40e9f2
mov eax, dword [esi + 0x370]
cmp dword [edi + ebp - 8], eax
ja 0x40e9e3
jne 0x40e9f2
push dword [esi + 0x1468]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40e9f2
push ecx
push dword [esi + 0x1468]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2ec]
test eax, eax
jg 0x40ea23
jne 0x40ea32
mov eax, dword [esi + 0x36c]
cmp dword [edi + ebp - 8], eax
ja 0x40ea23
jne 0x40ea32
push dword [esi + 0x1464]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ea32
push ecx
push dword [esi + 0x1464]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2e8]
test eax, eax
jg 0x40ea63
jne 0x40ea72
mov eax, dword [esi + 0x368]
cmp dword [edi + ebp - 8], eax
ja 0x40ea63
jne 0x40ea72
push dword [esi + 0x1460]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ea72
push ecx
push dword [esi + 0x1460]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2e4]
test eax, eax
jg 0x40eaa3
jne 0x40eab2
mov eax, dword [esi + 0x364]
cmp dword [edi + ebp - 8], eax
ja 0x40eaa3
jne 0x40eab2
push dword [esi + 0x145c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40eab2
push ecx
push dword [esi + 0x145c]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2e0]
test eax, eax
jg 0x40eae3
jne 0x40eaf2
mov eax, dword [esi + 0x360]
cmp dword [edi + ebp - 8], eax
ja 0x40eae3
jne 0x40eaf2
push dword [esi + 0x1458]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40eaf2
push ecx
push dword [esi + 0x1458]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2dc]
test eax, eax
jg 0x40eb23
jne 0x40eb32
mov eax, dword [esi + 0x35c]
cmp dword [edi + ebp - 8], eax
ja 0x40eb23
jne 0x40eb32
push dword [esi + 0x1454]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40eb32
push ecx
push dword [esi + 0x1454]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2d8]
test eax, eax
jg 0x40eb63
jne 0x40eb72
mov eax, dword [esi + 0x358]
cmp dword [edi + ebp - 8], eax
ja 0x40eb63
jne 0x40eb72
push dword [esi + 0x1450]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40eb72
push ecx
push dword [esi + 0x1450]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2d4]
test eax, eax
jg 0x40eba3
jne 0x40ebb2
mov eax, dword [esi + 0x354]
cmp dword [edi + ebp - 8], eax
ja 0x40eba3
jne 0x40ebb2
push dword [esi + 0x144c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ebb2
push ecx
push dword [esi + 0x144c]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2d0]
test eax, eax
jg 0x40ebe3
jne 0x40ebf2
mov eax, dword [esi + 0x350]
cmp dword [edi + ebp - 8], eax
ja 0x40ebe3
jne 0x40ebf2
push dword [esi + 0x1448]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ebf2
push ecx
push dword [esi + 0x1448]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2cc]
test eax, eax
jg 0x40ec23
jne 0x40ec32
mov eax, dword [esi + 0x34c]
cmp dword [edi + ebp - 8], eax
ja 0x40ec23
jne 0x40ec32
push dword [esi + 0x1444]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ec32
push ecx
push dword [esi + 0x1444]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2c8]
test eax, eax
jg 0x40ec63
jne 0x40ec72
mov eax, dword [esi + 0x348]
cmp dword [edi + ebp - 8], eax
ja 0x40ec63
jne 0x40ec72
push dword [esi + 0x1440]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ec72
push ecx
push dword [esi + 0x1440]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2c4]
test eax, eax
jg 0x40eca3
jne 0x40ecb2
mov eax, dword [esi + 0x344]
cmp dword [edi + ebp - 8], eax
ja 0x40eca3
jne 0x40ecb2
push dword [esi + 0x143c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ecb2
push ecx
push dword [esi + 0x143c]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2c0]
test eax, eax
jg 0x40ece3
jne 0x40ecf2
mov eax, dword [esi + 0x340]
cmp dword [edi + ebp - 8], eax
ja 0x40ece3
jne 0x40ecf2
push dword [esi + 0x1438]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ecf2
push ecx
push dword [esi + 0x1438]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2bc]
test eax, eax
jg 0x40ed23
jne 0x40ed32
mov eax, dword [esi + 0x33c]
cmp dword [edi + ebp - 8], eax
ja 0x40ed23
jne 0x40ed32
push dword [esi + 0x1434]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ed32
push ecx
push dword [esi + 0x1434]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2b8]
test eax, eax
jg 0x40ed63
jne 0x40ed72
mov eax, dword [esi + 0x338]
cmp dword [edi + ebp - 8], eax
ja 0x40ed63
jne 0x40ed72
push dword [esi + 0x1430]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ed72
push ecx
push dword [esi + 0x1430]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2b4]
test eax, eax
jg 0x40eda3
jne 0x40edb2
mov eax, dword [esi + 0x334]
cmp dword [edi + ebp - 8], eax
ja 0x40eda3
jne 0x40edb2
push dword [esi + 0x142c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40edb2
push ecx
push dword [esi + 0x142c]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2b0]
test eax, eax
jg 0x40ede3
jne 0x40edf2
mov eax, dword [esi + 0x330]
cmp dword [edi + ebp - 8], eax
ja 0x40ede3
jne 0x40edf2
push dword [esi + 0x1428]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40edf2
push ecx
push dword [esi + 0x1428]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2ac]
test eax, eax
jg 0x40ee23
jne 0x40ee32
mov eax, dword [esi + 0x32c]
cmp dword [edi + ebp - 8], eax
ja 0x40ee23
jne 0x40ee32
push dword [esi + 0x1424]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ee32
push ecx
push dword [esi + 0x1424]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a8]
test eax, eax
jg 0x40ee63
jne 0x40ee72
mov eax, dword [esi + 0x328]
cmp dword [edi + ebp - 8], eax
ja 0x40ee63
jne 0x40ee72
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40ee72
push ecx
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e483
mov ebx, dword [esp + 0x10]
test dword [ebx], 0x80000000
je 0x40ee8d
push dword [esp + 0x90]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x40000000
je 0x40eea4
push dword [esp + 0x8c]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x20000000
je 0x40eebb
push dword [esp + 0x88]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x10000000
je 0x40eed2
push dword [esp + 0x84]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x8000000
je 0x40eee9
push dword [esp + 0x80]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x4000000
je 0x40eefd
push dword [esp + 0x7c]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x2000000
je 0x40ef11
push dword [esp + 0x78]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x1000000
je 0x40ef25
push dword [esp + 0x74]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x800000
je 0x40ef39
push dword [esp + 0x70]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x400000
je 0x40ef4d
push dword [esp + 0x6c]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x200000
je 0x40ef61
push dword [esp + 0x68]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x100000
je 0x40ef75
push dword [esp + 0x64]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x80000
je 0x40ef89
push dword [esp + 0x60]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x40000
je 0x40ef9d
push dword [esp + 0x5c]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x20000
je 0x40efb1
push dword [esp + 0x58]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x10000
je 0x40efc5
push dword [esp + 0x54]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x8000
je 0x40efd9
push dword [esp + 0x50]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x4000
je 0x40efed
push dword [esp + 0x4c]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x2000
je 0x40f001
push dword [esp + 0x48]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x1000
je 0x40f015
push dword [esp + 0x44]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x800
je 0x40f029
push dword [esp + 0x40]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x400
je 0x40f03d
push dword [esp + 0x3c]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x200
je 0x40f051
push dword [esp + 0x38]
mov ecx, esi
push edi
call fcn.0040e4c7
test dword [ebx], 0x100
je 0x40f065
push dword [esp + 0x34]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 0x80
je 0x40f076
push dword [esp + 0x30]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 0x40
je 0x40f087
push dword [esp + 0x2c]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 0x20
je 0x40f098
push dword [esp + 0x28]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 0x10
je 0x40f0a9
push dword [esp + 0x24]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 8
je 0x40f0ba
push dword [esp + 0x20]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 4
je 0x40f0cb
push dword [esp + 0x1c]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 2
je 0x40f0dc
push dword [esp + 0x18]
mov ecx, esi
push edi
call fcn.0040e4c7
test byte [ebx], 1
je 0x40f0ed
push dword [esp + 0x14]
mov ecx, esi
push edi
call fcn.0040e4c7
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a8]
test eax, eax
jg 0x40f11e
jne 0x40f12d
mov eax, dword [esi + 0x328]
cmp dword [edi + ebp - 8], eax
ja 0x40f11e
jne 0x40f12d
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40f12d
push ecx
push dword [esi + 0x1420]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a4]
test eax, eax
jg 0x40f15e
jne 0x40f16d
mov eax, dword [esi + 0x324]
cmp dword [edi + ebp - 8], eax
ja 0x40f15e
jne 0x40f16d
push dword [esi + 0x141c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40f16d
push ecx
push dword [esi + 0x141c]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x2a0]
test eax, eax
jg 0x40f19e
jne 0x40f1ad
mov eax, dword [esi + 0x320]
cmp dword [edi + ebp - 8], eax
ja 0x40f19e
jne 0x40f1ad
push dword [esi + 0x1418]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40f1ad
push ecx
push dword [esi + 0x1418]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x29c]
test eax, eax
jg 0x40f1de
jne 0x40f1ed
mov eax, dword [esi + 0x31c]
cmp dword [edi + ebp - 8], eax
ja 0x40f1de
jne 0x40f1ed
push dword [esi + 0x1414]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40f1ed
push ecx
push dword [esi + 0x1414]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x298]
test eax, eax
jg 0x40f21e
jne 0x40f22d
mov eax, dword [esi + 0x318]
cmp dword [edi + ebp - 8], eax
ja 0x40f21e
jne 0x40f22d
push dword [esi + 0x1410]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40f22d
push ecx
push dword [esi + 0x1410]
mov ecx, esi
push edi
call fcn.0040e483
mov eax, dword [edi + ebp - 4]
sub eax, dword [esi + 0x294]
test eax, eax
jg 0x40f25e
jne 0x40f26d
mov eax, dword [esi + 0x314]
cmp dword [edi + ebp - 8], eax
ja 0x40f25e
jne 0x40f26d
push dword [esi + 0x140c]
mov ecx, esi
push edi
call fcn.0040e43e
test ax, ax
js 0x40f26d
push ecx
push dword [esi + 0x140c]
mov ecx, esi
push edi
call fcn.0040e483
mov ecx, dword [esp + 0x94]
sub ebx, 4
mov dword [esp + 0x10], ebx
test cx, cx
jne 0x40e789
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1100
ret 0xc