Function at 0x1001b600
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x2c
mov eax, dword [esp + 0x30]
xor edx, edx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x44]
xor esi, esi
xor ebp, ebp
mov dword [esp + 0x1c], edx
xor ebx, ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], ebp
mov edi, dword [edi]
mov ecx, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edi
and ecx, 0xf
je 0x1001ba31
mov ebx, dword [esp + 0x48]
mov esi, eax
test edi, 0x400
mov eax, edi
cmove esi, dword [esp + 0x40]
shr eax, 0xb
and eax, 0xfff
add esi, eax
mov eax, edi
shr eax, 4
shr edi, 7
and eax, 7
and edi, 7
inc eax
inc edi
mov dword [esp + 0x24], eax
cmp ecx, 8
jne 0x1001b68a
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
push ebx
push dword [esi]
call fcn.1000a960
jmp 0x1001b6a5
cmp ecx, 9
jne 0x1001b6cb
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
push ebx
push dword [esi]
call fcn.100135e0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x28], edx
test edx, edx
jne 0x1001ba09
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x14]
add ebx, dword [esp + 0x14]
mov dword [esp + 0x10], esi
jmp 0x1001b9e4
cmp ecx, 5
je 0x1001b9da
cmp ecx, 0xa
je 0x1001b9d5
mov eax, dword [esp + 0x10]
add eax, 2
cmp eax, dword [esp + 0x4c]
ja 0x1001ba20
movzx eax, byte [ebx]
mov ebp, dword [esp + 0x2c]
shl eax, 8
mov dword [esp + 0x20], eax
movzx eax, byte [ebx + 1]
add ebx, 2
or dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add eax, 2
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x10], eax
ja 0x1001ba20
mov eax, dword [esp + 0x18]
shr eax, 0x17
test eax, eax
cmove eax, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
test edx, edx
je 0x1001b745
imul eax, dword [esp + 0x24]
cmp eax, edx
jne 0x1001ba13
dec ecx
cmp ecx, 6
ja case.0x1001b74f.5
jmp dword [ecx*4 + 0x1001ba48]
mov eax, dword [esi]
test eax, eax
je 0x1001b76f
push dword [esp + 0x54]
push eax
call fcn.10042330
add esp, 8
mov dword [esi], 0
mov eax, dword [esp + 0x18]
test eax, eax
je case.0x1001b74f.3
push 0
push dword [esp + 0x58]
imul eax, edi
push eax
push esi
call fcn.10042350
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1001ba3d
mov esi, dword [esi]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
cmp eax, edi
jne 0x1001b7c0
test edx, edx
je 0x1001b7b9
push edx
push ebx
push edx
push esi
call dword [sym.imp.MSVCR120.dll_memcpy_s]
mov edx, dword [esp + 0x30]
add esp, 0x10
add ebx, edx
jmp case.0x1001b74f.5
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x20], ecx
test esi, esi
je case.0x1001b74f.5
mov eax, dword [esp + 0x18]
imul eax, edi
push eax
push 0
push esi
call sub.MSVCR120.dll_memset
mov edx, dword [esp + 0x24]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x14], ecx
test edx, edx
je case.0x1001b74f.5
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
lea ecx, [ecx]
mov eax, ebp
dec eax
je 0x1001b825
dec eax
je 0x1001b81f
sub eax, 2
jne 0x1001b82f
movzx eax, byte [ebx]
mov byte [esi], al
movzx eax, byte [ebx + 1]
mov byte [esi + 1], al
add esi, 2
add ebx, 2
mov al, byte [ebx]
mov byte [esi], al
inc esi
inc ebx
mov al, byte [ebx]
mov byte [esi], al
inc esi
mov ecx, dword [esp + 0x14]
inc ebx
inc ecx
add esi, edi
mov dword [esp + 0x14], ecx
cmp ecx, edx
jb 0x1001b800
jmp case.0x1001b74f.5
mov ebp, 2
jmp case.0x1001b74f.2
mov ebp, 3
mov eax, dword [esp + 0x24]
sub edi, eax
cmp dword [esp + 0x18], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], 0
jbe 0x1001b9cd
dec eax
mov dword [esp + 0x20], eax
lea ecx, [ecx]
cmp eax, 7
ja case.0x1001b879.2
jmp dword [eax*4 + 0x1001ba64]
movzx edi, byte [ebx]
xor edx, edx
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 4]
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebx + 2]
shl edi, 8
or edi, eax
movzx eax, byte [ebx + 3]
shl edi, 8
or edi, eax
movzx eax, byte [ebx + 5]
or ecx, eax
mov dword [esp + 0x38], edi
movzx eax, byte [ebx + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 7]
shl ecx, 8
add ebx, 8
or ecx, eax
or edx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], edx
test ebp, ebp
je 0x1001b8f4
movq xmm1, qword [esp + 0x34]
movd xmm0, ebp
psllq xmm1, xmm0
movq qword [esp + 0x34], xmm1
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov dword [esi + 4], edi
mov edi, dword [esp + 0x24]
mov dword [esi], edx
add esi, 8
jmp case.0x1001b879.2
movzx edx, byte [ebx]
movzx eax, byte [ebx + 1]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
movzx eax, byte [ebx + 3]
shl edx, 8
add ebx, 4
or edx, eax
mov dword [esp + 0x1c], edx
test ebp, ebp
je 0x1001b936
mov ecx, ebp
shl edx, cl
mov dword [esp + 0x1c], edx
mov dword [esi], edx
add esi, 4
jmp case.0x1001b879.2
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
add ebx, 2
shl ecx, 8
or cx, ax
movzx eax, cx
mov dword [esp + 0x2c], eax
test ebp, ebp
je 0x1001b95e
mov cx, bp
shl ax, cl
mov word [esi], ax
add esi, 2
movzx eax, ax
mov dword [esp + 0x1c], eax
jmp case.0x1001b879.2
movzx edx, byte [ebx]
inc ebx
mov dword [esp + 0x1c], edx
test ebp, ebp
je 0x1001b995
mov ecx, ebp
shl edx, cl
mov eax, edx
mov byte [esi], dl
shr eax, 8
mov byte [esi + 1], al
add esi, 2
dec edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], edi
jmp case.0x1001b879.2
mov byte [esi], dl
inc esi
test edi, edi
je 0x1001b9b6
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x24]
add esi, edi
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
jb 0x1001b870
xor ebp, ebp
mov dword [esp + 0x2c], ebp
jmp case.0x1001b74f.5
cmp ecx, 5
jne 0x1001b9dc
mov esi, dword [esi]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
add eax, 4
mov dword [esp + 0x44], eax
mov edi, dword [eax]
mov ecx, edi
mov dword [esp + 0x18], edi
and ecx, 0xf
je 0x1001ba2d
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
jmp 0x1001b640
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x2c
ret
pop edi
pop esi
pop ebp
mov eax, 0x2719
pop ebx
add esp, 0x2c
ret
pop edi
pop esi
pop ebp
mov eax, 0x271b
pop ebx
add esp, 0x2c
ret
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x1001ba3b
mov dword [eax], esi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret