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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x580d58
sub esp, 0x84
lea edi, [esp + 0x94]
xor eax, eax
call fcn.00465fd9
lea edi, [esp + 0x28]
call fcn.00465fd9
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x4e
jl 0x580b6f
mov edx, dword [esp + 0x88]
movzx ebx, byte [edx + 1]
movzx ebp, byte [edx]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x28], bx
lea ebx, [ecx - 2]
cmp ebx, 1
jbe 0x580d4b
movzx ebx, byte [edx + 3]
movzx ebp, byte [edx + 2]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x2a], bx
lea ebx, [ecx - 4]
cmp ebx, 1
jbe 0x580d3f
movzx ebx, byte [edx + 5]
movzx ebp, byte [edx + 4]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x2c], bx
lea ebx, [ecx - 6]
cmp ebx, 1
jbe 0x580d33
movzx ebx, byte [edx + 7]
movzx ebp, byte [edx + 6]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x2e], bx
lea ebx, [ecx - 8]
cmp ebx, 1
jbe 0x580d27
movzx ebx, byte [edx + 9]
movzx ebp, byte [edx + 8]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x30], bx
lea ebx, [ecx - 0xa]
cmp ebx, 1
jbe 0x580d1b
movzx ebx, byte [edx + 0xb]
movzx ebp, byte [edx + 0xa]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x32], bx
lea ebx, [ecx - 0xc]
cmp ebx, 1
jbe 0x580d0f
movzx ebx, byte [edx + 0xd]
movzx ebp, byte [edx + 0xc]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x34], bx
lea ebx, [ecx - 0xe]
cmp ebx, 1
jbe 0x580d03
movzx ebx, byte [edx + 0xf]
movzx ebp, byte [edx + 0xe]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x36], bx
lea ebx, [ecx - 0x10]
cmp ebx, 1
jbe 0x580cf7
movzx ebx, byte [edx + 0x11]
movzx ebp, byte [edx + 0x10]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x38], bx
lea ebx, [ecx - 0x12]
cmp ebx, 1
jbe 0x580ceb
movzx ebx, byte [edx + 0x13]
movzx ebp, byte [edx + 0x12]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x3a], bx
lea ebx, [ecx - 0x14]
cmp ebx, 1
jbe 0x580cdf
movzx ebx, byte [edx + 0x15]
movzx ebp, byte [edx + 0x14]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x3c], bx
lea ebx, [ecx - 0x16]
cmp ebx, 1
jbe 0x580cd3
movzx ebx, byte [edx + 0x17]
movzx ebp, byte [edx + 0x16]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x3e], bx
lea ebx, [ecx - 0x18]
cmp ebx, 1
jbe 0x580cc7
movzx ebx, byte [edx + 0x19]
movzx ebp, byte [edx + 0x18]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x40], bx
lea ebx, [ecx - 0x1a]
cmp ebx, 1
jbe 0x580cbb
movzx ebx, byte [edx + 0x1b]
movzx ebp, byte [edx + 0x1a]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x42], bx
lea ebx, [ecx - 0x1c]
cmp ebx, 1
jbe 0x580caf
movzx ebx, byte [edx + 0x1d]
movzx ebp, byte [edx + 0x1c]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x44], bx
lea ebx, [ecx - 0x1e]
cmp ebx, 1
jbe 0x580ca3
movzx ebx, byte [edx + 0x1f]
movzx ebp, byte [edx + 0x1e]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x46], bx
movzx ebx, byte [edx + 0x20]
mov byte [esp + 0x48], bl
movzx ebx, byte [edx + 0x21]
mov byte [esp + 0x49], bl
movzx ebx, byte [edx + 0x22]
mov byte [esp + 0x4a], bl
movzx ebx, byte [edx + 0x23]
mov byte [esp + 0x4b], bl
movzx ebx, byte [edx + 0x24]
mov byte [esp + 0x4c], bl
movzx ebx, byte [edx + 0x25]
mov byte [esp + 0x4d], bl
movzx ebx, byte [edx + 0x26]
mov byte [esp + 0x4e], bl
movzx ebx, byte [edx + 0x27]
mov byte [esp + 0x4f], bl
movzx ebx, byte [edx + 0x28]
mov byte [esp + 0x50], bl
movzx ebx, byte [edx + 0x29]
mov byte [esp + 0x51], bl
lea ebx, [ecx - 0x2a]
cmp ebx, 3
jbe 0x580c97
movzx ebx, byte [edx + 0x2d]
movzx ebp, byte [edx + 0x2c]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x2b]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x2a]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x54], ebp
lea ebx, [ecx - 0x2e]
cmp ebx, 3
jbe 0x580c8b
movzx ebx, byte [edx + 0x31]
movzx ebp, byte [edx + 0x30]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x2f]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x2e]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x58], ebp
lea ebx, [ecx - 0x32]
cmp ebx, 3
jbe 0x580c7f
movzx ebx, byte [edx + 0x35]
movzx ebp, byte [edx + 0x34]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x33]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x32]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x5c], ebp
lea ebx, [ecx - 0x36]
cmp ebx, 3
jbe 0x580c73
movzx ebx, byte [edx + 0x39]
movzx ebp, byte [edx + 0x38]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x37]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x36]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x60], ebp
lea ebx, [ecx - 0x3a]
cmp ebx, 3
jbe 0x580c67
movzx ebx, byte [edx + 0x3d]
movzx ebp, byte [edx + 0x3c]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x3b]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x3a]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x64], ebp
lea ebx, [ecx - 0x3e]
cmp ebx, 1
jbe 0x580c5b
movzx ebx, byte [edx + 0x3f]
movzx ebp, byte [edx + 0x3e]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x68], bx
lea ebx, [ecx - 0x40]
cmp ebx, 1
jbe 0x580c4f
movzx ebx, byte [edx + 0x41]
movzx ebp, byte [edx + 0x40]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x6a], bx
lea ebx, [ecx - 0x42]
cmp ebx, 1
jbe 0x580c43
movzx ebx, byte [edx + 0x43]
movzx ebp, byte [edx + 0x42]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x6c], bx
lea ebx, [ecx - 0x44]
cmp ebx, 1
jbe 0x580c37
movzx ebx, byte [edx + 0x45]
movzx ebp, byte [edx + 0x44]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x6e], bx
lea ebx, [ecx - 0x46]
cmp ebx, 1
jbe 0x580c2b
movzx ebx, byte [edx + 0x47]
movzx ebp, byte [edx + 0x46]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x70], bx
lea ebx, [ecx - 0x48]
cmp ebx, 1
jbe 0x580c1f
movzx ebx, byte [edx + 0x49]
movzx ebp, byte [edx + 0x48]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x72], bx
lea ebx, [ecx - 0x4a]
cmp ebx, 1
jbe 0x580c13
movzx ebx, byte [edx + 0x4b]
movzx ebp, byte [edx + 0x4a]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x74], bx
lea ebx, [ecx - 0x4c]
cmp ebx, 1
jbe 0x580c07
movzx eax, byte [edx + 0x4d]
movzx ebx, byte [edx + 0x4c]
shl ebx, 8
or eax, ebx
mov word [esp + 0x76], ax
mov eax, dword [esp + 0x90]
add eax, 0xffffffb2
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, 0x4e
add eax, edx
mov dword [esp + 0x78], eax
lea eax, [ecx - 0x4e]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
lea edi, [esp + 0x94]
lea esi, [esp + 0x28]
call fcn.0046641a
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
add esp, 0x84
ret
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
lea eax, [0x700b61]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
lea eax, [esp + 0x20]
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 + 0x1c], ecx
lea edi, [esp + 0x94]
lea esi, [esp + 0x28]
call fcn.0046641a
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf8], eax
add esp, 0x84
ret
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005806c0