Function at 0x53c860
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 0x53d352
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 0x53cc88
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
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 + 0x90]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x18], eax
call fcn.0053c790
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 + 0x94], esi
mov edi, dword [esp + 0x98]
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 + 0x80]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x18], edi
call fcn.0053c790
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x94]
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 + 0xa8], 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 + 0x70]
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 + 0x70]
mov ecx, dword [esp + 0xc8]
add ebp, ecx
mov ebp, dword [esp + 0x74]
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 + 0xa8]
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
jle 0x53d305
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edi
cmp ecx, 0x10
jl 0x53ce86
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, edi
adc edi, ecx
add edx, ebx
adc edi, 0
mov edx, esi
and esi, ecx
or edx, ecx
mov ecx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, edx
or esi, edi
shr esi, 0x1f
mov edx, dword [esp + 0x48]
mov ebx, esi
add esi, edx
mov edi, esi
add esi, 1
add ebx, edx
mov edx, dword [esp + 0x4c]
adc edx, 0
add edi, 1
adc edx, 0
nop
nop
nop
nop
mov ebx, dword [esp + 0xcc]
add ebx, 0xfffffff0
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 0x10
add eax, ebx
mov ebx, dword [esp + 0xd0]
add ebx, 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, dword [esp + 0xdc]
jmp 0x53d0f2
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 0x53ceef
mov dword [esp + 0x5c], edx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045ef80
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
mov eax, ebp
movzx ebp, byte [esp + 0xfc]
mov ecx, ebp
movzx ebp, byte [esp + 0xfd]
mov edi, ebp
shl ebp, 8
or ecx, ebp
movzx ebp, byte [esp + 0xfe]
mov dword [esp + 0xc8], ebp
shl ebp, 0x10
or ebp, ecx
mov ecx, ebp
movzx ebp, byte [esp + 0xff]
mov dword [esp + 0xc4], ebp
shl ebp, 0x18
or ebp, ecx
mov dword [esp + 0xc0], ebp
mov ecx, dword [esp + 0x58]
add ebp, ecx
mov dword [esp + 0xbc], ebp
movzx ebp, byte [esp + 0x104]
mov dword [esp + 0xb8], ebp
movzx ebp, byte [esp + 0x105]
mov dword [esp + 0xb4], ebp
shl ebp, 8
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
or ebp, esi
mov esi, ebp
movzx ebp, byte [esp + 0x106]
mov dword [esp + 0xb8], ebp
shl ebp, 0x10
or ebp, esi
mov esi, ebp
movzx ebp, byte [esp + 0x107]
mov dword [esp + 0xb0], ebp
shl ebp, 0x18
or ebp, esi
mov esi, ebp
add ebp, ebx
mov dword [esp + 0xac], ebp
shr edi, 0x18
mov ebp, dword [esp + 0xc8]
shr ebp, 0x10
or ebp, edi
mov edi, ebp
mov ebp, dword [esp + 0xc4]
shr ebp, 8
or ebp, edi
mov edi, ebp
movzx ebp, byte [esp + 0x100]
or ebp, edi
mov edi, ebp
movzx ebp, byte [esp + 0x101]
shl ebp, 8
or ebp, edi
mov edi, ebp
movzx ebp, byte [esp + 0x102]
shl ebp, 0x10
or ebp, edi
mov edi, ebp
movzx ebp, byte [esp + 0x103]
shl ebp, 0x18
or ebp, edi
mov edi, ebp
mov ebp, dword [esp + 0xc0]
add ebp, ecx
mov ebp, edx
adc edx, edi
mov dword [esp + 0xa8], edx
mov ecx, ebp
and ebp, edi
or ecx, edi
not edx
and edx, ecx
or ebp, edx
shr ebp, 0x1f
mov ecx, ebp
mov ebp, dword [esp + 0xac]
mov edx, ebp
add ebp, ecx
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0xb4]
shr ebp, 0x18
mov dword [esp + 0xc8], ebp
mov ebp, dword [esp + 0xb8]
shr ebp, 0x10
mov edi, dword [esp + 0xc8]
or edi, ebp
mov ebp, dword [esp + 0xb0]
shr ebp, 8
or edi, ebp
movzx ebp, byte [esp + 0x108]
or edi, ebp
movzx ebp, byte [esp + 0x109]
shl ebp, 8
or edi, ebp
movzx ebp, byte [esp + 0x10a]
shl ebp, 0x10
or edi, ebp
movzx ebp, byte [esp + 0x10b]
shl ebp, 0x18
or edi, ebp
add esi, ebx
mov ebp, eax
adc eax, edi
add edx, ecx
adc eax, 0
mov ecx, ebp
and ebp, edi
or ecx, edi
mov edi, eax
not eax
and eax, ecx
or ebp, eax
shr ebp, 0x1f
mov eax, dword [esp + 0x48]
add ebp, eax
mov edx, dword [esp + 0x4c]
adc edx, 0
nop
xor ebx, ebx
xor eax, eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x58], ecx
mov ecx, edi
mov esi, ebp
xor edi, edi
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x40]
mov dword [esp + 8], edi
call fcn.0053c720
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.0053c720
mov eax, dword [esp + 0x10]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x14]
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.0053c720
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x98], 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.0053c720
mov eax, dword [esp + 0x10]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x8c], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x88], 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.0053c720
mov eax, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x78], 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.0053c720
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 0x53d339
test ebp, ebp
setne bl
test ecx, ecx
setne cl
or ecx, ebx
test cl, cl
je 0x53c914
jmp 0x53d321
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, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dde8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dde8]
mov dword [esp + 4], eax
call fcn.004334d0
nop
call fcn.0045d190
jmp fcn.0053c860