Function at 0x47ac20
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [0x58bad8]
push edi
push 0x200
push 0
push ebx
mov edi, edx
mov dword [ebp - 4], esi
call fcn.004ab0f0
lea eax, [ebx + 0x200]
mov byte [ebx + 0x204], 0
mov dword [eax], 0
add esp, 0xc
mov dword [ebp - 0xc], eax
lea eax, [ebx + 0x204]
mov dword [ebp - 8], eax
mov eax, dword [edi + 4]
test eax, eax
jns 0x47ace5
mov eax, dword [edi]
mov dword [edi + 4], 0
test eax, eax
jne 0x47ac89
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x47ac89
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
jmp 0x47acaa
cmp eax, 2
jl 0x47accd
cmp eax, dword [esi + 0x14]
jge 0x47accd
mov ecx, dword [esi + 0x10]
cdq
add eax, 0xfffffffe
adc edx, 0xffffffff
call fcn.004a9360
mov ecx, eax
add ecx, dword [esi + 0x30]
adc edx, dword [esi + 0x34]
mov eax, ecx
mov dword [edi + 8], ecx
or eax, edx
mov dword [edi + 0xc], edx
je 0x47acdb
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
je 0x47acdb
push edx
push ecx
mov ecx, esi
call fcn.0047a1e0
add esp, 8
jmp 0x47ad38
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0xc], 0xffffffff
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add eax, 0x20
mov dword [edi + 4], eax
cmp eax, dword [0x553334]
jb 0x47ad1d
mov dword [edi + 4], 0
mov ecx, esi
push dword [edi + 0xc]
push dword [edi + 8]
call fcn.0047a670
mov ecx, eax
mov dword [edi + 8], eax
add esp, 8
mov dword [edi + 0xc], edx
or ecx, edx
je 0x47acdb
and eax, edx
cmp eax, 0xffffffff
je 0x47acdb
push dword [edi + 0xc]
mov ecx, esi
push dword [edi + 8]
call fcn.0047a1e0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x47acdb
mov eax, dword [edi + 4]
add eax, ecx
test eax, eax
je 0x47acdb
nop dword [eax]
mov ch, byte [eax + 0xb]
cmp ch, 8
je 0x47ad72
mov cl, byte [eax]
cmp cl, 0xe5
je 0x47ad72
cmp cl, 0x2e
jne 0x47ade2
cmp byte [eax + 2], 0x20
jne 0x47adf2
mov dl, byte [eax + 1]
cmp dl, 0x20
je 0x47ad72
cmp dl, cl
jne 0x47adf2
add dword [edi + 4], 0x20
mov eax, dword [edi + 4]
cmp eax, dword [0x553334]
jb 0x47adb3
mov dword [edi + 4], 0
mov ecx, esi
push dword [edi + 0xc]
push dword [edi + 8]
call fcn.0047a670
mov ecx, eax
mov dword [edi + 8], eax
add esp, 8
mov dword [edi + 0xc], edx
or ecx, edx
je 0x47acdb
and eax, edx
cmp eax, 0xffffffff
je 0x47acdb
push dword [edi + 0xc]
mov ecx, esi
push dword [edi + 8]
call fcn.0047a1e0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x47acdb
mov eax, dword [edi + 4]
add eax, ecx
jne 0x47ad40
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test cl, cl
jne 0x47adf2
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or esi, 0xffffffff
cmp ch, 0xf
jne 0x47af96
nop
movzx edx, cl
test esi, esi
jns 0x47ae1b
mov ecx, edx
and cl, 0xf0
cmp cl, 0x40
jne 0x47af96
and edx, 0xf
dec edx
jmp 0x47ae2a
and edx, 0xf
lea ecx, [esi - 1]
dec edx
cmp edx, ecx
jne 0x47af8a
movzx ecx, byte [eax + 1]
imul esi, edx, 0x1a
mov dword [ebp + 8], edx
add esi, ebx
movzx edx, byte [eax + 2]
shl dx, 8
or dx, cx
mov word [esi], dx
movzx edx, byte [eax + 4]
movzx ecx, byte [eax + 3]
shl dx, 8
or dx, cx
mov word [esi + 2], dx
movzx edx, byte [eax + 6]
movzx ecx, byte [eax + 5]
shl dx, 8
or dx, cx
mov word [esi + 4], dx
movzx edx, byte [eax + 8]
movzx ecx, byte [eax + 7]
shl dx, 8
or dx, cx
mov word [esi + 6], dx
movzx edx, byte [eax + 0xa]
movzx ecx, byte [eax + 9]
shl dx, 8
or dx, cx
mov word [esi + 8], dx
movzx edx, byte [eax + 0xf]
movzx ecx, byte [eax + 0xe]
shl dx, 8
or dx, cx
mov word [esi + 0xa], dx
movzx edx, byte [eax + 0x11]
movzx ecx, byte [eax + 0x10]
shl dx, 8
or dx, cx
mov word [esi + 0xc], dx
movzx edx, byte [eax + 0x13]
movzx ecx, byte [eax + 0x12]
shl dx, 8
or dx, cx
mov word [esi + 0xe], dx
movzx edx, byte [eax + 0x15]
movzx ecx, byte [eax + 0x14]
shl dx, 8
or dx, cx
mov word [esi + 0x10], dx
movzx edx, byte [eax + 0x17]
movzx ecx, byte [eax + 0x16]
shl dx, 8
or dx, cx
mov word [esi + 0x12], dx
movzx edx, byte [eax + 0x19]
movzx ecx, byte [eax + 0x18]
shl dx, 8
or dx, cx
mov word [esi + 0x14], dx
movzx ecx, byte [eax + 0x1d]
movzx eax, byte [eax + 0x1c]
shl cx, 8
or cx, ax
mov word [esi + 0x16], cx
add dword [edi + 4], 0x20
mov eax, dword [edi + 4]
mov esi, dword [ebp - 4]
cmp eax, dword [0x553334]
jb 0x47af59
mov dword [edi + 4], 0
mov ecx, esi
push dword [edi + 0xc]
push dword [edi + 8]
call fcn.0047a670
mov ecx, eax
mov dword [edi + 8], eax
add esp, 8
mov dword [edi + 0xc], edx
or ecx, edx
je 0x47acdb
and eax, edx
cmp eax, 0xffffffff
je 0x47acdb
push dword [edi + 0xc]
mov ecx, esi
push dword [edi + 8]
call fcn.0047a1e0
add esp, 8
test eax, eax
je 0x47acdb
add eax, dword [edi + 4]
je 0x47acdb
cmp byte [eax + 0xb], 0xf
jne 0x47af96
mov cl, byte [eax]
mov esi, dword [ebp + 8]
jmp 0x47ae00
mov eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebx], 0
jne 0x47affc
xor edx, edx
lea edi, [edx + 0x2e]
lea ecx, [edx + eax]
cmp edx, 8
jl 0x47afb9
cmp byte [ecx], 0x20
je 0x47affc
cmp edx, 8
jne 0x47afb9
mov word [ebx], di
add ebx, 2
mov cl, byte [ecx]
cmp cl, 0x20
je 0x47aff6
movzx ecx, cl
mov esi, ecx
mov word [ebx], cx
lea ecx, [esi - 0x41]
cmp cx, 0x19
ja 0x47aff3
test byte [eax + 0xc], 2
je 0x47afe2
cmp edx, 8
jge 0x47afe2
add esi, 0x20
mov word [ebx], si
test byte [eax + 0xc], 4
je 0x47aff3
cmp edx, 8
jl 0x47aff3
lea ecx, [esi + 0x20]
mov word [ebx], cx
add ebx, 2
inc edx
cmp edx, 0xc
jl 0x47afa1
mov cl, byte [eax + 0xb]
mov edx, dword [ebp - 8]
and cl, 0x37
pop edi
mov byte [edx], cl
movzx edx, byte [eax + 0x1f]
movzx ecx, byte [eax + 0x1e]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x1d]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x1c]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ecx], edx
movzx esi, byte [eax + 0x15]
movzx ecx, byte [eax + 0x14]
movzx edx, byte [eax + 0x1b]
movzx eax, byte [eax + 0x1a]
shl esi, 8
or esi, ecx
shl edx, 8
shl esi, 0x10
or eax, edx
add eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret