Function at 0x1013c1d0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x30]
test eax, eax
je 0x1013c6f1
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x18], edx
test ebp, ebp
je 0x1013c294
mov al, byte [edi + 3]
mov bl, byte [edi]
mov dl, byte [edi + 1]
mov cl, byte [edi + 2]
mov byte [edi], al
mov al, byte [edi + 7]
mov byte [edi + 1], cl
mov cl, byte [edi + 6]
mov byte [edi + 2], dl
mov dl, byte [edi + 5]
mov byte [edi + 3], bl
mov bl, byte [edi + 4]
mov byte [edi + 4], al
mov al, byte [edi + 0xb]
mov byte [edi + 5], cl
mov cl, byte [edi + 0xa]
mov byte [edi + 6], dl
mov dl, byte [edi + 9]
mov byte [edi + 7], bl
mov bl, byte [edi + 8]
mov byte [edi + 8], al
mov al, byte [edi + 0xf]
mov byte [edi + 9], cl
mov cl, byte [edi + 0xe]
mov byte [edi + 0xa], dl
mov dl, byte [edi + 0xd]
mov byte [edi + 0xb], bl
mov bl, byte [edi + 0xc]
mov byte [edi + 0xc], al
mov al, byte [edi + 0x13]
mov byte [edi + 0xd], cl
mov cl, byte [edi + 0x12]
mov byte [edi + 0xe], dl
mov dl, byte [edi + 0x11]
mov byte [edi + 0xf], bl
mov bl, byte [edi + 0x10]
mov byte [edi + 0x10], al
mov al, byte [edi + 0x15]
mov byte [edi + 0x11], cl
mov cl, byte [edi + 0x14]
mov byte [edi + 0x14], al
mov al, byte [edi + 0x17]
mov byte [edi + 0x15], cl
mov cl, byte [edi + 0x16]
mov byte [edi + 0x12], dl
mov edx, dword [esp + 0x18]
mov byte [edi + 0x16], al
mov eax, dword [esp + 0x34]
mov byte [edi + 0x13], bl
mov byte [edi + 0x17], cl
lea ecx, [edi + eax]
mov eax, dword [esi + 0x2e0]
mov dword [esp + 0x14], ecx
test eax, 0x400
je 0x1013c2af
mov eax, 0x26
jmp 0x1013c2bb
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
lea ebx, [edi + 0x1a]
add ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, ecx
jae case.0x1013c2e0.0
movzx eax, byte [edi + 0x19]
cmp eax, 0xd
ja case.0x1013c2e0.1
movzx eax, byte [eax + 0x1013c920]
jmp dword [eax*4 + 0x1013c908]
movzx eax, word [edi + 0x14]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov edx, eax
mov dword [esp + 0x20], ecx
cmp cx, ax
jae 0x1013c4ee
movzx edx, cx
test ebp, ebp
je 0x1013c315
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esi + 0x2e0]
mov esi, ecx
and ecx, 1
and esi, 0x400
je 0x1013c32f
mov eax, 0x26
jmp 0x1013c338
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx eax, word [eax + edi + 0x1a]
add eax, edi
cmp eax, dword [esp + 0x14]
jae case.0x1013c376.1
test esi, esi
je 0x1013c357
mov eax, 0x26
jmp 0x1013c360
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx eax, word [eax + edi + 0x1a]
movzx eax, byte [eax + edi]
dec eax
cmp eax, 3
ja case.default.0x1013c376
jmp dword [eax*4 + 0x1013c930]
mov ebx, dword [esp + 0x1c]
test bx, bx
jne 0x1013c38f
mov eax, dword [esp + 0x34]
movzx eax, ax
jmp 0x1013c3ab
test esi, esi
je 0x1013c39a
mov eax, 0x26
jmp 0x1013c3a3
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx eax, word [eax + edi + 0x18]
test esi, esi
movzx edx, ax
movzx esi, bx
je 0x1013c3c3
sub dx, word [edi + esi*2 + 0x40]
mov ecx, 0x26
dec dx
jmp 0x1013c3dc
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
add eax, edi
sub dx, word [eax + esi*2 + 0x1a]
dec dx
neg ecx
sbb ecx, ecx
and ecx, 6
lea eax, [ecx + esi*2]
movzx edx, dx
movzx eax, word [eax + edi + 0x1a]
inc eax
movzx ebx, dx
add eax, edi
add ebx, eax
cmp eax, ebx
jae 0x1013c4b5
mov cl, byte [eax + 1]
test ebp, ebp
je 0x1013c40a
mov dl, byte [eax]
mov byte [eax], cl
mov byte [eax + 1], dl
movzx esi, word [eax]
jmp 0x1013c414
movzx edx, word [eax]
mov esi, edx
mov byte [eax], cl
mov byte [eax + 1], dl
movzx ecx, si
add eax, ecx
mov dl, byte [eax + 2]
mov cl, byte [eax + 3]
mov byte [eax + 2], cl
mov byte [eax + 3], dl
add eax, 4
cmp eax, ebx
jb 0x1013c3f7
jmp 0x1013c4b5
test esi, esi
je 0x1013c43c
mov ecx, 0x26
jmp 0x1013c443
neg ecx
sbb ecx, ecx
and ecx, 6
lea eax, [ecx + edx*2]
movzx esi, word [eax + edi + 0x1a]
mov al, byte [esi + edi + 7]
add esi, edi
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov cl, byte [esi + 6]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov byte [esi + 6], dl
mov byte [esi + 7], bl
jmp 0x1013c4b5
test esi, esi
je 0x1013c473
mov ecx, 0x26
jmp 0x1013c47a
neg ecx
sbb ecx, ecx
and ecx, 6
lea eax, [ecx + edx*2]
movzx esi, word [eax + edi + 0x1a]
mov al, byte [esi + edi + 7]
add esi, edi
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov cl, byte [esi + 6]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov byte [esi + 6], dl
mov byte [esi + 7], bl
mov bl, byte [esi + 8]
mov dl, byte [esi + 9]
mov cl, byte [esi + 0xa]
mov al, byte [esi + 0xb]
mov byte [esi + 8], al
mov byte [esi + 9], cl
mov byte [esi + 0xa], dl
mov byte [esi + 0xb], bl
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
movzx eax, word [edi + 0x14]
inc ecx
mov dword [esp + 0x1c], ecx
mov edx, eax
cmp cx, ax
jae 0x1013c4ee
mov esi, dword [esp + 0x28]
jmp 0x1013c300
push dword [esp + 0x2c]
push dword [esp + 0x1c]
call fcn.100d0df0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test ebp, ebp
jne 0x1013c6f1
xor eax, eax
xor esi, esi
cmp ax, dx
jae 0x1013c663
movzx eax, si
inc esi
mov cl, byte [ebx + eax*2]
lea edx, [ebx + eax*2]
mov al, byte [edx + 1]
mov byte [edx], al
mov byte [edx + 1], cl
cmp si, word [edi + 0x14]
jb 0x1013c503
jmp 0x1013c663
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x1c], ecx
cmp ax, word [edi + 0x14]
jae case.0x1013c2e0.0
movzx edx, cx
test ebp, ebp
je 0x1013c54b
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x1c]
mov byte [ebx + edx*2], al
cmp byte [edi + 0x19], 5
jne 0x1013c59b
cmp cx, 1
jbe 0x1013c59b
test ebp, ebp
je 0x1013c56c
mov ax, word [ebx + edx*2]
cmp ax, word [ebx + edx*2 - 4]
je 0x1013c64c
jmp 0x1013c59b
mov ah, byte [ebx + edx*2 + 1]
mov al, byte [ebx + edx*2]
mov byte [ebx + edx*2], ah
mov byte [ebx + edx*2 + 1], al
mov byte [esp + 0x34], ah
movzx eax, word [ebx + edx*2]
cmp ax, word [ebx + edx*2 - 4]
je 0x1013c64c
shr eax, 8
mov byte [ebx + edx*2], al
mov al, byte [esp + 0x34]
mov byte [ebx + edx*2 + 1], al
mov eax, dword [esi + 0x2e0]
test eax, 0x400
je 0x1013c5af
mov eax, 0x26
jmp 0x1013c5bb
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
movzx edx, cx
mov dword [esp + 0x34], edx
lea eax, [eax + edx*2]
movzx esi, word [eax + edi + 0x1a]
add esi, edi
cmp esi, dword [esp + 0x14]
jae 0x1013c648
movzx eax, byte [esi + 2]
and eax, 0xffffff7f
sub eax, 1
je 0x1013c628
sub eax, 1
je 0x1013c5ee
sub eax, 1
jne case.default.0x1013c376
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov cl, byte [esi + 6]
mov al, byte [esi + 7]
mov byte [esi + 6], dl
mov dl, byte [esi + 9]
mov byte [esi + 7], bl
mov bl, byte [esi + 8]
mov byte [esi + 4], al
mov al, byte [esi + 0xb]
mov byte [esi + 5], cl
mov cl, byte [esi + 0xa]
mov byte [esi + 0xa], dl
mov edx, dword [esp + 0x34]
mov byte [esi + 0xb], bl
mov ebx, dword [esp + 0x10]
mov byte [esi + 8], al
mov byte [esi + 9], cl
jmp 0x1013c632
mov cl, byte [esi]
mov al, byte [esi + 1]
mov byte [esi], al
mov byte [esi + 1], cl
test ebp, ebp
jne 0x1013c644
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x1c], ecx
cmp cx, word [edi + 0x14]
jb 0x1013c532
test ebp, ebp
jne 0x1013c6f1
mov cl, byte [edi + 2]
mov al, byte [edi + 3]
mov bl, byte [edi]
mov dl, byte [edi + 1]
mov byte [edi], al
mov al, byte [edi + 7]
mov byte [edi + 1], cl
mov cl, byte [edi + 6]
mov byte [edi + 2], dl
mov dl, byte [edi + 5]
mov byte [edi + 3], bl
mov bl, byte [edi + 4]
mov byte [edi + 4], al
mov al, byte [edi + 0xb]
mov byte [edi + 5], cl
mov cl, byte [edi + 0xa]
mov byte [edi + 6], dl
mov dl, byte [edi + 9]
mov byte [edi + 7], bl
mov bl, byte [edi + 8]
mov byte [edi + 8], al
mov al, byte [edi + 0xf]
mov byte [edi + 9], cl
mov cl, byte [edi + 0xe]
mov byte [edi + 0xa], dl
mov dl, byte [edi + 0xd]
mov byte [edi + 0xb], bl
mov bl, byte [edi + 0xc]
mov byte [edi + 0xc], al
mov al, byte [edi + 0x13]
mov byte [edi + 0xd], cl
mov cl, byte [edi + 0x12]
mov byte [edi + 0xe], dl
mov dl, byte [edi + 0x11]
mov byte [edi + 0xf], bl
mov bl, byte [edi + 0x10]
mov byte [edi + 0x10], al
mov al, byte [edi + 0x15]
mov byte [edi + 0x11], cl
mov cl, byte [edi + 0x14]
mov byte [edi + 0x14], al
mov al, byte [edi + 0x17]
mov byte [edi + 0x15], cl
mov cl, byte [edi + 0x16]
mov byte [edi + 0x12], dl
mov byte [edi + 0x13], bl
mov byte [edi + 0x16], al
mov byte [edi + 0x17], cl
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
xor eax, eax
xor edx, edx
mov dword [esp + 0x1c], eax
cmp dx, word [edi + 0x14]
jae case.0x1013c2e0.0
nop dword [eax]
movzx edx, ax
mov dword [esp + 0x34], edx
test ebp, ebp
je 0x1013c72f
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov byte [ebx + edx*2], al
jmp 0x1013c733
mov dword [esp + 0x34], edx
mov eax, dword [esi + 0x2e0]
test eax, 0x400
je 0x1013c747
mov eax, 0x26
jmp 0x1013c753
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx esi, word [eax + edi + 0x1a]
add esi, edi
cmp esi, ecx
jae 0x1013c809
mov al, byte [esi + 1]
mov cl, byte [esi]
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov byte [esi], al
mov al, byte [esi + 7]
mov byte [esi + 4], al
mov al, byte [esi + 0xb]
mov byte [esi + 7], bl
mov bl, byte [esi + 8]
mov byte [esi + 8], al
movzx eax, byte [esi + 2]
mov byte [esi + 1], cl
and eax, 0xffffff7f
mov cl, byte [esi + 6]
mov byte [esi + 5], cl
mov cl, byte [esi + 0xa]
mov byte [esi + 6], dl
mov dl, byte [esi + 9]
mov byte [esi + 9], cl
mov byte [esi + 0xa], dl
mov byte [esi + 0xb], bl
sub eax, 1
je 0x1013c7eb
sub eax, 1
je 0x1013c7bb
sub eax, 1
jne case.default.0x1013c376
mov bl, byte [esi + 0x10]
mov dl, byte [esi + 0x11]
mov cl, byte [esi + 0x12]
mov al, byte [esi + 0x13]
mov byte [esi + 0x10], al
mov al, byte [esi + 0x17]
mov byte [esi + 0x11], cl
mov cl, byte [esi + 0x16]
mov byte [esi + 0x12], dl
mov dl, byte [esi + 0x15]
mov byte [esi + 0x13], bl
mov bl, byte [esi + 0x14]
mov byte [esi + 0x14], al
mov byte [esi + 0x15], cl
mov byte [esi + 0x16], dl
mov byte [esi + 0x17], bl
mov ebx, dword [esp + 0x10]
test ebp, ebp
jne 0x1013c805
mov edx, dword [esp + 0x34]
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp ax, word [edi + 0x14]
jae case.0x1013c2e0.0
mov esi, dword [esp + 0x28]
jmp 0x1013c710
xor eax, eax
xor edx, edx
mov dword [esp + 0x1c], eax
cmp dx, word [edi + 0x14]
jae case.0x1013c2e0.0
movzx edx, ax
mov dword [esp + 0x34], edx
test ebp, ebp
je 0x1013c856
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov byte [ebx + edx*2], al
jmp 0x1013c85a
mov dword [esp + 0x34], edx
mov eax, dword [esi + 0x2e0]
test eax, 0x400
je 0x1013c86e
mov eax, 0x26
jmp 0x1013c87a
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx esi, word [eax + edi + 0x1a]
add esi, edi
cmp esi, ecx
jae 0x1013c8d4
mov bl, byte [esi]
mov dl, byte [esi + 1]
mov cl, byte [esi + 2]
mov al, byte [esi + 3]
mov byte [esi + 3], bl
mov bl, byte [esi + 4]
mov byte [esi], al
mov al, byte [esi + 7]
mov byte [esi + 1], cl
mov cl, byte [esi + 6]
mov byte [esi + 2], dl
mov dl, byte [esi + 5]
mov byte [esi + 7], bl
mov ebx, dword [esp + 0x10]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov byte [esi + 6], dl
test ebp, ebp
jne 0x1013c8d0
mov edx, dword [esp + 0x34]
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
inc eax
mov dword [esp + 0x1c], eax
cmp ax, word [edi + 0x14]
jb 0x1013c837
jmp case.0x1013c2e0.0
push dword [esp + 0x2c]
push edx
call fcn.100d0df0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret