Function at 0x470980
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 0xc]
push esi
xor esi, esi
push edi
cmp eax, 0x6e636c63
ja 0x470c38
je 0x470b81
cmp eax, 0x636c6170
je 0x4709f6
cmp eax, 0x6669656c
jne 0x470cdd
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00554cb0
movsx esi, ax
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x470cdd
push 0x6669656c
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.005550e0
mov ecx, dword [esp + 0x20]
push ecx
movsx esi, ax
call fcn.00554c10
add esp, 0x10
pop edi
mov eax, esi
pop esi
ret
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.00554cb0
movsx esi, ax
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x470cdd
mov edx, dword [eax]
mov ecx, dword [edx]
mov esi, ecx
shl esi, 0x10
mov edi, ecx
and edi, 0xff00
or esi, edi
movzx edi, byte [edx + 3]
shl esi, 8
or esi, edi
shr ecx, 8
and ecx, 0xff00
or esi, ecx
mov dword [edx], esi
mov edx, dword [eax]
mov ecx, dword [edx + 4]
mov esi, ecx
shl esi, 0x10
mov edi, ecx
shr ecx, 8
and edi, 0xff00
or esi, edi
shl esi, 8
and ecx, 0xff00
or esi, ecx
movzx ecx, byte [edx + 7]
or esi, ecx
mov dword [edx + 4], esi
mov edx, dword [eax]
mov ecx, dword [edx + 8]
mov esi, ecx
shl esi, 0x10
mov edi, ecx
and edi, 0xff00
or esi, edi
shl esi, 8
shr ecx, 8
and ecx, 0xff00
or esi, ecx
movzx ecx, byte [edx + 0xb]
or esi, ecx
mov dword [edx + 8], esi
mov edx, dword [eax]
mov ecx, dword [edx + 0xc]
mov esi, ecx
shl esi, 0x10
mov edi, ecx
and edi, 0xff00
or esi, edi
shl esi, 8
shr ecx, 8
and ecx, 0xff00
or esi, ecx
movzx ecx, byte [edx + 0xf]
or esi, ecx
mov dword [edx + 0xc], esi
mov edx, dword [eax]
mov ecx, dword [edx + 0x10]
movzx edi, byte [edx + 0x13]
mov esi, ecx
shr esi, 8
and esi, 0xff00
or esi, edi
mov edi, ecx
shl edi, 0x10
and ecx, 0xff00
or edi, ecx
shl edi, 8
or esi, edi
mov dword [edx + 0x10], esi
mov edx, dword [eax]
mov ecx, dword [edx + 0x14]
mov esi, ecx
mov edi, ecx
shl esi, 0x10
and edi, 0xff00
or esi, edi
shr ecx, 8
shl esi, 8
and ecx, 0xff00
or esi, ecx
movzx ecx, byte [edx + 0x17]
or esi, ecx
mov dword [edx + 0x14], esi
mov edx, dword [eax]
mov ecx, dword [edx + 0x18]
movzx edi, byte [edx + 0x1b]
mov esi, ecx
shr esi, 8
and esi, 0xff00
or esi, edi
mov edi, ecx
and ecx, 0xff00
shl edi, 0x10
or edi, ecx
shl edi, 8
or esi, edi
mov dword [edx + 0x18], esi
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov edx, ecx
mov esi, ecx
shl edx, 0x10
and esi, 0xff00
or edx, esi
shr ecx, 8
shl edx, 8
and ecx, 0xff00
or edx, ecx
movzx ecx, byte [eax + 0x1f]
or edx, ecx
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x14]
push 0x636c6170
push edx
jmp 0x4709d7
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.00554cb0
mov ecx, dword [esp + 0x20]
add esp, 0xc
movsx esi, ax
test ecx, ecx
je 0x470cdd
mov edx, dword [ecx]
mov eax, dword [edx]
mov esi, eax
mov edi, eax
shl esi, 0x10
shr eax, 8
and eax, 0xff00
and edi, 0xff00
or esi, edi
shl esi, 8
or esi, eax
movzx eax, byte [edx + 3]
or esi, eax
mov dword [edx], esi
mov eax, dword [ecx]
movzx esi, word [eax + 4]
movzx edx, byte [eax + 5]
shl si, 8
or dx, si
mov word [eax + 4], dx
mov eax, dword [ecx]
movzx esi, word [eax + 6]
movzx edx, byte [eax + 7]
shl si, 8
or dx, si
mov word [eax + 6], dx
mov ecx, dword [ecx]
movzx edx, word [ecx + 8]
movzx ax, byte [ecx + 9]
shl dx, 8
or ax, dx
mov word [ecx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
push 0x636f6c72
push eax
push ecx
call fcn.005550e0
mov edx, dword [esp + 0x20]
push edx
movsx esi, ax
call fcn.00554c10
add esp, 0x10
pop edi
mov eax, esi
pop esi
ret
cmp eax, 0x70617370
jne 0x470cdd
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00554cb0
movsx esi, ax
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x470cdd
mov ecx, dword [eax]
mov edx, eax
mov eax, dword [ecx]
mov esi, eax
mov edi, eax
shl esi, 0x10
shr eax, 8
and eax, 0xff00
and edi, 0xff00
or esi, edi
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
mov dword [ecx], esi
mov ecx, dword [edx]
mov eax, dword [ecx + 4]
mov edx, eax
mov esi, eax
shl edx, 0x10
and esi, 0xff00
or edx, esi
shr eax, 8
shl edx, 8
and eax, 0xff00
or edx, eax
movzx eax, byte [ecx + 7]
or edx, eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
push 0x70617370
push ecx
push edx
call fcn.005550e0
movsx esi, ax
mov eax, dword [esp + 0x20]
push eax
call fcn.00554c10
add esp, 0x10
pop edi
mov eax, esi
pop esi
ret