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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x579abd
sub esp, 0x74
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov eax, 1
xor ebp, ebp
jmp 0x57910d
test bp, 0x20
mov ebx, ecx
setne cl
mov byte [esp + 0x21], cl
mov ecx, dword [esp + 0x78]
mov dword [ecx + 4], ebx
lea ecx, [ebx + ebx*2]
lea ecx, [edx + ecx*8 - 0x18]
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0x3c]
call fcn.004664c4
movzx ecx, byte [esp + 0x21]
mov ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x21]
mov dword [esp + 0x30], edx
test al, al
je 0x5798f4
mov dword [esp + 0x28], ecx
lea edi, [esp + 0x3c]
xor eax, eax
call fcn.00465fea
cmp edx, 4
jl 0x57985e
nop
movzx ebp, byte [ebx + 1]
mov eax, ebx
movzx ebx, byte [ebx]
shl ebx, 8
or ebp, ebx
mov word [esp + 0x3c], bp
lea ecx, [edx - 2]
cmp ecx, 1
jbe 0x579ab2
movzx ebx, byte [eax + 3]
mov ecx, edx
movzx edx, byte [eax + 2]
shl edx, 8
or ebx, edx
mov word [esp + 0x3e], bx
test bp, 1
je 0x5791c9
cmp ecx, 8
jl 0x579554
lea edx, [ecx - 4]
cmp edx, 1
jbe 0x579aa6
movzx edx, byte [eax + 5]
movzx ebx, byte [eax + 4]
shl ebx, 8
or ebx, edx
mov word [esp + 0x40], bx
lea edx, [ecx - 6]
cmp edx, 1
jbe 0x579a9a
movzx edx, byte [eax + 7]
movzx ebx, byte [eax + 6]
shl ebx, 8
or edx, ebx
mov word [esp + 0x42], dx
mov edx, dword [esp + 0x28]
add edx, 0xfffffff8
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 8
add edx, eax
add ecx, 0xfffffff8
jmp 0x5791fa
cmp ecx, 6
jl 0x5797ba
movzx ebx, byte [eax + 4]
mov word [esp + 0x40], bx
movzx ebx, byte [eax + 5]
mov word [esp + 0x42], bx
mov ebx, dword [esp + 0x28]
lea edx, [ebx - 6]
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 6
add edx, eax
add ecx, 0xfffffffa
mov word [esp + 0x22], bp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x44], 0x3f800000
mov dword [esp + 0x50], 0x3f800000
test bp, 8
jne 0x579467
test bp, 0x40
jne 0x5793ab
test bp, 0x80
je 0x5794cd
cmp ecx, 8
jl 0x5795f8
movzx eax, byte [edx + 1]
movzx ecx, byte [edx]
shl ecx, 8
or eax, ecx
movsx eax, ax
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x46800000
call fcn.0044e470
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax - 2]
cmp ecx, 1
jbe 0x579a90
mov eax, dword [esp + 0x24]
lea ecx, [eax - 2]
neg ecx
sar ecx, 0x1f
and ecx, 2
mov edx, dword [esp + 0x54]
movzx ebx, byte [edx + ecx + 1]
movzx ecx, byte [edx + ecx]
shl ecx, 8
or ebx, ecx
movsx ecx, bx
mov dword [esp], ecx
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x46800000
call fcn.0044e470
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax - 4]
cmp ecx, 1
jbe 0x579a86
mov eax, dword [esp + 0x24]
lea ecx, [eax - 4]
neg ecx
sar ecx, 0x1f
and ecx, 4
mov edx, dword [esp + 0x54]
movzx ebx, byte [edx + ecx + 1]
movzx ecx, byte [edx + ecx]
shl ecx, 8
or ebx, ecx
movsx ecx, bx
mov dword [esp], ecx
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x46800000
call fcn.0044e470
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax - 6]
cmp ecx, 1
jbe 0x579a7c
mov eax, dword [esp + 0x24]
lea ecx, [eax - 6]
neg ecx
sar ecx, 0x1f
and ecx, 6
mov edx, dword [esp + 0x54]
movzx ebx, byte [edx + ecx + 1]
movzx ecx, byte [edx + ecx]
shl ecx, 8
or ebx, ecx
movsx ecx, bx
mov dword [esp], ecx
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x46800000
call fcn.0044e470
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
lea ebx, [eax - 8]
mov eax, ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
mov ecx, dword [esp + 0x54]
lea edx, [ecx + ebx]
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff8
movzx ebp, word [esp + 0x22]
mov ebx, eax
jmp 0x5794cd
cmp ecx, 4
jl 0x57968e
movzx eax, byte [edx + 1]
movzx ecx, byte [edx]
shl ecx, 8
or eax, ecx
movsx eax, ax
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x46800000
call fcn.0044e470
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax - 2]
cmp ecx, 1
jbe 0x579a72
mov eax, dword [esp + 0x24]
lea ecx, [eax - 2]
neg ecx
sar ecx, 0x1f
and ecx, 2
mov edx, dword [esp + 0x54]
movzx ebx, byte [edx + ecx + 1]
movzx ecx, byte [edx + ecx]
shl ecx, 8
or ebx, ecx
movsx ecx, bx
mov dword [esp], ecx
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x46800000
call fcn.0044e470
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
lea ebx, [eax - 4]
mov eax, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
mov ecx, dword [esp + 0x54]
lea edx, [ecx + ebx]
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffffc
movzx ebp, word [esp + 0x22]
mov ebx, eax
jmp 0x5794cd
cmp ecx, 2
jl 0x579724
movzx eax, byte [edx + 1]
movzx ecx, byte [edx]
shl ecx, 8
or eax, ecx
movsx eax, ax
mov dword [esp], eax
call fcn.0044e7d0
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0x46800000
call fcn.0044e470
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
lea ebx, [eax - 2]
mov eax, ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
mov ecx, dword [esp + 0x54]
lea edx, [ecx + ebx]
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffffe
movzx ebp, word [esp + 0x22]
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x78]
mov esi, edx
mov edx, dword [ecx]
mov edi, ebx
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
inc ecx
cmp ebx, ecx
jae 0x5790d4
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6c9980]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x579537
mov dword [edi], eax
jmp 0x57953c
call fcn.00465d80
movzx ebp, word [esp + 0x22]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x38]
mov edx, eax
mov eax, dword [esp + 0x34]
jmp 0x5790d4
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp], 8
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x64]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea eax, [0x69b600]
mov dword [esp + 0x64], eax
lea edx, [0x7828fc]
mov dword [esp + 0x68], edx
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x64]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea eax, [0x69b600]
mov dword [esp + 0x64], eax
lea edx, [0x7828d8]
mov dword [esp + 0x68], edx
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x64]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea eax, [0x69b600]
mov dword [esp + 0x64], eax
lea edx, [0x7828bc]
mov dword [esp + 0x68], edx
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x64]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp], 6
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x64]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea eax, [0x69b600]
mov dword [esp + 0x64], eax
lea ecx, [0x7828d8]
mov dword [esp + 0x68], ecx
mov dword [esp], edx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x64]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
test bp, 0x100
je 0x579a58
cmp edx, 2
jl 0x5799e6
movzx ebp, byte [ebx + 1]
movzx esi, byte [ebx]
shl esi, 8
or esi, ebp
movzx ebp, si
cmp edx, ebp
jl 0x579946
mov edx, dword [esp + 0x78]
mov dword [edx + 0x10], ebp
mov dword [edx + 0x14], ecx
mov ecx, dword [0x1eaa9f0]
test ecx, ecx
jne 0x579937
mov dword [edx + 0xc], ebx
jmp 0x579a58
lea edi, [edx + 0xc]
mov eax, ebx
call fcn.00465d80
jmp 0x579a58
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp], ebp
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x64]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp], edx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea eax, [0x6fc0dd]
mov dword [esp], eax
mov dword [esp + 4], 0x1f
lea eax, [esp + 0x5c]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x74
ret
mov eax, 1
call fcn.00465e00
mov eax, 1
call fcn.00465e00
mov eax, 1
call fcn.00465e00
mov eax, 1
call fcn.00465e00
mov eax, 1
mov ecx, edx
call fcn.00465e00
mov eax, 1
mov ecx, edx
call fcn.00465e00
mov eax, 1
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005790a0