Function at 0x86a220
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x86a70f
sub esp, 0x6c
lea edi, [esp + 0x80]
xor eax, eax
call fcn.004572aa
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x30], 0x18
lea ecx, [0x9b28cc]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x4c], ecx
lea ecx, [0x994884]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], 0x1b
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x30]
mov dword [esp], ecx
call fcn.0042c560
test eax, eax
jne 0x86a6d2
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0063c6d0
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
test ecx, ecx
jne 0x86a6b6
test al, 0x80
setne cl
mov byte [esp + 0x80], cl
test al, 0x40
setne cl
mov byte [esp + 0x81], cl
test al, 0x20
setne cl
mov byte [esp + 0x82], cl
test al, 0x10
setne cl
mov byte [esp + 0x83], cl
and eax, 0xf
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0063c6d0
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
test edx, edx
jne 0x86a69a
test al, 0x80
setne bl
mov byte [esp + 0x90], bl
mov ebx, eax
and eax, 0x7f
cmp al, 0x7e
jae 0x86a531
and ebx, 0x7f
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x86a515
mov eax, dword [esp + 0x8c]
test eax, eax
sete bl
xchg ebp, ebx
setl bl
xchg ebp, ebx
mov esi, dword [esp + 0x88]
test esi, esi
xchg edi, ebx
setb bl
xchg edi, ebx
and ebx, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x86a47f
movzx eax, byte [esp + 0x90]
test al, al
je 0x86a443
mov edx, dword [esp + 0x7c]
cmp edx, 4
jb 0x86a6e6
lea eax, [0xa4d580]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 4
call fcn.00496020
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
test ecx, ecx
jne 0x86a463
mov ecx, dword [esp + 0x78]
cmp ecx, 3
jbe 0x86a6dc
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
nop
call fcn.0042cca0
add esp, 0x6c
ret
lea edi, [esp + 0x80]
lea esi, [0xa52480]
call fcn.00457784
nop
call fcn.0042cca0
add esp, 0x6c
ret
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00408630
mov eax, dword [esp + 8]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea ecx, [0x8eadc0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea eax, [0x99bb0d]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c6610
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x80]
lea esi, [0xa52460]
call fcn.00457784
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
nop
call fcn.0042cca0
add esp, 0x6c
ret
lea edi, [esp + 0x80]
lea esi, [0xa52440]
call fcn.00457784
nop
call fcn.0042cca0
add esp, 0x6c
ret
jne 0x86a5c3
mov edx, dword [esp + 0x7c]
cmp edx, 2
jb 0x86a704
lea eax, [0xa4d580]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 2
call fcn.00496020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x78]
cmp ecx, 1
jbe 0x86a6fa
mov eax, dword [esp + 0x74]
movzx ebx, byte [eax + 1]
movzx ebp, byte [eax]
shl ebp, 8
or ebx, ebp
movzx ebx, bx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], 0
jmp 0x86a384
cmp al, 0x7f
jne 0x86a384
lea eax, [0xa4d580]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
call fcn.00496020
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x78]
cmp ecx, 7
jbe 0x86a6f0
mov eax, dword [esp + 0x74]
movzx ebx, byte [eax + 6]
movzx ebp, byte [eax + 7]
mov edx, ebx
shl ebx, 8
or ebp, ebx
movzx ebx, byte [eax + 5]
mov esi, ebx
shl ebx, 0x10
or ebx, ebp
movzx ebp, byte [eax + 4]
mov edi, ebp
shl ebp, 0x18
or ebp, ebx
movzx ebx, byte [eax]
mov dword [esp + 0x28], ebx
movzx ebx, byte [eax + 1]
mov dword [esp + 0x24], ebx
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
mov dword [esp + 0x88], ebp
shr edx, 0x18
shr esi, 0x10
or esi, edx
shr edi, 8
or edi, esi
or eax, edi
shl ebx, 8
or eax, ebx
mov ebx, dword [esp + 0x24]
shl ebx, 0x10
or eax, ebx
mov ebx, dword [esp + 0x28]
shl ebx, 0x18
or eax, ebx
mov dword [esp + 0x8c], eax
jmp 0x86a384
lea edi, [esp + 0x80]
lea esi, [0xa52420]
call fcn.00457784
nop
call fcn.0042cca0
add esp, 0x6c
ret
lea edi, [esp + 0x80]
lea esi, [0xa52400]
call fcn.00457784
nop
call fcn.0042cca0
add esp, 0x6c
ret
nop
call fcn.0042cca0
add esp, 0x6c
ret
mov eax, 3
call fcn.00457060
mov ecx, 4
call fcn.004570a0
mov eax, 7
call fcn.00457060
mov eax, 1
call fcn.00457060
mov ecx, 2
call fcn.004570a0
nop
call fcn.004557a0
jmp fcn.0086a220