Function at 0x535980
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 0x5363d7
sub esp, 0x110
mov eax, dword [esp + 0x114]
mov ecx, dword [eax]
mov dword [esp + 0x68], 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 + 0x50], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x54], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xf8]
jmp 0x535d70
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edi
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x18], eax
call fcn.005358b0
mov eax, dword [esp + 0x20]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xd8]
add ecx, eax
mov dword [esp + 0xc8], ecx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc4], ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xc0], ebp
mov esi, dword [esp + 0x28]
mov dword [esp + 0xac], esi
mov edi, dword [esp + 0xb0]
mov dword [esp + 4], edi
mov edi, dword [esp + 0xb4]
mov dword [esp], edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xbc]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x94]
mov dword [esp + 0x18], edi
call fcn.005358b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xac]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xcc]
add ebx, ebp
mov ebp, dword [esp + 0xdc]
mov ebx, dword [esp + 0xc4]
mov esi, ebp
adc ebp, ebx
mov dword [esp + 0x84], 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 + 0x44], esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0xdc], edi
mov ebx, dword [esp + 0x8c]
add ebx, edi
mov edi, dword [esp + 0x24]
add edx, ecx
mov edx, dword [esp + 0xc0]
mov ecx, edi
adc edi, edx
add ebp, eax
adc edi, 0
mov dword [esp + 0x80], 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 + 0x74], ecx
and esi, 0xfffffffc
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0xd0]
add esi, edi
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0xc8]
add esi, ecx
mov ebp, dword [esp + 0x70]
add edi, ebp
mov edi, dword [esp + 0xd4]
adc edx, edi
mov dword [esp + 0x7c], edx
mov ebp, dword [esp + 0x80]
and ebp, edi
mov ecx, dword [esp + 0x80]
or edi, ecx
not edx
and edi, edx
or ebp, edi
shr ebp, 0x1f
mov edx, ebp
add ebp, esi
mov dword [esp + 0x38], ebp
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x8c]
mov ecx, dword [esp + 0xdc]
add ebp, ecx
mov ebp, dword [esp + 0x88]
adc ebp, edi
add eax, ebx
adc ebp, 0
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x74]
add eax, ecx
mov eax, dword [esp + 0x84]
mov ebx, eax
adc eax, ebp
add edx, esi
adc eax, 0
mov edx, dword [esp + 0x44]
and edx, 3
mov dword [esp + 0x58], 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 + 0xdc], ebp
add edx, ebp
mov dword [esp + 0xd4], edx
mov ebx, dword [esp + 0x70]
shr ebx, 2
mov eax, dword [esp + 0x80]
shl eax, 0x1e
or eax, ebx
mov dword [esp + 0xd0], eax
mov ebx, dword [esp + 0xd8]
add eax, ebx
mov dword [esp + 0xd8], eax
shr ecx, 2
shl esi, 0x1e
or esi, ecx
mov dword [esp + 0xcc], esi
mov ecx, dword [esp + 0x38]
add esi, ecx
mov eax, dword [esp + 0x80]
shr eax, 2
mov ebp, dword [esp + 0x74]
and ebp, 3
shl ebp, 0x1e
or ebp, eax
mov eax, dword [esp + 0xd0]
add eax, ebx
mov eax, dword [esp + 0x7c]
mov ebx, eax
adc eax, ebp
and ebx, ebp
mov edx, dword [esp + 0x7c]
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 + 0xe4], ebx
mov edx, dword [esp + 0x78]
shr edx, 2
mov ebx, dword [esp + 0xcc]
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 + 0xd4]
mov ebx, ecx
add ecx, eax
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0xdc]
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 + 0xd8]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xe4]
mov esi, ecx
mov ecx, dword [esp + 0x4c]
mov eax, edx
mov edx, ebp
mov ebp, eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x11c]
test ecx, ecx
jle 0x53638a
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edi
cmp ecx, 0x10
jl 0x536191
mov eax, dword [esp + 0x118]
movzx ecx, byte [eax]
movzx edi, byte [eax + 1]
mov dword [esp + 0xdc], edi
shl edi, 8
or ecx, edi
movzx edi, byte [eax + 2]
mov dword [esp + 0xd8], edi
shl edi, 0x10
or edi, ecx
movzx ecx, byte [eax + 3]
mov dword [esp + 0xd4], ecx
shl ecx, 0x18
or ecx, edi
mov dword [esp + 0xd0], ecx
mov edi, dword [esp + 0x30]
add ecx, edi
mov dword [esp + 0xcc], ecx
movzx ecx, byte [eax + 8]
movzx esi, byte [eax + 9]
mov dword [esp + 0xc8], esi
shl esi, 8
or ecx, esi
movzx esi, byte [eax + 0xa]
mov dword [esp + 0xc4], esi
shl esi, 0x10
or esi, ecx
movzx ecx, byte [eax + 0xb]
mov dword [esp + 0xc0], ecx
shl ecx, 0x18
or ecx, esi
mov esi, ecx
add ecx, ebx
mov ebp, dword [esp + 0xdc]
shr ebp, 0x18
mov ebx, dword [esp + 0xd8]
shr ebx, 0x10
or ebx, ebp
mov ebp, dword [esp + 0xd4]
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 + 0xd0]
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 edi, ebp
or ebx, edi
shr ebx, 0x1f
mov ebp, ecx
add ecx, ebx
mov dword [esp + 0xe0], ecx
mov edi, dword [esp + 0xc8]
shr edi, 0x18
mov ecx, dword [esp + 0xc4]
shr ecx, 0x10
or ecx, edi
mov edi, dword [esp + 0xc0]
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 + 0x34]
add esi, ecx
mov ecx, dword [esp + 0x3c]
mov esi, edi
adc edi, ecx
add ebp, ebx
adc edi, 0
mov ebx, esi
and esi, ecx
or ebx, ecx
mov ecx, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and edi, ebx
or esi, edi
shr esi, 0x1f
mov ebx, dword [esp + 0x58]
mov ebp, esi
add esi, ebx
mov edi, esi
add esi, 1
add ebp, ebx
mov ebx, dword [esp + 0x5c]
adc ebx, 0
add edi, 1
adc ebx, 0
nop
nop
nop
nop
mov ebp, dword [esp + 0x120]
add ebp, 0xfffffff0
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0x10
add eax, ebp
mov ebp, dword [esp + 0x11c]
add ebp, 0xfffffff0
nop
nop
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x68], eax
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x118], eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], ebp
mov edi, dword [esp + 0x50]
mov dword [esp + 8], edi
call fcn.00535840
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd8], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xd4], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd0], ebx
mov ebp, dword [esp + 0x64]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x60]
mov dword [esp], esi
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
call fcn.00535840
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc4], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc0], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x58]
mov dword [esp], esi
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 8], edi
call fcn.00535840
mov eax, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xb4], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb0], ebx
mov ebp, dword [esp + 0x6c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x48]
mov dword [esp + 8], esi
call fcn.00535840
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xa0], ebx
mov ebp, dword [esp + 0x64]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x60]
mov dword [esp], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x48]
mov dword [esp + 8], esi
call fcn.00535840
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x94], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x90], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x58]
mov dword [esp], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x48]
mov dword [esp + 8], esi
call fcn.00535840
mov eax, dword [esp + 0xbc]
test eax, eax
setne cl
mov edx, dword [esp + 0xb8]
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 0x5363be
test ebp, ebp
setne bl
test ecx, ecx
setne cl
or ecx, ebx
test cl, cl
je 0x5359f6
jmp 0x5363a6
mov dword [esp + 0x40], edx
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
lea eax, [esp + 0x100]
mov edi, dword [esp + 0x118]
cmp eax, edi
je 0x5361e3
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.0045e7b0
mov eax, dword [esp + 0x11c]
mov byte [esp + eax + 0x100], 1
movzx eax, byte [esp + 0x100]
movzx edx, byte [esp + 0x101]
mov ecx, edx
shl edx, 8
or eax, edx
movzx edx, byte [esp + 0x102]
mov ebx, edx
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x103]
mov ebp, eax
shl eax, 0x18
or eax, edx
mov edx, dword [esp + 0x30]
mov esi, eax
add eax, edx
mov dword [esp + 0xdc], eax
movzx edi, byte [esp + 0x108]
movzx eax, byte [esp + 0x109]
mov dword [esp + 0xd8], eax
shl eax, 8
or edi, eax
movzx eax, byte [esp + 0x10a]
mov dword [esp + 0xd4], eax
shl eax, 0x10
or eax, edi
movzx edi, byte [esp + 0x10b]
mov dword [esp + 0xd0], edi
shl edi, 0x18
or edi, eax
mov dword [esp + 0xcc], edi
mov eax, dword [esp + 0x34]
add edi, eax
shr ecx, 0x18
shr ebx, 0x10
or ebx, ecx
shr ebp, 8
or ebp, ebx
movzx ecx, byte [esp + 0x104]
or ecx, ebp
movzx ebx, byte [esp + 0x105]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [esp + 0x106]
shl ecx, 0x10
or ecx, ebx
movzx ebx, byte [esp + 0x107]
shl ebx, 0x18
or ebx, ecx
add esi, edx
mov edx, dword [esp + 0x40]
mov ecx, ebx
adc ebx, edx
mov ebp, ecx
and ecx, edx
or ebp, edx
mov edx, ebx
not ebx
and ebx, ebp
or ecx, ebx
shr ecx, 0x1f
mov ebx, edi
add edi, ecx
mov ebp, dword [esp + 0xd8]
shr ebp, 0x18
mov esi, dword [esp + 0xd4]
shr esi, 0x10
or esi, ebp
mov ebp, dword [esp + 0xd0]
shr ebp, 8
or ebp, esi
movzx esi, byte [esp + 0x10c]
or esi, ebp
movzx ebp, byte [esp + 0x10d]
shl ebp, 8
or ebp, esi
movzx esi, byte [esp + 0x10e]
shl esi, 0x10
or esi, ebp
movzx ebp, byte [esp + 0x10f]
shl ebp, 0x18
or ebp, esi
mov esi, dword [esp + 0xcc]
add esi, eax
mov eax, dword [esp + 0x3c]
mov esi, eax
adc eax, ebp
add ebx, ecx
adc eax, 0
mov ecx, esi
and esi, ebp
or ecx, ebp
mov ebx, eax
not eax
and eax, ecx
or esi, eax
shr esi, 0x1f
mov eax, dword [esp + 0x58]
add esi, eax
mov eax, dword [esp + 0x5c]
adc eax, 0
nop
xor ebp, ebp
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], edi
mov ecx, ebx
mov ebx, eax
xor edi, edi
xor eax, eax
jmp 0x535f71
mov ecx, dword [esp + 0x30]
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, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c278]
mov dword [esp + 4], eax
call fcn.00431a30
lea eax, [0x5db180]
mov dword [esp], eax
lea eax, [0x65c278]
mov dword [esp + 4], eax
call fcn.00431a30
nop
call fcn.0045c8b0
jmp fcn.00535980