Function at 0x592ba0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x593672
sub esp, 0x110
mov eax, dword [esp + 0x114]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x10c], eax
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xec]
jmp 0x592fc5
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], esi
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x18], eax
call fcn.00592ad0
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0xc4]
add ecx, eax
mov dword [esp + 0xb4], ecx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xb0], ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xac], ebp
mov esi, dword [esp + 0x28]
mov dword [esp + 0x98], esi
mov edi, dword [esp + 0xa8]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x9c]
mov dword [esp], edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x18], edi
call fcn.00592ad0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x98]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xb8]
add ebx, ebp
mov ebp, dword [esp + 0xc8]
mov ebx, dword [esp + 0xb0]
mov esi, ebp
adc ebp, ebx
mov dword [esp + 0x70], ebp
mov edi, esi
and esi, ebx
or edi, ebx
xchg ebp, ebx
not ebx
xchg ebp, ebx
and edi, ebp
or esi, edi
shr esi, 0x1f
mov ebp, esi
add esi, eax
mov dword [esp + 0x34], esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc8], edi
mov ebx, dword [esp + 0x74]
add ebx, edi
mov edi, dword [esp + 0x24]
add edx, ecx
mov edx, dword [esp + 0xac]
mov ecx, edi
adc edi, edx
add ebp, eax
adc edi, 0
mov dword [esp + 0x6c], edi
mov eax, ecx
and ecx, edx
or eax, edx
mov edx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and eax, edi
or ecx, eax
shr ecx, 0x1f
mov eax, ecx
add ecx, ebx
mov dword [esp + 0x30], ecx
and esi, 0xfffffffc
mov dword [esp + 0x60], esi
mov edi, dword [esp + 0xbc]
add esi, edi
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0xb4]
add esi, ecx
mov ebp, dword [esp + 0x60]
add edi, ebp
mov edi, dword [esp + 0xc0]
adc edx, edi
mov dword [esp + 0x68], edx
mov ebp, dword [esp + 0x6c]
and ebp, edi
mov ecx, dword [esp + 0x6c]
or edi, ecx
not edx
and edi, edx
or ebp, edi
shr ebp, 0x1f
mov edx, ebp
add ebp, esi
mov dword [esp + 0x50], ebp
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0xc8]
add ebp, ecx
mov ebp, dword [esp + 0x78]
adc ebp, edi
add eax, ebx
adc ebp, 0
mov dword [esp + 0x64], ebp
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x30]
add eax, ecx
mov eax, dword [esp + 0x70]
mov ebx, eax
adc eax, ebp
add edx, esi
adc eax, 0
mov edx, dword [esp + 0x34]
and edx, 3
mov dword [esp + 0x48], edx
mov esi, ebp
and ebp, ebx
or ebx, esi
mov edi, eax
not eax
and ebx, eax
or ebp, ebx
shr ebp, 0x1f
mov dword [esp + 0xc8], ebp
add edx, ebp
mov dword [esp + 0xc0], edx
mov ebx, dword [esp + 0x60]
shr ebx, 2
mov eax, dword [esp + 0x6c]
shl eax, 0x1e
or eax, ebx
mov dword [esp + 0xbc], eax
mov ebx, dword [esp + 0xc4]
add eax, ebx
mov dword [esp + 0xc4], eax
shr ecx, 2
shl esi, 0x1e
or esi, ecx
mov dword [esp + 0xb8], esi
mov ecx, dword [esp + 0x50]
add esi, ecx
mov eax, dword [esp + 0x6c]
shr eax, 2
mov ebp, dword [esp + 0x30]
and ebp, 3
shl ebp, 0x1e
or ebp, eax
mov eax, dword [esp + 0xbc]
add eax, ebx
mov eax, dword [esp + 0x68]
mov ebx, eax
adc eax, ebp
and ebx, ebp
mov edx, dword [esp + 0x68]
or edx, ebp
mov ebp, eax
not eax
and edx, eax
or ebx, edx
shr ebx, 0x1f
mov eax, ebx
add ebx, esi
mov dword [esp + 0x50], ebx
mov edx, dword [esp + 0x64]
shr edx, 2
mov ebx, dword [esp + 0xb8]
add ebx, ecx
mov ecx, edi
adc edi, edx
add eax, esi
adc edi, 0
mov eax, ecx
and ecx, edx
or eax, edx
mov edx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and eax, edi
or ecx, eax
shr ecx, 0x1f
mov eax, dword [esp + 0xc0]
mov ebx, ecx
add ecx, eax
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0xc8]
add esi, edi
mov edi, 0
adc edi, 0
add ebx, eax
adc edi, 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x114]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x50]
mov esi, ecx
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x3c]
mov ecx, edx
mov edx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x593625
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edi
cmp ecx, 0x10
jl 0x5931c9
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
movzx edi, byte [eax + 1]
mov dword [esp + 0xc8], edi
shl edi, 8
or ecx, edi
movzx edi, byte [eax + 2]
mov dword [esp + 0xc4], edi
shl edi, 0x10
or edi, ecx
movzx ecx, byte [eax + 3]
mov dword [esp + 0xc0], ecx
shl ecx, 0x18
or ecx, edi
mov dword [esp + 0xbc], ecx
mov edi, dword [esp + 0x58]
add ecx, edi
mov dword [esp + 0xb8], ecx
movzx ecx, byte [eax + 8]
movzx esi, byte [eax + 9]
mov dword [esp + 0xb4], esi
shl esi, 8
or ecx, esi
movzx esi, byte [eax + 0xa]
mov dword [esp + 0xb0], esi
shl esi, 0x10
or esi, ecx
movzx ecx, byte [eax + 0xb]
mov dword [esp + 0xac], ecx
shl ecx, 0x18
or ecx, esi
mov esi, ecx
add ecx, ebx
mov ebp, dword [esp + 0xc8]
shr ebp, 0x18
mov ebx, dword [esp + 0xc4]
shr ebx, 0x10
or ebx, ebp
mov ebp, dword [esp + 0xc0]
shr ebp, 8
or ebp, ebx
movzx ebx, byte [eax + 4]
or ebx, ebp
movzx ebp, byte [eax + 5]
shl ebp, 8
or ebp, ebx
movzx ebx, byte [eax + 6]
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [eax + 7]
shl ebp, 0x18
or ebp, ebx
mov ebx, dword [esp + 0xbc]
add ebx, edi
mov ebx, edx
adc edx, ebp
mov edi, ebx
and ebx, ebp
or edi, ebp
mov ebp, edx
not edx
and edx, edi
or ebx, edx
shr ebx, 0x1f
mov edx, ecx
add ecx, ebx
mov dword [esp + 0xc8], ecx
mov edi, dword [esp + 0xb4]
shr edi, 0x18
mov ecx, dword [esp + 0xb0]
shr ecx, 0x10
or ecx, edi
mov edi, dword [esp + 0xac]
shr edi, 8
or edi, ecx
movzx ecx, byte [eax + 0xc]
or ecx, edi
movzx edi, byte [eax + 0xd]
shl edi, 8
or edi, ecx
movzx ecx, byte [eax + 0xe]
shl ecx, 0x10
or ecx, edi
movzx edi, byte [eax + 0xf]
shl edi, 0x18
or edi, ecx
mov ecx, dword [esp + 0x50]
add esi, ecx
mov ecx, dword [esp + 0x54]
mov esi, ecx
adc ecx, edi
add edx, ebx
adc ecx, 0
mov edx, esi
and esi, edi
or edx, edi
mov ebx, ecx
not ecx
and ecx, edx
or esi, ecx
shr esi, 0x1f
mov ecx, dword [esp + 0x48]
mov edx, esi
add esi, ecx
mov edi, esi
add esi, 1
add edx, ecx
mov ecx, dword [esp + 0x4c]
adc ecx, 0
add edi, 1
adc ecx, 0
nop
nop
nop
nop
mov edx, dword [esp + 0xcc]
add edx, 0xfffffff0
mov edi, edx
neg edx
sar edx, 0x1f
and edx, 0x10
add eax, edx
mov edx, dword [esp + 0xd0]
add edx, 0xfffffff0
nop
nop
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x58], eax
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xd4]
mov eax, edi
mov edi, ebx
mov ebx, edx
mov edx, ebp
mov ebp, esi
mov esi, dword [esp + 0xdc]
jmp 0x59340f
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x10c]
lea edi, [esp + 0xfc]
cmp eax, edi
je 0x593232
mov dword [esp + 0x5c], edx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045ee00
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
mov byte [esp + ecx + 0xfc], 1
movzx edi, byte [esp + 0xfc]
mov eax, ebp
movzx ebp, byte [esp + 0xfd]
mov ecx, ebp
shl ebp, 8
or edi, ebp
movzx ebp, byte [esp + 0xfe]
mov dword [esp + 0xc8], ebp
shl ebp, 0x10
or ebp, edi
movzx edi, byte [esp + 0xff]
mov dword [esp + 0xc4], edi
shl edi, 0x18
or edi, ebp
mov dword [esp + 0xc0], edi
mov ebp, dword [esp + 0x58]
add edi, ebp
mov dword [esp + 0xbc], edi
movzx edi, byte [esp + 0x104]
movzx ebp, byte [esp + 0x105]
mov dword [esp + 0xb8], ebp
shl ebp, 8
or edi, ebp
movzx ebp, byte [esp + 0x106]
mov dword [esp + 0xb4], ebp
shl ebp, 0x10
or ebp, edi
movzx edi, byte [esp + 0x107]
mov dword [esp + 0xb0], edi
shl edi, 0x18
or edi, ebp
mov ebp, edi
add edi, ebx
mov dword [esp + 0xac], edi
shr ecx, 0x18
mov ebx, dword [esp + 0xc8]
shr ebx, 0x10
or ebx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0xc4]
shr ebp, 8
or ebp, ebx
movzx ebx, byte [esp + 0x100]
or ebx, ebp
movzx ebp, byte [esp + 0x101]
shl ebp, 8
or ebp, ebx
movzx ebx, byte [esp + 0x102]
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [esp + 0x103]
shl ebp, 0x18
or ebp, ebx
mov ebx, dword [esp + 0xc0]
mov edi, dword [esp + 0x58]
add ebx, edi
mov ebx, ebp
adc ebp, edx
mov edi, ebx
and ebx, edx
or edi, edx
mov edx, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, edi
or ebx, ebp
shr ebx, 0x1f
mov dword [esp + 0xc8], ebx
mov ebp, dword [esp + 0xac]
mov edi, ebp
add ebp, ebx
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0xb8]
shr ebp, 0x18
mov ebx, dword [esp + 0xb4]
shr ebx, 0x10
or ebx, ebp
mov ebp, dword [esp + 0xb0]
shr ebp, 8
or ebp, ebx
movzx ebx, byte [esp + 0x108]
or ebx, ebp
movzx ebp, byte [esp + 0x109]
shl ebp, 8
or ebp, ebx
movzx ebx, byte [esp + 0x10a]
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [esp + 0x10b]
shl ebp, 0x18
or ebp, ebx
mov ebx, dword [esp + 0x50]
add ecx, ebx
mov ecx, ebp
adc ecx, eax
mov ebx, dword [esp + 0xc8]
add edi, ebx
adc ecx, 0
mov ebx, ebp
and ebp, eax
or ebx, eax
mov edi, ecx
not ecx
and ecx, ebx
or ebp, ecx
shr ebp, 0x1f
add ebp, esi
mov ecx, dword [esp + 0x4c]
adc ecx, 0
nop
xor eax, eax
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x50], ebx
xor eax, eax
xor ebx, ebx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x10c], esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x5c], edx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x40]
mov dword [esp + 8], esi
call fcn.00592a60
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc0], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xbc], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x50]
mov dword [esp], esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
call fcn.00592a60
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xb0], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xac], ebx
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x48]
mov dword [esp], esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 8], edi
call fcn.00592a60
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x58]
mov dword [esp], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
call fcn.00592a60
mov eax, dword [esp + 0x14]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x8c], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
call fcn.00592a60
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
call fcn.00592a60
mov eax, dword [esp + 0xa4]
test eax, eax
setne cl
mov edx, dword [esp + 0xa0]
test edx, edx
setne bl
or ebx, ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
test bl, bl
jne 0x593659
test ebp, ebp
setne bl
test ecx, ecx
setne cl
or ecx, ebx
test cl, cl
je 0x592c54
jmp 0x593641
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
add esp, 0x110
ret
lea eax, [0x612980]
mov dword [esp], eax
lea eax, [0x6908f4]
mov dword [esp + 4], eax
call fcn.00433710
lea eax, [0x612980]
mov dword [esp], eax
lea eax, [0x6908f4]
mov dword [esp + 4], eax
call fcn.00433710
nop
call fcn.0045d0a0
jmp fcn.00592ba0