Function at 0x47a7f8
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffd8
mov edi, esp
mov edx, 0x570d28
mov eax, 0x56016c
mov ecx, 0x400
call fcn.00403370
mov esi, pe_nt_image_headers32
mov ebx, 0x570d28
mov ebp, 0x571128
cmp dword [ebx], 0
jne 0x47a831
mov word [ebp], 0
jmp 0x47a883
movzx eax, byte [ebx + 2]
and al, 0xf8
movzx eax, al
mov edx, 8
call fcn.0047a1ec
shl eax, 8
push eax
movzx eax, byte [ebx + 1]
and al, 0xfc
movzx eax, al
mov edx, 8
call fcn.0047a1ec
add eax, eax
add eax, eax
add eax, eax
pop edx
or dx, ax
push edx
movzx eax, byte [ebx]
and al, 0xf8
movzx eax, al
mov edx, 8
call fcn.0047a1ec
shr eax, 3
pop edx
or dx, ax
mov word [ebp], dx
add ebp, 2
add ebx, 4
dec esi
jne 0x47a824
mov word [0x571328], 0
mov word [0x591328], 0
mov word [0x5b1328], 0
mov word [0x5d1328], 0
mov word [0x5f1328], 0
mov word [0x611328], 0
mov word [0x631328], 0
mov esi, 1
mov ebp, 0x59132a
mov dword [esp + 0xc], 0x57132a
mov dword [esp + 0x10], 0x5b132a
mov dword [esp + 0x14], 0x5d132a
mov dword [esp + 0x18], 0x5f132a
mov dword [esp + 0x1c], 0x61132a
mov dword [esp + 0x20], 0x63132a
mov eax, esi
and eax, 0xf800
shr eax, 8
mov byte [edi + 2], al
mov eax, esi
and eax, 0x7e0
shr eax, 3
mov byte [edi + 1], al
mov ebx, esi
and bl, 0x1f
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov byte [edi], bl
movzx eax, byte [edi + 2]
movzx edx, byte [edi + 1]
add eax, edx
movzx edx, bl
add eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fdiv dword [0x47ac40]
call fcn.00403670
mov byte [esp + 6], al
mov byte [esp + 5], al
mov byte [esp + 4], al
movzx eax, byte [esp + 6]
and al, 0xf8
movzx eax, al
mov edx, 8
call fcn.0047a1ec
shl eax, 8
push eax
movzx eax, byte [esp + 9]
and al, 0xfc
movzx eax, al
mov edx, 8
call fcn.0047a1ec
add eax, eax
add eax, eax
add eax, eax
pop edx
or dx, ax
push edx
movzx eax, byte [esp + 8]
and al, 0xf8
movzx eax, al
mov edx, 8
call fcn.0047a1ec
shr eax, 3
pop edx
or dx, ax
mov word [ebp], dx
movzx eax, byte [edi + 2]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fld xword [0x47ac44]
fmulp st(1)
call fcn.00403670
mov edx, 0xff
call fcn.0047a1e4
mov byte [esp + 6], al
movzx eax, byte [edi + 1]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fld xword [0x47ac44]
fmulp st(1)
call fcn.00403670
mov edx, 0xff
call fcn.0047a1e4
mov byte [esp + 5], al
movzx eax, bl
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fld xword [0x47ac44]
fmulp st(1)
call fcn.00403670
mov edx, 0xff
call fcn.0047a1e4
mov byte [esp + 4], al
movzx eax, byte [esp + 6]
and al, 0xf8
movzx eax, al
mov edx, 8
call fcn.0047a1ec
mov ebx, eax
shl ebx, 8
movzx eax, byte [esp + 5]
and al, 0xfc
movzx eax, al
mov edx, 8
call fcn.0047a1ec
add eax, eax
add eax, eax
add eax, eax
or bx, ax
movzx eax, byte [esp + 4]
and al, 0xf8
movzx eax, al
mov edx, 8
call fcn.0047a1ec
shr eax, 3
or bx, ax
mov eax, dword [esp + 0xc]
mov word [eax], bx
movzx eax, byte [edi + 2]
and al, 0xf8
movzx eax, al
shl eax, 8
movzx eax, ax
mov edx, 0x800
call fcn.0047a1ec
mov edx, dword [esp + 0x10]
mov word [edx], ax
movzx eax, byte [edi + 2]
movzx edx, byte [edi + 1]
add eax, edx
movzx edx, byte [edi]
add eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fdiv dword [0x47ac40]
call fcn.00403670
mov edx, 0x20
call fcn.0047a1ec
mov byte [esp + 8], al
movzx eax, byte [esp + 8]
and al, 0xfc
movzx eax, al
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [esp + 0x14]
mov word [edx], ax
xor ebx, ebx
mov byte [esp + 8], 0
movzx eax, byte [edi + 2]
movzx edx, byte [edi + 1]
add eax, edx
movzx edx, byte [edi]
add eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fdiv dword [0x47ac40]
call fcn.00403670
mov edx, 8
call fcn.0047a1ec
mov byte [esp + 9], al
and bl, 0xf8
movzx eax, bl
shl eax, 8
movzx edx, byte [esp + 8]
and dl, 0xfc
movzx edx, dl
add edx, edx
add edx, edx
add edx, edx
or ax, dx
movzx edx, byte [esp + 9]
and dl, 0xf8
movzx edx, dl
shr edx, 3
or ax, dx
mov edx, dword [esp + 0x18]
mov word [edx], ax
movzx eax, byte [edi + 2]
movzx edx, byte [edi + 1]
add eax, edx
movzx edx, byte [edi]
add eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fdiv dword [0x47ac40]
call fcn.00403670
mov ebx, eax
mov byte [esp + 8], bl
mov byte [esp + 9], 0
and bl, 0xf8
movzx eax, bl
shl eax, 8
movzx edx, byte [esp + 8]
and dl, 0xfc
movzx edx, dl
add edx, edx
add edx, edx
add edx, edx
or ax, dx
movzx edx, byte [esp + 9]
and dl, 0xf8
movzx edx, dl
shr edx, 3
or ax, dx
mov edx, dword [esp + 0x1c]
mov word [edx], ax
movzx eax, byte [edi + 2]
movzx edx, byte [edi + 1]
add eax, edx
movzx edx, byte [edi]
add eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fdiv dword [0x47ac40]
call fcn.00403670
mov ebx, eax
mov byte [esp + 9], bl
mov eax, ebx
and al, 0xf8
movzx eax, al
shl eax, 8
movzx edx, byte [esp + 9]
and dl, 0xf8
movzx edx, dl
shr edx, 3
or ax, dx
movzx eax, ax
mov edx, 0x801
call fcn.0047a1ec
mov edx, dword [esp + 0x20]
mov word [edx], ax
inc esi
add dword [esp + 0x20], 2
add dword [esp + 0x1c], 2
add dword [esp + 0x18], 2
add dword [esp + 0x14], 2
add dword [esp + 0x10], 2
add dword [esp + 0xc], 2
add ebp, 2
cmp esi, 0x10000
jne 0x47a905
add esp, 0x28
pop ebp
pop edi
pop esi
pop ebx
ret