Function at 0x10054e90
Capabilities:
Enumerate pe sections

Disassembly:
push 0x64
mov eax, 0x100bb44d
call fcn.100b0a55
mov edi, ecx
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov dword [edi], eax
cmp eax, 0x454c4946
je 0x10054ec7
cmp eax, 2
jbe 0x10054ebf
cmp eax, 0x44414142
je 0x10054ebf
xor eax, eax
jmp 0x100550d7
xor eax, eax
inc eax
jmp 0x100550d7
movzx eax, word [esi + 4]
movzx ecx, word [esi + 6]
mov dword [ebp - 0x10], ecx
test al, 1
jne 0x100550d5
xor ebx, ebx
inc ebx
lea edx, [eax + ecx*2]
mov ecx, dword [ebp + 0xc]
shl ebx, cl
dec ebx
dec ebx
cmp edx, ebx
ja 0x100550d5
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x100550d5
mov edx, dword [ebp + 0x10]
dec ecx
cmp ecx, edx
jne 0x100550d5
cmp eax, 0x30
jb 0x10054f1b
mov ecx, dword [esi + 0x2c]
cmp ecx, dword [ebp + 0x14]
je 0x10054f1b
test ecx, ecx
jne 0x100550d5
add eax, esi
cmp dword [ebp - 0x10], 1
movzx ebx, word [eax]
mov dword [ebp + 8], 1
jbe 0x10054f60
add eax, 2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
shl eax, cl
lea eax, [eax + esi - 2]
cmp word [eax], bx
jne 0x100550d5
mov ecx, dword [ebp + 0x10]
mov cx, word [ecx]
inc dword [ebp + 8]
add dword [ebp + 0x10], 2
mov word [eax], cx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jb 0x10054f33
mov ax, word [esi + 0x10]
mov word [edi + 4], ax
mov cx, word [esi + 0x16]
movzx eax, word [esi + 0x14]
mov word [edi + 6], cx
mov ecx, dword [esi + 0x1c]
mov ebx, dword [esi + 0x18]
mov dword [ebp + 0x10], ecx
mov ecx, dword [esi + 0x20]
mov dword [edi + 8], ecx
mov ecx, dword [esi + 0x24]
mov dword [edi + 0xc], ecx
mov ecx, dword [ebp + 0xc]
shl edx, cl
mov dword [ebp + 8], ebx
cmp eax, edx
jae 0x100550d5
test al, 7
jne 0x100550d5
test bl, 7
jne 0x100550d5
cmp ebx, edx
ja 0x100550d5
cmp dword [ebp + 0x10], edx
jne 0x100550d5
mov dword [ebp + 0xc], eax
cmp eax, ebx
jae 0x100550d5
xor ebx, ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
sub eax, ecx
add ecx, esi
push eax
push ecx
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], ebx
mov dword [ebp + 0x10], eax
call fcn.100528df
cmp eax, ebx
je 0x100550cd
cmp dword [ebp + 0x10], eax
jb 0x100550cd
add dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x70]
cmp eax, 0xffffffff
je 0x100550ab
sub eax, 0x10
je 0x1005507f
sub eax, 0x20
je 0x10055047
sub eax, 0x50
je 0x10055039
sub eax, 0x40
je 0x1005502b
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
je 0x10055091
jmp 0x1005503c
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x60]
call fcn.1001c540
jmp 0x10055091
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x70]
push eax
call fcn.10054b59
jmp 0x10055091
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x60]
lea ecx, [ebp - 0x28]
push dword [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.100522dc
test al, al
je 0x100550bf
lea eax, [ebp - 0x28]
push eax
lea ecx, [edi + 0x24]
call fcn.10054c36
cmp dword [ebp - 0x20], ebx
je 0x10055091
push dword [ebp - 0x20]
call fcn.10003deb
pop ecx
jmp 0x10055091
push dword [ebp - 0x60]
lea ecx, [edi + 0x40]
push dword [ebp - 0x64]
call fcn.10052328
test al, al
je 0x100550cd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.100530ad
mov eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
jb 0x10054fc6
jmp 0x100550d5
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x70]
cmp eax, dword [ebp + 8]
jne 0x100550d0
call fcn.100530ad
mov al, 1
jmp 0x100550d7
cmp dword [ebp - 0x20], ebx
je 0x100550cd
push dword [ebp - 0x20]
call fcn.10003deb
pop ecx
lea ecx, [ebp - 0x70]
call fcn.100530ad
xor al, al
call fcn.100b0b2d
ret 0x14