Function at 0x714b30
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push esi
mov esi, ecx
mov eax, dword [esi + 0x5c]
mov byte [esi + eax + 0x1c], 0x80
mov edx, 1
add dword [esi + 0x5c], edx
mov eax, dword [esi + 0x5c]
cmp eax, 0x38
jg 0x714b75
mov ecx, 0x38
sub ecx, eax
push ecx
lea edx, [eax + esi + 0x1c]
push 0
push edx
call fcn.00755e40
add esp, 0xc
lea eax, [esi + 0x1c]
mov ecx, 0x38
call fcn.00714180
jmp 0x714c30
push ebx
mov ecx, 0x40
push ebp
xor bl, bl
cmp eax, ecx
push edi
jge 0x714b91
mov byte [eax + esi + 0x1c], bl
add dword [esi + 0x5c], edx
mov eax, dword [esi + 0x5c]
cmp eax, ecx
jl 0x714b83
lea ebp, [esi + 0x1c]
lea eax, [ebp + 6]
mov edi, 4
lea esp, [esp]
mov ecx, dword [eax - 6]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax - 6], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax - 5], bl
mov byte [eax - 4], ch
mov byte [eax - 3], cl
mov ecx, dword [eax - 2]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax - 2], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax - 1], bl
mov byte [eax], ch
mov byte [eax + 1], cl
mov ecx, dword [eax + 2]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax + 2], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax + 3], bl
mov byte [eax + 4], ch
mov byte [eax + 5], cl
mov ecx, dword [eax + 6]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x13]
mov byte [eax + 6], bl
movzx ebx, byte [esp + 0x12]
mov byte [eax + 7], bl
mov byte [eax + 8], ch
mov byte [eax + 9], cl
add eax, 0x10
sub edi, edx
jne 0x714ba0
mov ecx, esi
call fcn.00714780
push 0x38
push edi
push ebp
call fcn.00755e40
add esp, 0xc
pop edi
pop ebp
pop ebx
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
mov ecx, eax
shr ecx, 0x1d
lea ecx, [ecx + edx*8]
lea edx, [eax*8]
mov eax, ecx
mov dword [esi + 0x14], ecx
mov ecx, edx
mov dword [esi + 0x58], ecx
mov ecx, esi
mov dword [esi + 0x18], edx
mov dword [esi + 0x54], eax
call fcn.00714780
mov eax, dword [esp + 0xc]
test eax, eax
je 0x714d13
mov edx, dword [esi]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [eax]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 1], dl
mov byte [eax + 2], ch
mov byte [eax + 3], cl
mov ecx, dword [eax + 4]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 4], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 5], dl
mov byte [eax + 6], ch
mov byte [eax + 7], cl
mov ecx, dword [eax + 8]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 8], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 9], dl
mov byte [eax + 0xa], ch
mov byte [eax + 0xb], cl
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 0xc], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 0xd], dl
mov byte [eax + 0xe], ch
mov byte [eax + 0xf], cl
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xc], ecx
movzx edx, byte [esp + 0xf]
mov byte [eax + 0x10], dl
movzx edx, byte [esp + 0xe]
mov byte [eax + 0x11], dl
mov byte [eax + 0x12], ch
mov byte [eax + 0x13], cl
pop esi
pop ecx
ret 4