Function at 0x54660
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
xor bl, bl
sidt [ebp - 0x14]
sgdt [ebp - 0xc]
movzx ecx, word [ebp - 0xc]
mov eax, dword [ebp - 0x12]
mov edi, dword [ebp - 0xa]
push 1
shr ecx, 3
push eax
mov esi, eax
mov dword [ebp - 4], ecx
call fcn.00071e70
cmp al, 1
jne 0x548a3
push 1
lea eax, [esi + 0x7ff]
push eax
call fcn.00071e70
cmp al, 1
jne 0x548a3
mov eax, dword [ebp + 8]
add esi, 2
add eax, 0x14
mov dword [ebp + 8], 0x40
jmp 0x546c0
movzx ecx, word [esi]
shr ecx, 3
mov dword [eax - 0x10], ecx
test byte [esi], 3
je 0x546d1
mov byte [eax], 1
test ecx, ecx
je 0x546ec
cmp ecx, 1
je 0x546ec
cmp ecx, 0xa
je 0x546ec
cmp ecx, 0xb
je 0x546ec
cmp ecx, 0x14
je 0x546ec
mov byte [eax], 1
xor edx, edx
test ecx, ecx
je 0x54718
cmp ecx, dword [ebp - 4]
jae 0x54718
movzx edx, byte [edi + ecx*8 + 7]
movzx ebx, word [edi + ecx*8 + 4]
movzx ecx, word [edi + ecx*8 + 2]
shl edx, 8
and ebx, 0xff
add edx, ebx
shl edx, 0x10
add edx, ecx
jmp 0x5471b
mov byte [eax], 1
movzx ecx, word [esi + 4]
movzx ebx, word [esi - 2]
shl ecx, 0x10
or ecx, ebx
add ecx, edx
mov dword [eax - 4], ecx
movzx edx, word [esi + 8]
shr edx, 3
mov dword [eax + 0x18], edx
test byte [esi + 8], 3
je 0x54741
mov byte [eax + 0x28], 1
mov ecx, edx
test ecx, ecx
je 0x5475f
cmp ecx, 1
je 0x5475f
cmp ecx, 0xa
je 0x5475f
cmp ecx, 0xb
je 0x5475f
cmp ecx, 0x14
je 0x5475f
mov byte [eax + 0x28], 1
xor edx, edx
test ecx, ecx
je 0x5478b
cmp ecx, dword [ebp - 4]
jae 0x5478b
movzx edx, byte [edi + ecx*8 + 7]
movzx ebx, word [edi + ecx*8 + 4]
movzx ecx, word [edi + ecx*8 + 2]
shl edx, 8
and ebx, 0xff
add edx, ebx
shl edx, 0x10
add edx, ecx
jmp 0x5478f
mov byte [eax + 0x28], 1
movzx ecx, word [esi + 0xc]
movzx ebx, word [esi + 6]
shl ecx, 0x10
or ecx, ebx
add ecx, edx
mov dword [eax + 0x24], ecx
movzx edx, word [esi + 0x10]
shr edx, 3
mov dword [eax + 0x40], edx
test byte [esi + 0x10], 3
je 0x547b5
mov byte [eax + 0x50], 1
mov ecx, edx
test ecx, ecx
je 0x547d3
cmp ecx, 1
je 0x547d3
cmp ecx, 0xa
je 0x547d3
cmp ecx, 0xb
je 0x547d3
cmp ecx, 0x14
je 0x547d3
mov byte [eax + 0x50], 1
xor edx, edx
test ecx, ecx
je 0x547ff
cmp ecx, dword [ebp - 4]
jae 0x547ff
movzx edx, byte [edi + ecx*8 + 7]
movzx ebx, word [edi + ecx*8 + 4]
movzx ecx, word [edi + ecx*8 + 2]
shl edx, 8
and ebx, 0xff
add edx, ebx
shl edx, 0x10
add edx, ecx
jmp 0x54803
mov byte [eax + 0x50], 1
movzx ecx, word [esi + 0x14]
movzx ebx, word [esi + 0xe]
shl ecx, 0x10
or ecx, ebx
add ecx, edx
mov dword [eax + 0x4c], ecx
movzx edx, word [esi + 0x18]
shr edx, 3
mov dword [eax + 0x68], edx
test byte [esi + 0x18], 3
je 0x54829
mov byte [eax + 0x78], 1
test edx, edx
je 0x54845
cmp edx, 1
je 0x54845
cmp edx, 0xa
je 0x54845
cmp edx, 0xb
je 0x54845
cmp edx, 0x14
je 0x54845
mov byte [eax + 0x78], 1
xor ecx, ecx
test edx, edx
je 0x54871
cmp edx, dword [ebp - 4]
jae 0x54871
movzx ecx, byte [edi + edx*8 + 7]
movzx ebx, word [edi + edx*8 + 4]
movzx edx, word [edi + edx*8 + 2]
shl ecx, 8
and ebx, 0xff
add ecx, ebx
shl ecx, 0x10
add ecx, edx
jmp 0x54875
mov byte [eax + 0x78], 1
movzx edx, word [esi + 0x1c]
movzx ebx, word [esi + 0x16]
shl edx, 0x10
or edx, ebx
add edx, ecx
mov dword [eax + 0x74], edx
add eax, 0xa0
add esi, 0x20
dec dword [ebp + 8]
jne 0x546c0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 4