Function at 0x5181a0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
movzx ecx, word [ebx + 2]
lea eax, [ecx - 0x113e]
cmp eax, 0x39
ja case.0x5181c8.4415
movzx eax, byte [eax + 0x5185a0]
jmp dword [eax*4 + 0x518574]
cmp byte [edi + 0x88], 0
jne 0x51820f
push 1
lea ecx, [edi + 0xb0]
call fcn.004751b0
test eax, eax
je case.0x5181c8.4415
mov eax, dword [edi + 0xb0]
or dword [eax], 0x8000000
xor ecx, ecx
mov eax, dword [edi + 0xb0]
mov word [eax + 0xc], cx
mov eax, dword [edi + 0xb0]
mov word [eax + 0xe], cx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [edi + 0x80]
movzx eax, word [esi + 2]
add eax, 0xffffeef1
cmp eax, 0x66
ja case.0x518235.4369
movzx eax, byte [eax + 0x5185e4]
jmp dword [eax*4 + 0x5185dc]
cmp dword [edi + 0x10], 3
jne 0x518247
mov eax, dword [edi + 0x28]
jmp 0x518249
xor eax, eax
mov ecx, dword [edi + 8]
push eax
push 0
push dword [esi + 4]
push dword [edi + 0x1c]
call fcn.004b6da0
mov esi, eax
jmp 0x518220
cmp byte [edi + 0x88], 0
je 0x51828a
push dword [esi + 0x20]
movzx eax, word [esi + 0x24]
mov ecx, dword [edi + 8]
push eax
call fcn.004bdad0
mov edx, dword [edi + 0x8c]
cmp edx, eax
jb 0x5182fb
mov ecx, dword [esi + 0x10]
add ecx, eax
cmp edx, ecx
jae 0x5182fb
add edi, 0xb0
push 1
mov ecx, edi
call fcn.004751b0
test eax, eax
je case.0x5181c8.4415
mov ecx, dword [edi]
mov ax, word [esi + 0x24]
mov word [ecx], ax
mov ecx, dword [edi]
mov eax, dword [esi + 0x20]
mov dword [ecx + 4], eax
mov ecx, dword [edi]
mov eax, dword [esi + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [edi]
mov byte [eax + 2], 1
mov eax, dword [edi]
and dword [eax], 0xfeffffff
mov eax, dword [edi]
and dword [eax], 0xfdffffff
mov eax, dword [edi]
or dword [eax], 0x4000000
mov eax, dword [edi]
and dword [eax], 0xf7ffffff
mov eax, dword [edi]
and dword [eax], 0xefffffff
xor ecx, ecx
mov eax, dword [edi]
mov word [eax + 0xc], cx
mov eax, dword [edi]
mov word [eax + 0xe], cx
mov eax, dword [edi]
mov dword [eax + 0x18], ecx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
movzx eax, word [ebx + 0xc]
mov word [ebp - 0x14], ax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 0xe]
mov dword [ebp - 0xc], eax
movzx eax, word [ebx + 6]
push 0
and ax, 1
push 0
push dword [ebp + 0xc]
add ax, ax
movzx eax, ax
push eax
movzx eax, word [ebx]
sub eax, 0xe
shr eax, 2
inc eax
push eax
movzx eax, word [ebx + 4]
push 5
push 0
push eax
lea eax, [ebx + 0x10]
push eax
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.00512220
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movzx eax, word [ebx + 0x10]
mov ecx, edi
mov word [ebp - 0x14], ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 0x12]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 8]
and eax, 0xfff
push 0
push eax
movzx eax, word [ebx + 6]
push dword [ebp + 0xc]
and ax, 1
add ax, ax
or ax, 1
movzx eax, ax
push eax
movzx eax, word [ebx]
sub eax, 0x12
shr eax, 2
inc eax
push eax
movzx eax, word [ebx + 4]
push 5
push 0
push eax
lea eax, [ebx + 0x14]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00512220
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, edi
call fcn.00518690
test al, al
je case.0x5181c8.4415
mov ax, word [ebx + 0xc]
mov ecx, edi
mov word [ebp - 0x14], ax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 0xe]
mov dword [ebp - 0xc], eax
movzx eax, word [ebx]
sub eax, 0xe
shr eax, 2
inc eax
movzx esi, ax
call fcn.00518650
push 0
push 0
push dword [ebp + 0xc]
movzx eax, ax
push 0
push esi
push 3
push dword [ebx + 4]
jmp 0x518344
mov ax, word [ebx + 0x10]
movzx ecx, word [ebx + 6]
mov word [ebp - 0x14], ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 0x12]
mov dword [ebp - 0xc], eax
mov eax, ecx
push 0
shr eax, 4
and ecx, 1
push eax
push dword [ebp + 0xc]
movzx eax, word [ebx]
sub eax, 0x12
shr eax, 2
push ecx
inc eax
push eax
movzx eax, word [ebx + 4]
push 3
push dword [ebx + 8]
push eax
lea eax, [ebx + 0x14]
jmp 0x518348
mov ecx, edi
call fcn.00518690
test al, al
je case.0x5181c8.4415
mov ecx, edi
call fcn.00518950
test al, al
je case.0x5181c8.4415
mov ecx, edi
call fcn.00518650
push 0
push 0
push dword [ebp + 0xc]
movzx eax, ax
mov ecx, edi
push 0
push 1
push 3
push dword [ebx + 4]
mov dword [ebp - 8], eax
push eax
push 0
lea eax, [edi + 0x98]
push eax
call fcn.00512220
mov cl, al
xor esi, esi
mov byte [ebp + 0xb], cl
test cl, cl
je 0x5184f3
xor edx, edx
mov dword [ebp - 4], edx
nop
cmp esi, dword [edi + 0xa8]
jae 0x5184f3
mov eax, dword [edi + 0xa4]
mov ecx, edi
push 0
push 0
push dword [ebp + 0xc]
add eax, edx
push 0
push 1
push 3
push dword [ebx + 4]
push dword [ebp - 8]
push 0
push eax
call fcn.00512220
mov cl, byte [ebp + 0xb]
inc esi
mov edx, dword [ebp - 4]
and cl, al
add edx, 0xc
mov byte [ebp + 0xb], cl
mov dword [ebp - 4], edx
test cl, cl
jne 0x5184b0
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ax, word [ebx + 0x14]
movzx ecx, word [ebx + 6]
mov word [ebp - 0x14], ax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 0x16]
mov dword [ebp - 0xc], eax
mov eax, ecx
shr eax, 4
and ecx, 1
push eax
push dword [ebx + 0xc]
movzx eax, word [ebx]
push dword [ebp + 0xc]
sub eax, 0x16
shr eax, 2
push ecx
inc eax
push eax
movzx eax, word [ebx + 4]
push 0xb
push dword [ebx + 8]
push eax
lea eax, [ebx + 0x18]
jmp 0x518348
mov eax, 0x1157
cmp cx, ax
mov ecx, edi
sete al
movzx eax, al
push eax
push dword [ebp + 0xc]
push ebx
call fcn.00512420
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8