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

Disassembly:
push 0xffffffffffffffff
push 0x5e2570
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x680f10]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esp + 0x70], 0
je 0x56c1ac
push 0x66796c67
call fcn.0056b6e0
push 0x7078616d
mov ecx, esi
mov edi, eax
call fcn.0056b6e0
mov ebx, eax
push 0x61636f6c
mov ecx, esi
mov dword [esp + 0x58], ebx
call fcn.0056b6e0
mov ebp, eax
push 0x64616568
mov ecx, esi
mov dword [esp + 0x1c], ebp
call fcn.0056b6e0
push 0x70616d63
mov ecx, esi
mov dword [esp + 0x44], eax
call fcn.0056b6e0
push 0x78746d68
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.0056b6e0
push 0x61656868
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.0056b6e0
test ebp, ebp
mov esi, eax
mov dword [esp + 0x58], esi
je 0x56c1ac
test edi, edi
je 0x56c1ac
mov eax, dword [ebp + 0xc]
push eax
call fcn.0044bd23
mov ecx, dword [edi + 0xc]
push ecx
mov dword [esp + 0x2c], eax
call fcn.0044bd23
xor edx, edx
add esp, 8
cmp ebx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], edx
je 0x56bc54
cmp dword [ebx + 4], edx
je 0x56bc54
mov ebx, dword [ebx + 4]
movzx ax, byte [ebx + 5]
mov ah, byte [ebx + 4]
movzx ecx, ax
mov dword [esp + 0x20], ecx
xor eax, eax
cmp esi, edx
je 0x56bc6d
cmp dword [esi + 4], edx
je 0x56bc6d
mov esi, dword [esi + 4]
movzx ax, byte [esi + 0x23]
mov ah, byte [esi + 0x22]
movzx eax, ax
mov ecx, dword [esp + 0x40]
cmp ecx, edx
mov dword [esp + 0x14], edx
je 0x56bc90
cmp dword [ecx + 4], edx
je 0x56bc90
mov ecx, dword [ecx + 4]
xor edx, edx
mov dh, byte [ecx + 0x32]
mov dl, byte [ecx + 0x33]
movzx ecx, dx
mov dword [esp + 0x14], ecx
movzx esi, ax
lea edx, [esi*4]
push edx
mov dword [esp + 0x48], esi
call fcn.0044bd23
movzx ebx, word [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, ebx
sub eax, esi
add eax, eax
push eax
mov dword [esp + 0x58], ebx
call fcn.0044bd23
push 0x20000
mov dword [esp + 0x4c], eax
call fcn.00427501
mov ebp, eax
mov dword [esp + 0x68], ebp
push 0x20000
mov dword [esp + 0x78], 0
call fcn.00427501
mov esi, eax
mov dword [esp + 0x3c], esi
push 0x20000
push 1
push ebp
mov byte [esp + 0x84], 1
call fcn.0044dac0
push 0x20000
push 1
push esi
call fcn.0044dac0
add esp, 0x28
xor esi, esi
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x70]
cmp byte [esi + ecx], 0
je 0x56bd5e
mov ecx, dword [esp + 0x20]
movzx eax, si
push 0
push ecx
mov ecx, dword [esp + 0x20]
movzx edx, ax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x1c]
push edx
push ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
push edi
push 0
push edx
push ecx
push eax
call fcn.0056afd0
movzx edx, ax
add esp, 0xc
push edx
push ebp
call fcn.0056b240
add esp, 0x20
add esi, 1
cmp esi, 0xffff
jbe 0x56bd14
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0
push eax
push ecx
push edx
push edi
push 0
push 0
push ebp
mov word [ebp], 0
call fcn.0056b240
mov ecx, 1
add esp, 0x20
cmp ebx, ecx
mov dword [esp + 0x1c], ecx
mov eax, ecx
jb 0x56bdbb
lea ecx, [ecx]
cmp word [ebp + eax*2], 0
jne 0x56bdb0
mov word [ebp + eax*2], cx
add ecx, 1
add eax, 1
cmp eax, ebx
jbe 0x56bda0
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x56bdd3
push 0x20000
push 0
push ebx
call fcn.0044dac0
add esp, 0xc
xor esi, esi
mov eax, dword [esp + 0x70]
cmp byte [esi + eax], 0
je 0x56be34
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
push ecx
push edx
push esi
call fcn.0056afd0
add esp, 0xc
test ebx, ebx
movzx eax, ax
je 0x56be10
movzx ecx, ax
movzx dx, byte [ebp + ecx*2 + 1]
mov dh, byte [ebp + ecx*2]
lea ecx, [ebp + ecx*2]
mov word [ebx + esi*2], dx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push ebp
push ecx
mov ecx, dword [esp + 0x20]
push edx
push ecx
push edi
movzx edx, ax
mov eax, dword [esp + 0x40]
push 0
push edx
push eax
call fcn.0056b240
add esp, 0x20
movzx eax, word [esp + 0x3c]
add esi, 1
cmp esi, eax
jbe 0x56bdd5
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
movzx eax, word [esp + 0x1c]
push ebp
push ecx
mov ecx, dword [esp + 0x20]
push edx
push ecx
xor esi, esi
push edi
sub eax, 1
push esi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
push esi
push eax
xor ebx, ebx
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x94], esi
mov word [eax], si
call fcn.0056b240
mov eax, dword [esp + 0x4c]
add esp, 0x20
sub eax, ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x4c], eax
lea ecx, [ebp + esi*2]
cmp word [eax + ecx], 0
jne 0x56c02b
cmp word [esp + 0x14], 0
movzx edx, word [ecx]
mov dword [esp + 0x1c], edx
je 0x56befc
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
movzx eax, word [ecx + esi*4 + 2]
lea esi, [ecx + esi*4]
xor edx, edx
mov dh, byte [esi]
movzx ecx, ah
mov dl, byte [esi + 1]
shl edx, 0x10
or edx, ecx
xor ecx, ecx
mov ch, al
movzx eax, cx
xor ecx, ecx
mov ch, byte [esi + 4]
or edx, eax
movzx eax, word [esi + 6]
mov dword [esp + 0x70], edx
movzx edx, ah
mov cl, byte [esi + 5]
mov esi, dword [esp + 0x3c]
shl ecx, 0x10
or ecx, edx
xor edx, edx
mov dh, al
movzx eax, dx
or ecx, eax
jmp 0x56bf23
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
lea eax, [edx + esi*2]
xor ecx, ecx
mov ch, byte [eax]
xor edx, edx
mov dh, byte [eax + 2]
mov cl, byte [eax + 1]
mov dl, byte [eax + 3]
add ecx, ecx
mov dword [esp + 0x70], ecx
add edx, edx
mov dword [esp + 0x20], edx
mov ecx, edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x30]
sub ecx, eax
push ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 4]
add ecx, eax
push ecx
lea eax, [ebx + edx]
push eax
call fcn.00450150
xor edx, edx
add esp, 0xc
cmp word [esp + 0x14], dx
je 0x56bf7d
movzx ecx, word [esp + 0x1c]
mov dh, bl
mov dword [esp + 0x70], ecx
mov eax, ebx
shr eax, 0x10
movzx ecx, ah
mov dl, bh
shl edx, 0x10
or edx, ecx
xor ecx, ecx
mov ch, al
movzx eax, cx
mov ecx, dword [esp + 0x24]
or edx, eax
mov eax, dword [esp + 0x70]
mov dword [ecx + eax*4], edx
jmp 0x56bf9b
movzx eax, word [esp + 0x1c]
mov ecx, ebx
shr ecx, 1
mov dh, cl
mov ecx, ebx
shr ecx, 9
mov dword [esp + 0x70], eax
mov dl, cl
mov ecx, dword [esp + 0x24]
mov word [ecx + eax*2], dx
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x20]
cmp esi, ecx
jb 0x56bfb0
lea eax, [ecx - 1]
mov dword [esp + 0x3c], eax
jmp 0x56bfb6
mov eax, esi
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x38]
cmp eax, edx
je 0x56bffa
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 4]
movzx edx, word [ecx + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
mov word [ecx + eax*4], dx
mov edx, dword [esp + 0x38]
movzx edx, word [edx + 2]
mov word [ecx + eax*4 + 2], dx
mov ecx, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x38], ecx
mov dword [esp + 0x74], eax
jmp 0x56c01d
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x28]
sub eax, edx
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x70]
add eax, esi
mov dx, word [edx + eax*2 - 2]
sub ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
mov word [eax + ecx*2], dx
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x70], ecx
je 0x56c03c
mov eax, dword [esp + 0x4c]
add esi, 1
cmp esi, dword [esp + 0x50]
mov dword [esp + 0x3c], esi
jbe 0x56be90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx + 4]
add eax, 1
cmp word [esp + 0x14], 0
movzx dx, ah
mov dh, al
movzx esi, ax
mov word [ecx + 4], dx
mov ecx, ebx
je 0x56c084
xor edx, edx
mov dh, bl
shr ecx, 0x10
movzx eax, ch
mov dl, bh
shl edx, 0x10
or edx, eax
xor eax, eax
mov ah, cl
movzx ecx, ax
mov eax, dword [esp + 0x24]
or edx, ecx
mov dword [eax + esi*4], edx
jmp 0x56c094
mov eax, dword [esp + 0x24]
shr ecx, 1
movzx dx, ch
mov dh, cl
mov word [eax + esi*2], dx
mov edx, dword [esp + 0x24]
xor eax, eax
cmp word [esp + 0x14], ax
lea ecx, [esi + 1]
setne al
lea eax, [eax + eax + 2]
imul eax, ecx
mov ecx, dword [esp + 0x18]
push eax
mov dword [ecx + 8], eax
mov eax, dword [ecx + 4]
push edx
push eax
call fcn.00450150
mov ecx, dword [edi + 4]
push ebx
push 0
push ecx
mov dword [edi + 8], ebx
call fcn.0044dac0
mov edx, dword [esp + 0x48]
mov eax, dword [edi + 4]
push ebx
push edx
push eax
call fcn.00450150
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x4c]
movzx cx, bh
mov ch, bl
lea ebp, [ebx*4]
push ebp
mov word [eax + 0x22], cx
mov eax, dword [esp + 0x5c]
lea ecx, [esi + ebx]
add ecx, ecx
mov dword [edx + 8], ecx
mov ecx, edx
mov edx, dword [ecx + 4]
push eax
push edx
call fcn.00450150
sub esi, ebx
mov ebx, dword [esp + 0x70]
add esi, esi
push esi
mov esi, dword [esp + 0x5c]
mov eax, dword [esi + 4]
add eax, ebp
push ebx
push eax
call fcn.00450150
mov eax, dword [edi + 8]
add esp, 0x3c
test al, 3
mov dword [edi + 0xc], eax
je 0x56c147
and eax, 0xfffffffc
add eax, 4
mov dword [edi + 0xc], eax
mov eax, dword [esi + 8]
test al, 3
mov dword [esi + 0xc], eax
je 0x56c15a
and eax, 0xfffffffc
add eax, 4
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
test al, 3
mov dword [ecx + 0xc], eax
je 0x56c171
and eax, 0xfffffffc
add eax, 4
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0044bde6
mov edx, dword [esp + 0x34]
push edx
call fcn.0044bde6
mov eax, dword [esp + 0x3c]
push eax
call fcn.0044bde6
push ebx
call fcn.0044bde6
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004274fc
mov edx, dword [esp + 0x70]
push edx
call fcn.004274fc
add esp, 0x18
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 8