Function at 0x1000e500
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 0x1000e931
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 0x1000e58a
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.1000a710
jmp 0x1000e5a5
cmp ecx, 9
jne 0x1000e5cb
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.1000c6f0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x28], edx
test edx, edx
jne 0x1000e909
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x14]
add ebx, dword [esp + 0x14]
mov dword [esp + 0x10], esi
jmp 0x1000e8e4
cmp ecx, 5
je 0x1000e8da
cmp ecx, 0xa
je 0x1000e8d5
mov eax, dword [esp + 0x10]
add eax, 2
cmp eax, dword [esp + 0x4c]
ja 0x1000e920
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 0x1000e920
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 0x1000e645
imul eax, dword [esp + 0x24]
cmp eax, edx
jne 0x1000e913
dec ecx
cmp ecx, 6
ja case.0x1000e64f.5
jmp dword [ecx*4 + 0x1000e948]
mov eax, dword [esi]
test eax, eax
je 0x1000e66f
push dword [esp + 0x54]
push eax
call fcn.10019e00
add esp, 8
mov dword [esi], 0
mov eax, dword [esp + 0x18]
test eax, eax
je case.0x1000e64f.3
push 0
push dword [esp + 0x58]
imul eax, edi
push eax
push esi
call fcn.1001a750
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1000e93d
mov esi, dword [esi]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
cmp eax, edi
jne 0x1000e6c0
test edx, edx
je 0x1000e6b9
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.0x1000e64f.5
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x20], ecx
test esi, esi
je case.0x1000e64f.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.0x1000e64f.5
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
lea ecx, [ecx]
mov eax, ebp
dec eax
je 0x1000e725
dec eax
je 0x1000e71f
sub eax, 2
jne 0x1000e72f
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 0x1000e700
jmp case.0x1000e64f.5
mov ebp, 2
jmp case.0x1000e64f.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 0x1000e8cd
dec eax
mov dword [esp + 0x20], eax
lea ecx, [ecx]
cmp eax, 7
ja case.0x1000e779.2
jmp dword [eax*4 + 0x1000e964]
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 0x1000e7f4
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.0x1000e779.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 0x1000e836
mov ecx, ebp
shl edx, cl
mov dword [esp + 0x1c], edx
mov dword [esi], edx
add esi, 4
jmp case.0x1000e779.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 0x1000e85e
mov cx, bp
shl ax, cl
mov word [esi], ax
add esi, 2
movzx eax, ax
mov dword [esp + 0x1c], eax
jmp case.0x1000e779.2
movzx edx, byte [ebx]
inc ebx
mov dword [esp + 0x1c], edx
test ebp, ebp
je 0x1000e895
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.0x1000e779.2
mov byte [esi], dl
inc esi
test edi, edi
je 0x1000e8b6
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 0x1000e770
xor ebp, ebp
mov dword [esp + 0x2c], ebp
jmp case.0x1000e64f.5
cmp ecx, 5
jne 0x1000e8dc
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 0x1000e92d
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
jmp 0x1000e540
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 0x1000e93b
mov dword [eax], esi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret