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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x542950
sub esp, 0x10c
mov eax, dword [esp + 0x110]
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 + 0x1c]
mov dword [esp + 0x54], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xf4]
jmp 0x5422ec
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
call fcn.00541e40
mov eax, dword [esp + 0x20]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0xd4]
add ecx, eax
mov dword [esp + 0xcc], ecx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc8], ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xc4], ebp
mov esi, dword [esp + 0x28]
mov dword [esp + 0xb0], esi
mov edi, dword [esp + 0xb8]
mov dword [esp], edi
mov edi, dword [esp + 0xb4]
mov dword [esp + 4], edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 8], edi
mov edi, dword [esp + 0xbc]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x94]
mov dword [esp + 0x1c], edi
call fcn.00541e40
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xb0]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd0]
add ebx, ebp
mov ebp, dword [esp + 0xdc]
mov ebx, dword [esp + 0xc8]
mov esi, ebp
adc ebp, ebx
mov dword [esp + 0x88], 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 + 0x90]
add ebx, edi
mov edi, dword [esp + 0x24]
add edx, ecx
mov edx, dword [esp + 0xc4]
mov ecx, edi
adc edi, edx
add ebp, eax
adc edi, 0
mov dword [esp + 0x84], 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 + 0xd8]
add esi, edi
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0xcc]
add esi, ecx
mov ebp, dword [esp + 0x70]
add edi, ebp
mov edi, dword [esp + 0xe0]
adc edx, edi
mov dword [esp + 0x7c], edx
mov ebp, dword [esp + 0x84]
and ebp, edi
mov ecx, dword [esp + 0x84]
or edi, ecx
not edx
and edi, edx
or ebp, edi
shr ebp, 0x1f
mov edx, ebp
add ebp, esi
mov dword [esp + 0x30], ebp
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x90]
mov ecx, dword [esp + 0xdc]
add ebp, ecx
mov ebp, dword [esp + 0x8c]
adc ebp, edi
add eax, ebx
adc ebp, 0
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x74]
add eax, ecx
mov eax, dword [esp + 0x88]
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, ebx
and ebx, ebp
or esi, ebp
mov edi, eax
not eax
and esi, eax
or ebx, esi
shr ebx, 0x1f
mov dword [esp + 0xe0], ebx
add edx, ebx
mov dword [esp + 0xdc], edx
mov esi, dword [esp + 0x70]
shr esi, 2
mov eax, dword [esp + 0x84]
shl eax, 0x1e
or eax, esi
mov dword [esp + 0xd4], eax
mov esi, dword [esp + 0xd8]
add eax, esi
mov dword [esp + 0xd8], eax
shr ecx, 2
shl ebp, 0x1e
or ebp, ecx
mov dword [esp + 0xd0], ebp
mov ecx, dword [esp + 0x30]
add ebp, ecx
mov eax, dword [esp + 0x84]
shr eax, 2
mov ebx, dword [esp + 0x74]
and ebx, 3
shl ebx, 0x1e
or ebx, eax
mov eax, dword [esp + 0xd4]
add eax, esi
mov eax, dword [esp + 0x7c]
mov esi, eax
adc eax, ebx
mov dword [esp + 0x88], eax
and esi, ebx
mov edx, dword [esp + 0x7c]
or edx, ebx
not eax
and edx, eax
or esi, edx
shr esi, 0x1f
mov eax, esi
add esi, ebp
mov edx, dword [esp + 0x78]
shr edx, 2
mov ebx, dword [esp + 0xd0]
add ebx, ecx
mov ecx, edi
adc edi, edx
add eax, ebp
adc edi, 0
mov eax, ecx
and ecx, edx
or eax, edx
mov ebp, edi
xchg edi, ebx
not ebx
xchg edi, ebx
and eax, edi
or ecx, eax
shr ecx, 0x1f
mov eax, dword [esp + 0xdc]
mov edx, ecx
add ecx, eax
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0xe0]
add ebx, edi
mov edi, 0
adc edi, 0
add edx, eax
adc edi, 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0x38], ebx
mov ebx, esi
mov esi, ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x118]
test ecx, ecx
jle 0x542903
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edi
cmp ecx, 0x10
jl 0x542708
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax]
movzx edi, byte [eax + 1]
mov dword [esp + 0xe0], edi
shl edi, 8
or ecx, edi
movzx edi, byte [eax + 2]
mov dword [esp + 0xdc], edi
shl edi, 0x10
or edi, ecx
movzx ecx, byte [eax + 3]
mov dword [esp + 0xd8], ecx
shl ecx, 0x18
or ecx, edi
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x38]
add ecx, edi
mov dword [esp + 0xd0], ecx
movzx ecx, byte [eax + 8]
movzx esi, byte [eax + 9]
mov dword [esp + 0xcc], esi
shl esi, 8
or ecx, esi
movzx esi, byte [eax + 0xa]
mov dword [esp + 0xc8], esi
shl esi, 0x10
or esi, ecx
movzx ecx, byte [eax + 0xb]
mov dword [esp + 0xc4], ecx
shl ecx, 0x18
or ecx, esi
mov esi, ecx
add ecx, ebx
mov ebp, dword [esp + 0xe0]
shr ebp, 0x18
mov ebx, dword [esp + 0xdc]
shr ebx, 0x10
or ebx, ebp
mov ebp, dword [esp + 0xd8]
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 + 0xd4]
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 + 0x80], ecx
mov edi, dword [esp + 0xcc]
shr edi, 0x18
mov ecx, dword [esp + 0xc8]
shr ecx, 0x10
or ecx, edi
mov edi, dword [esp + 0xc4]
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, 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 + 0x58]
mov edx, esi
add esi, ecx
mov edi, esi
add esi, 1
add edx, ecx
mov ecx, dword [esp + 0x5c]
adc ecx, 0
add edi, 1
adc ecx, 0
nop
nop
nop
nop
mov edx, dword [esp + 0x11c]
add edx, 0xfffffff0
mov edi, edx
neg edx
sar edx, 0x1f
and edx, 0x10
add eax, edx
mov edx, dword [esp + 0x118]
add edx, 0xfffffff0
nop
nop
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x68], eax
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0xec]
mov dword [esp + 0x11c], edi
mov dword [esp + 0x118], edx
mov dword [esp + 0x114], eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebp
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], edi
call fcn.00541dd0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xd8], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xd4], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp], ebp
mov esi, dword [esp + 0x64]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x50]
mov dword [esp + 8], edi
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.00541dd0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xcc], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc8], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp], ebp
mov esi, dword [esp + 0x5c]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x50]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], edi
call fcn.00541dd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb4], ebx
mov ebp, dword [esp + 0x68]
mov dword [esp], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
call fcn.00541dd0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xa4], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp], ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
call fcn.00541dd0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x94], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp], ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
call fcn.00541dd0
mov eax, dword [esp + 0xc0]
test eax, eax
setne cl
mov edx, dword [esp + 0xbc]
test edx, edx
setne bl
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x14]
or ebx, ecx
test bl, bl
jne 0x542937
test esi, esi
setne cl
test ebp, ebp
setne bl
or ebx, ecx
test bl, bl
je 0x541f86
jmp 0x54291f
mov dword [esp + 0x40], edx
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea eax, [esp + 0xfc]
mov edi, dword [esp + 0x114]
cmp eax, edi
je 0x54275a
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.0045d2c0
mov eax, dword [esp + 0x118]
mov byte [esp + eax + 0xfc], 1
movzx eax, byte [esp + 0xfc]
movzx ebp, byte [esp + 0xfd]
mov ecx, ebp
shl ebp, 8
or eax, ebp
movzx ebp, byte [esp + 0xfe]
mov edx, ebp
shl ebp, 0x10
or ebp, eax
movzx eax, byte [esp + 0xff]
mov ebx, eax
shl eax, 0x18
or eax, ebp
mov ebp, dword [esp + 0x38]
mov esi, eax
add eax, ebp
mov dword [esp + 0xe0], eax
movzx edi, byte [esp + 0x104]
movzx eax, byte [esp + 0x105]
mov dword [esp + 0xdc], eax
shl eax, 8
or edi, eax
movzx eax, byte [esp + 0x106]
mov dword [esp + 0xd8], eax
shl eax, 0x10
or eax, edi
movzx edi, byte [esp + 0x107]
mov dword [esp + 0xd4], edi
shl edi, 0x18
or edi, eax
mov dword [esp + 0xd0], edi
mov eax, dword [esp + 0x34]
add edi, eax
shr ecx, 0x18
shr edx, 0x10
or edx, ecx
shr ebx, 8
or ebx, edx
movzx ecx, byte [esp + 0x100]
or ecx, ebx
movzx edx, byte [esp + 0x101]
shl edx, 8
or edx, ecx
movzx ecx, byte [esp + 0x102]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [esp + 0x103]
shl edx, 0x18
or edx, ecx
add esi, ebp
mov ebp, dword [esp + 0x40]
mov ecx, ebp
adc ebp, edx
mov ebx, ecx
and ecx, edx
or ebx, edx
mov edx, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
and ebp, ebx
or ecx, ebp
shr ecx, 0x1f
mov ebx, edi
add edi, ecx
mov ebp, dword [esp + 0xdc]
shr ebp, 0x18
mov esi, dword [esp + 0xd8]
shr esi, 0x10
or esi, ebp
mov ebp, dword [esp + 0xd4]
shr ebp, 8
or ebp, esi
movzx esi, byte [esp + 0x108]
or esi, ebp
movzx ebp, byte [esp + 0x109]
shl ebp, 8
or ebp, esi
movzx esi, byte [esp + 0x10a]
shl esi, 0x10
or esi, ebp
movzx ebp, byte [esp + 0x10b]
shl ebp, 0x18
or ebp, esi
mov esi, dword [esp + 0xd0]
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 ecx, dword [esp + 0x5c]
adc ecx, 0
nop
xor eax, eax
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0x68], ebp
mov ebp, edx
mov dword [esp + 0x60], edi
xor edi, edi
xor edx, edx
jmp 0x5424e1
mov ecx, dword [esp + 0x38]
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, 0x10c
ret
lea eax, [0x643700]
mov dword [esp], eax
lea eax, [0x6c8580]
mov dword [esp + 4], eax
call fcn.00431bb0
lea eax, [0x643700]
mov dword [esp], eax
lea eax, [0x6c8578]
mov dword [esp + 4], eax
call fcn.00431bb0
nop
call fcn.0045b380
jmp fcn.00541f10