Function at 0x100c1e00
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x460]
mov esi, dword [edx + 0x1c]
mov ebx, dword [edx + 0x48]
lea ecx, [eax + eax*8]
lea ebp, [ecx + ecx*2]
add ebp, eax
test byte [edx], 2
lea eax, [ebx + ebp + 4]
movzx edi, word [ebx + ebp + 4]
mov dword [esp], eax
jne 0x100c2083
mov eax, dword [edx + 0x14]
mov edx, 0x1058ebc0
cmp dword [0x1058ebd4], 0x10
jb 0x100c1e4b
mov edx, dword [0x1058ebc0]
lea ecx, [edi + 0x6d]
mov dword [esp + 4], ecx
lea ecx, [ebx + ebp]
add ecx, 6
movzx ebx, word [ebx + ebp + 6]
test eax, eax
je 0x100c20bc
mov dword [esp + 8], ecx
add eax, edi
imul esi, ebx
add esi, eax
xor ebp, ebp
movdqa xmm0, xmmword [0x104907e0]
movdqa xmm1, xmmword [0x104907f0]
mov edi, edx
nop word cs:[eax + eax]
imul eax, ebp, 0x6c
add eax, edx
mov ecx, esi
sub ecx, eax
mov ebx, 0
cmp ecx, 0xf
jbe 0x100c1f08
movdqu xmm2, xmmword [edi]
pcmpeqb xmm2, xmm0
movdqu xmmword [esi], xmm2
movdqu xmm2, xmmword [edi + 0x10]
pcmpeqb xmm2, xmm0
movdqu xmmword [esi + 0x10], xmm2
movdqu xmm2, xmmword [edi + 0x20]
pcmpeqb xmm2, xmm0
movdqu xmmword [esi + 0x20], xmm2
movdqu xmm2, xmmword [edi + 0x30]
pcmpeqb xmm2, xmm0
movdqu xmmword [esi + 0x30], xmm2
movdqu xmm2, xmmword [edi + 0x40]
pcmpeqb xmm2, xmm0
movdqu xmmword [esi + 0x40], xmm2
movdqu xmm2, xmmword [edi + 0x50]
pcmpeqb xmm2, xmm0
movdqu xmmword [esi + 0x50], xmm2
movq xmm2, qword [edi + 0x60]
pcmpeqb xmm2, xmm1
movq qword [esi + 0x60], xmm2
mov ebx, 0x68
add ebx, 3
nop dword [eax + eax]
cmp byte [edi + ebx - 3], 0x2e
sete al
neg al
mov byte [esi + ebx - 3], al
cmp byte [edi + ebx - 2], 0x2e
sete al
neg al
mov byte [esi + ebx - 2], al
cmp byte [edi + ebx - 1], 0x2e
sete al
neg al
mov byte [esi + ebx - 1], al
cmp byte [edi + ebx], 0x2e
sete al
neg al
mov byte [esi + ebx], al
add ebx, 4
cmp ebx, 0x6f
jne 0x100c1f10
mov eax, dword [esp + 0x44]
mov ebx, dword [eax + 0x1c]
inc ebp
add esi, ebx
add edi, 0x6c
cmp ebp, 0x1b
jne 0x100c1e90
mov esi, 0x1058ebc0
cmp dword [0x1058ebd4], 0x10
jb 0x100c1f78
mov esi, dword [0x1058ebc0]
mov eax, dword [esp + 8]
movzx eax, word [eax]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 4]
add edx, dword [ecx + 0x14]
imul ebx, eax
add ebx, edx
xor ecx, ecx
movdqa xmm0, xmmword [0x10490800]
movdqa xmm1, xmmword [0x10490810]
mov edx, esi
nop word cs:[eax + eax]
imul eax, ecx, 0x6c
add eax, esi
mov ebp, ebx
sub ebp, eax
mov edi, 0
cmp ebp, 0xf
jbe 0x100c2028
movdqu xmm2, xmmword [edx]
pcmpeqb xmm2, xmm0
movdqu xmmword [ebx], xmm2
movdqu xmm2, xmmword [edx + 0x10]
pcmpeqb xmm2, xmm0
movdqu xmmword [ebx + 0x10], xmm2
movdqu xmm2, xmmword [edx + 0x20]
pcmpeqb xmm2, xmm0
movdqu xmmword [ebx + 0x20], xmm2
movdqu xmm2, xmmword [edx + 0x30]
pcmpeqb xmm2, xmm0
movdqu xmmword [ebx + 0x30], xmm2
movdqu xmm2, xmmword [edx + 0x40]
pcmpeqb xmm2, xmm0
movdqu xmmword [ebx + 0x40], xmm2
movdqu xmm2, xmmword [edx + 0x50]
pcmpeqb xmm2, xmm0
movdqu xmmword [ebx + 0x50], xmm2
movq xmm2, qword [edx + 0x60]
pcmpeqb xmm2, xmm1
movq qword [ebx + 0x60], xmm2
mov edi, 0x68
add edi, 3
mov ebp, dword [esp + 0x44]
nop
cmp byte [edx + edi - 3], 0x58
sete al
neg al
mov byte [ebx + edi - 3], al
cmp byte [edx + edi - 2], 0x58
sete al
neg al
mov byte [ebx + edi - 2], al
cmp byte [edx + edi - 1], 0x58
sete al
neg al
mov byte [ebx + edi - 1], al
cmp byte [edx + edi], 0x58
sete al
neg al
mov byte [ebx + edi], al
add edi, 4
cmp edi, 0x6f
jne 0x100c2030
inc ecx
add ebx, dword [ebp + 0x1c]
add edx, 0x6c
cmp ecx, 0x1b
jne 0x100c1fb0
jmp 0x100c220f
movzx ecx, word [ebx + ebp + 6]
imul ecx, esi
add ecx, edi
mov eax, dword [edx + 0x14]
test eax, eax
mov ebp, edx
je 0x100c21e3
add esi, ecx
mov byte [eax + esi + 1], 0xff
mov eax, dword [ebp + 0x14]
mov byte [eax + esi], 0xff
mov eax, dword [ebp + 0x14]
mov byte [ecx + eax + 1], 0xff
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx], 0xff
jmp 0x100c220f
shl edi, 2
mov eax, dword [esp + 0x44]
add edi, dword [eax + 0x18]
imul esi, ebx
lea esi, [edi + esi*4]
xor ebx, ebx
movdqa xmm0, xmmword [0x10490820]
mov ebp, edx
jmp 0x100c20f7
mov eax, dword [esp + 0x44]
mov edi, dword [eax + 0x1c]
inc ebx
lea esi, [esi + edi*4]
add ebp, 0x6c
cmp ebx, 0x1b
je 0x100c2637
imul eax, ebx, 0x6c
add eax, edx
add eax, 0x6c
cmp esi, eax
jae 0x100c2170
lea eax, [esi + 0x1b0]
cmp ebp, eax
jae 0x100c2170
mov edi, 3
nop word cs:[eax + eax]
xor eax, eax
cmp byte [ebp + edi - 3], 0x2e
sete al
neg eax
mov dword [esi + edi*4 - 0xc], eax
xor eax, eax
cmp byte [ebp + edi - 2], 0x2e
sete al
neg eax
mov dword [esi + edi*4 - 8], eax
xor eax, eax
cmp byte [ebp + edi - 1], 0x2e
sete al
neg eax
mov dword [esi + edi*4 - 4], eax
xor eax, eax
cmp byte [ebp + edi], 0x2e
sete al
neg eax
mov dword [esi + edi*4], eax
add edi, 4
cmp edi, 0x6f
jne 0x100c2120
jmp 0x100c20e0
mov edi, 8
nop word cs:[eax + eax]
movd xmm1, dword [ebp + edi - 8]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
psrad xmm1, 0x18
movdqu xmmword [esi + edi*4 - 0x20], xmm1
movd xmm1, dword [ebp + edi - 4]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
psrad xmm1, 0x18
movdqu xmmword [esi + edi*4 - 0x10], xmm1
movd xmm1, dword [ebp + edi]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
psrad xmm1, 0x18
movdqu xmmword [esi + edi*4], xmm1
add edi, 0xc
cmp edi, 0x74
jne 0x100c2180
jmp 0x100c20e0
mov eax, dword [ebp + 0x18]
add esi, ecx
mov dword [eax + esi*4 + 4], 0xffffffff
mov eax, dword [ebp + 0x18]
mov dword [eax + esi*4], 0xffffffff
mov eax, dword [ebp + 0x18]
mov dword [eax + ecx*4 + 4], 0xffffffff
mov eax, dword [ebp + 0x18]
mov dword [eax + ecx*4], 0xffffffff
mov eax, dword [esp]
movd xmm0, dword [eax]
pxor xmm1, xmm1
punpcklwd xmm0, xmm1
cvtdq2ps xmm0, xmm0
addps xmm0, xmmword [0x1048d350]
movsd xmm1, qword [ebp + 0x24]
mulps xmm1, xmm0
movlps qword [ebp + 0x2c], xmm1
test byte [ebp], 4
jne 0x100c24e7
mov eax, dword [ebp + 0x464]
mov ecx, dword [ebp + 0x48]
lea edx, [eax + eax*8]
lea edx, [edx + edx*2]
add edx, eax
lea eax, [ecx + edx]
mov dword [esp + 0x28], eax
lea ebx, [ecx + edx]
add ebx, 6
mov dword [esp + 4], 0
mov edi, 1
xor ecx, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 8], ebx
jmp 0x100c2348
push 0
push eax
call fcn.10368a10
add esp, 0xc
movzx ecx, word [ebx]
lea eax, [edi + ecx]
dec eax
movd xmm0, eax
movzx edx, word [ebx - 2]
mov esi, dword [esp]
lea eax, [esi + edx]
dec eax
add edx, edi
add edx, esi
movd xmm1, edx
add ecx, edi
movq xmm4, qword [0x10490840]
por xmm0, xmm4
subsd xmm0, xmm4
cvtsd2ss xmm0, xmm0
por xmm1, xmm4
subsd xmm1, xmm4
cvtsd2ss xmm1, xmm1
movd xmm2, ecx
movaps xmm3, xmmword [0x10490850]
unpcklps xmm3, xmm1
mov ebp, dword [esp + 0x44]
movss xmm1, dword [ebp + 0x28]
por xmm2, xmm4
subsd xmm2, xmm4
cvtsd2ss xmm2, xmm2
mulss xmm0, xmm1
mulss xmm2, xmm1
movd xmm1, eax
por xmm1, xmm4
subsd xmm1, xmm4
cvtsd2ss xmm1, xmm1
addss xmm2, xmm0
movss xmm0, dword [ebp + 0x24]
mulss xmm1, xmm0
mov eax, dword [esp + 4]
movss dword [ebp + eax*4 + 0x58], xmm1
unpcklps xmm2, xmm0
mulps xmm2, xmm3
movlps qword [ebp + eax*4 + 0x5c], xmm2
movss dword [ebp + eax*4 + 0x64], xmm2
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
dec ecx
inc edi
add eax, 4
mov dword [esp + 4], eax
cmp edi, 0x41
je 0x100c24e7
mov eax, dword [esp + 0x28]
movzx ebx, word [eax]
lea edx, [ecx + ebx]
mov eax, edx
shr eax, 1
lea esi, [edi + eax]
dec esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebx
mov dword [esp], eax
sub ebx, eax
add ebx, ecx
mov eax, ebp
mov esi, dword [ebp + 0x14]
test esi, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], ebx
je 0x100c2430
mov ecx, dword [esp + 8]
movzx ebp, word [ecx - 2]
movzx ecx, word [ecx]
mov dword [esp + 0xc], ecx
lea ebx, [edi + ecx]
dec ebx
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x10], eax
imul ebx, eax
mov dword [esp + 0x14], ebp
add ebx, esi
add ebx, ebp
cmp edx, 2
jb 0x100c23c2
mov ecx, dword [esp]
cmp ecx, 2
mov eax, 1
cmovae eax, ecx
push eax
push 0
push ebx
call fcn.10368a10
add esp, 0xc
cmp edi, 1
je 0x100c23dc
lea eax, [edi - 1]
add ebx, dword [esp]
push eax
push 0xff
push ebx
call fcn.10368a10
add esp, 0xc
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
mov ebx, dword [esp + 8]
je 0x100c228b
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
imul ecx, eax
mov eax, dword [esp + 0x14]
add eax, dword [esp]
add esi, eax
add esi, ecx
lea eax, [edi + esi]
dec eax
mov ebp, dword [esp + 0x1c]
cmp ebp, 2
mov ecx, 1
cmovb ebp, ecx
push ebp
jmp 0x100c2280
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov eax, dword [esp + 8]
movzx ebx, word [eax - 2]
movzx eax, word [eax]
mov dword [esp + 0xc], eax
add eax, edi
dec eax
imul eax, esi
mov dword [esp + 0x10], ebx
add eax, ebx
mov dword [esp + 0x14], ecx
lea ebx, [ecx + eax*4]
cmp edx, 2
mov ebp, edx
jb 0x100c247c
mov ecx, dword [esp]
cmp ecx, 2
mov eax, 1
cmovae eax, ecx
shl eax, 2
push eax
push 0
push ebx
call fcn.10368a10
add esp, 0xc
cmp edi, 1
je 0x100c2499
mov eax, dword [esp]
lea eax, [ebx + eax*4]
push dword [esp + 4]
push 0xff
push eax
call fcn.10368a10
add esp, 0xc
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
mov ebx, dword [esp + 8]
je 0x100c228b
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x18]
imul esi, eax
add esi, dword [esp + 0x10]
and ebp, 0xfffffffe
shl esi, 2
lea eax, [esi + ebp*2]
mov ecx, dword [esp + 0x14]
add ecx, eax
lea eax, [ecx + edi*4]
add eax, 0xfffffffc
mov edx, dword [esp + 0x1c]
cmp edx, 2
mov ecx, 1
cmovb edx, ecx
shl edx, 2
push edx
jmp 0x100c2280
mov ecx, ebp
call fcn.100c2770
mov ebx, dword [ebp + 0x40]
test ebx, ebx
jle 0x100c25fd
xor esi, esi
xor edi, edi
jmp 0x100c250c
inc edi
add esi, 0x1c
cmp edi, ebx
jge 0x100c25fd
mov edx, dword [ebp + 0x48]
mov ecx, dword [edx + esi + 0x18]
test ecx, ecx
je 0x100c2500
mov eax, dword [edx + esi + 8]
test eax, eax
je 0x100c2500
movzx ebx, word [edx + esi + 6]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
movss xmm4, dword [ebp + 0x24]
movss xmm3, dword [ebp + 0x28]
movzx ebp, word [edx + esi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, ebp
mov dword [esp], eax
movzx eax, word [edx + esi + 2]
add ebx, eax
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
mulss xmm0, xmm3
movss dword [esp + 4], xmm0
mulss xmm2, xmm4
mulss xmm1, xmm3
movzx ebx, word [edx + esi]
add ebp, ebx
xorps xmm3, xmm3
cvtsi2ss xmm3, ebp
mov ebp, dword [esp + 0x44]
mulss xmm3, xmm4
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movss xmm5, dword [edx + esi + 0x14]
xorps xmm6, xmm6
cvtsi2ss xmm6, ebx
addss xmm4, xmm5
movss xmm7, dword [edx + esi + 0x10]
addss xmm6, xmm7
movss xmm0, dword [edx + esi + 0xc]
sub esp, 0x2c
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x10], xmm6
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm7
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x20], xmm3
movzx eax, word [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.100c2f70
mov ebx, dword [ebp + 0x40]
jmp 0x100c2500
mov eax, dword [ebp + 0x34]
test eax, eax
jle 0x100c262b
xor esi, esi
jmp 0x100c2615
inc esi
cmp esi, eax
jge 0x100c262b
mov ecx, dword [ebp + 0x3c]
mov ecx, dword [ecx + esi*4]
cmp byte [ecx + 0x40], 0
je 0x100c2610
call fcn.100c31b0
mov eax, dword [ebp + 0x34]
jmp 0x100c2610
mov byte [ebp + 0x11], 1
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, 0x1058ebc0
cmp dword [0x1058ebd4], 0x10
jb 0x100c264b
mov esi, dword [0x1058ebc0]
movzx eax, word [ecx]
mov ecx, dword [esp + 4]
shl ecx, 2
mov ebp, dword [esp + 0x44]
add ecx, dword [ebp + 0x18]
imul edi, eax
lea ecx, [ecx + edi*4]
xor edx, edx
movdqa xmm0, xmmword [0x10490830]
mov edi, esi
jmp 0x100c2683
mov eax, dword [ebp + 0x1c]
inc edx
lea ecx, [ecx + eax*4]
add edi, 0x6c
cmp edx, 0x1b
je 0x100c220f
imul eax, edx, 0x6c
add eax, esi
add eax, 0x6c
cmp ecx, eax
jae 0x100c26f0
lea eax, [ecx + 0x1b0]
cmp edi, eax
jae 0x100c26f0
mov ebx, 3
nop
xor eax, eax
cmp byte [edi + ebx - 3], 0x58
sete al
neg eax
mov dword [ecx + ebx*4 - 0xc], eax
xor eax, eax
cmp byte [edi + ebx - 2], 0x58
sete al
neg eax
mov dword [ecx + ebx*4 - 8], eax
xor eax, eax
cmp byte [edi + ebx - 1], 0x58
sete al
neg eax
mov dword [ecx + ebx*4 - 4], eax
xor eax, eax
cmp byte [edi + ebx], 0x58
sete al
neg eax
mov dword [ecx + ebx*4], eax
add ebx, 4
cmp ebx, 0x6f
jne 0x100c26a0
jmp 0x100c2670
mov ebx, 8
nop word cs:[eax + eax]
movd xmm1, dword [edi + ebx - 8]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
psrad xmm1, 0x18
movdqu xmmword [ecx + ebx*4 - 0x20], xmm1
movd xmm1, dword [edi + ebx - 4]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
psrad xmm1, 0x18
movdqu xmmword [ecx + ebx*4 - 0x10], xmm1
movd xmm1, dword [edi + ebx]
pcmpeqb xmm1, xmm0
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
psrad xmm1, 0x18
movdqu xmmword [ecx + ebx*4], xmm1
add ebx, 0xc
cmp ebx, 0x74
jne 0x100c2700
jmp 0x100c2670