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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x57049c
sub esp, 0xbc
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.00465fe9
lea edi, [esp + 0xa0]
call fcn.00465fe9
mov ecx, dword [esp + 0xc4]
cmp ecx, 8
jl 0x570077
mov edx, dword [esp + 0xc0]
movzx ebx, byte [edx + 1]
movzx ebp, byte [edx]
shl ebp, 8
or ebx, ebp
mov word [esp + 0xa0], bx
lea ebx, [ecx - 2]
cmp ebx, 1
jbe 0x57048f
movzx ebx, byte [edx + 3]
movzx ebp, byte [edx + 2]
shl ebp, 8
or ebx, ebp
mov word [esp + 0xa2], bx
lea ebp, [ecx - 4]
cmp ebp, 3
jbe 0x570483
movzx ebp, byte [edx + 7]
mov esi, ebx
movzx ebx, byte [edx + 6]
shl ebx, 8
or ebp, ebx
movzx ebx, byte [edx + 5]
shl ebx, 0x10
or ebp, ebx
movzx ebx, byte [edx + 4]
shl ebx, 0x18
or ebx, ebp
test ebx, ebx
je 0x570112
mov ebp, dword [esp + 0xd0]
cmp ebp, ebx
jl 0x56ffab
movzx esi, si
lea edi, [ebx + esi*4]
cmp ebp, edi
jl 0x56fedf
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x54], esi
lea eax, [0x6998c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x3c]
xor esi, esi
jmp 0x5703d0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp], edi
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x7030a7]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
lea edi, [esp + 0xd8]
lea esi, [esp + 0xa0]
call fcn.004664ba
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xfc], eax
add esp, 0xbc
ret
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x7030a7]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
lea edi, [esp + 0xd8]
lea esi, [esp + 0xa0]
call fcn.004664ba
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xfc], eax
add esp, 0xbc
ret
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea eax, [0x70294f]
mov dword [esp], eax
mov dword [esp + 4], 0x32
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
lea edi, [esp + 0xd8]
lea esi, [esp + 0xa0]
call fcn.004664ba
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xfc], eax
add esp, 0xbc
ret
movzx ebx, word [esp + 0xa0]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0xd0]
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, 8
mov dword [esp + 0x48], eax
xor eax, eax
jmp 0x57017c
mov eax, dword [esp + 0x4c]
inc eax
mov ebp, dword [esp + 0xc8]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0xc4]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
xor eax, eax
mov edx, dword [esp + 0xc0]
mov edx, dword [esp + 0x4c]
cmp edx, ebx
jge 0x57036b
mov ebx, dword [esp + 0x48]
cmp ecx, ebx
jb 0x5703a6
mov edx, edi
lea edi, [esp + 0x8c]
call fcn.00465feb
sub ebp, ebx
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
mov ecx, dword [esp + 0xc0]
add ebp, ecx
movzx ecx, word [esp + 0xa2]
mov dword [esp], ebp
mov ebp, dword [esp + 0xc4]
sub ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
call fcn.005704b0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
lea edi, [esp + 0x8c]
lea esi, [esp + 0x1c]
call fcn.004664ce
lea edi, [esp + 0x78]
lea esi, [esp + 0x8c]
call fcn.004664ce
test edx, edx
jne 0x5702db
mov ecx, dword [esp + 0xb4]
inc ecx
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb8]
cmp ebx, ecx
jae 0x570284
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6bdd40]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*4 - 0x14]
mov ecx, dword [0x1eaa9f0]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x40]
add edx, ebx
test ecx, ecx
jne 0x5702b4
lea esi, [esp + 0x78]
call fcn.004664ce
jmp 0x570146
mov dword [esp + 0x44], edx
lea eax, [0x6bdd40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004115f0
mov edx, dword [esp + 0x44]
jmp 0x570146
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
test ebx, ebx
je 0x5702f2
mov ebx, dword [ebx + 4]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebp
lea eax, [0x6f6db6]
mov dword [esp], eax
mov dword [esp + 4], 0x15
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
lea edi, [esp + 0xd8]
lea esi, [esp + 0xa0]
call fcn.004664ba
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xfc], eax
add esp, 0xbc
ret
lea edi, [esp + 0xd8]
lea esi, [esp + 0xa0]
call fcn.004664ba
mov eax, dword [esp + 0x48]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
add esp, 0xbc
ret
mov eax, ebx
call fcn.00465e60
mov dword [eax + ebx*4], edx
lea esi, [ebx + 1]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x3c]
cmp esi, eax
jge 0x570452
lea edi, [ebp + esi*4]
cmp ebx, edi
jb 0x57047a
sub ecx, edi
neg ecx
sar ecx, 0x1f
and ecx, edi
sub ebx, edi
cmp ebx, 3
jbe 0x57046e
mov dword [esp + 0x50], esi
movzx eax, byte [edx + ecx + 3]
movzx ebx, byte [edx + ecx + 2]
shl ebx, 8
or eax, ebx
movzx ebx, byte [edx + ecx + 1]
shl ebx, 0x10
or eax, ebx
movzx ecx, byte [edx + ecx]
shl ecx, 0x18
or ecx, eax
mov dword [esp], ecx
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x47800000
call fcn.0044e470
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x50]
cmp ebx, ecx
jb 0x5703ad
jmp 0x570467
xor eax, eax
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
jmp 0x570112
mov eax, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, edi
mov ecx, ebx
call fcn.00465e60
mov eax, 3
mov ecx, ebp
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.0056fdb0