Function at 0x100c28bc
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x10443bf0]
xor ecx, ebp
mov dword [esp + 0x78], ecx
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, edi
sub eax, esi
mov ecx, 0x2aaaaaab
imul ecx
mov dword [esp + 0x18], edx
sub edi, esi
je 0x100c2eda
mov dword [esp + 0x1c], edi
mov dword [esp + 0x5c], 0
call fcn.100a3a30
mov ebx, dword [eax]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0xc
jbe 0x100c3891
mov edi, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
lea eax, [esp + 0x5c]
push eax
push edi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x10
jbe 0x100c3891
mov ecx, dword [eax + 0x10]
mov edi, dword [esp + 0x5c]
call dword [section..00cfg]
push 2
push edi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x88
jbe 0x100c3891
mov ecx, dword [eax + 0x88]
mov edi, dword [esp + 0x5c]
call dword [section..00cfg]
push 4
push edi
call ecx
mov dword [esp + 0x58], 0
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x10], ebx
je 0x100c29ff
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x7c
jbe 0x100c3891
mov ecx, dword [eax + 0x7c]
mov eax, dword [ebp + 0x10]
movss xmm4, dword [eax + 0x14]
movss xmm5, dword [eax + 0x10]
movups xmm6, xmmword [eax]
call dword [section..00cfg]
sub esp, 0x1c
lea eax, [esp + 0x74]
mov dword [esp + 0x18], eax
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x10], xmm5
movups xmmword [esp], xmm6
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x84
jbe 0x100c3891
mov ecx, dword [eax + 0x84]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
call dword [section..00cfg]
push edi
push ebx
call ecx
mov ebx, dword [esp + 0x18]
mov eax, ebx
shr eax, 0x1f
sar ebx, 1
add ebx, eax
xor eax, eax
lea ecx, [esp + 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push ebx
call fcn.100119a8
lea eax, [esp + 0x4c]
mov edi, dword [eax + 4]
lea eax, [ebx*8]
push eax
xor eax, eax
push eax
push edi
call fcn.1023e960
add esp, 0xc
lea eax, [edi + ebx*8]
lea ecx, [esp + 0x4c]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x40]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push ebx
call fcn.100c38b6
lea eax, [esp + 0x40]
mov edi, dword [eax + 4]
push ebx
xor eax, eax
push eax
push edi
add edi, ebx
call fcn.1023e960
xor edx, edx
add esp, 0xc
lea eax, [esp + 0x40]
mov dword [eax + 4], edi
cmp ebx, 1
mov eax, 0
mov dword [esp + 0x18], ebx
sbb eax, ebx
mov dword [esp + 0x30], eax
xor ebx, ebx
inc ebx
movss xmm1, dword [0x10302f8c]
movss xmm2, dword [0x10302f90]
xor ecx, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x34], 0
mov dword [esp + 8], ecx
lea edi, [ebx - 1]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, edi
jbe 0x100c3873
movss xmm0, dword [esi]
movss dword [eax + ebx*8 - 8], xmm0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, edi
jbe 0x100c3873
movss xmm0, dword [esi + 4]
movss dword [eax + ebx*8 - 4], xmm0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100c2b54
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x28], ebx
mov ebx, edi
mov edi, esi
mov esi, edx
call fcn.10005578
movss xmm2, dword [0x10302f90]
movss xmm1, dword [0x10302f8c]
mov edx, esi
mov esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
movd xmm0, eax
ucomiss xmm0, xmm1
jbe 0x100c2b80
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, edi
jbe 0x100c3873
mov dword [eax + ebx*8 - 8], 0x47435000
movss xmm0, dword [esp + 0x70]
ucomiss xmm2, xmm0
jbe 0x100c2ba2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, edi
jbe 0x100c3873
mov dword [eax + ebx*8 - 8], 0xc7435000
movss xmm0, dword [esp + 0x74]
ucomiss xmm0, xmm1
jbe 0x100c2bd0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, edi
jbe 0x100c3873
mov dword [eax + ebx*8 - 4], 0x47435000
movss xmm0, dword [esp + 0x74]
ucomiss xmm2, xmm0
jbe 0x100c2bf2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, edi
jbe 0x100c3873
mov dword [eax + ebx*8 - 4], 0xc7435000
movzx eax, byte [esi + 8]
test eax, eax
je 0x100c2c54
cmp eax, 1
je 0x100c2c32
cmp eax, 2
jne 0x100c2d60
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sub ecx, eax
cmp ecx, edi
jbe 0x100c3873
mov byte [eax + ebx - 1], 0
inc dword [esp + 0x34]
mov dword [esp + 0xc], 0
mov edx, edi
jmp 0x100c2d60
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sub ecx, eax
cmp ecx, edi
jbe 0x100c3873
mov byte [eax + ebx - 1], 3
mov al, 1
mov dword [esp + 0x14], eax
jmp 0x100c2d60
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sub ecx, eax
cmp ecx, edi
jbe 0x100c3873
mov byte [eax + ebx - 1], 1
lea eax, [ebx - 2]
cmp dword [esp + 0x18], eax
jbe 0x100c38aa
cmp byte [esi - 4], 2
jne 0x100c2c84
cmp byte [esi - 3], 0
je 0x100c2ce2
test byte [esp + 0x14], 1
jne 0x100c2d60
mov dword [esp + 0x20], esi
mov esi, edx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
sub edx, ecx
sar edx, 3
cmp edx, edi
jbe 0x100c3873
cmp edx, eax
jbe 0x100c3873
movss xmm0, dword [ecx + ebx*8 - 8]
ucomiss xmm0, dword [ecx + ebx*8 - 0x10]
jne 0x100c2cc5
jnp 0x100c2d5a
movss xmm0, dword [ecx + ebx*8 - 4]
ucomiss xmm0, dword [ecx + ebx*8 - 0xc]
mov edx, esi
jne 0x100c2cda
jnp 0x100c2d5c
mov al, 1
mov dword [esp + 0x14], eax
jmp 0x100c2d5c
cmp dword [esp + 0x18], ebx
jne 0x100c2e3d
mov dword [esp + 0x20], esi
mov esi, edx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
sub edx, ecx
sar edx, 3
cmp edx, edi
jbe 0x100c3873
cmp edx, eax
jbe 0x100c3873
movss xmm0, dword [ecx + ebx*8 - 4]
ucomiss xmm0, dword [ecx + ebx*8 - 0xc]
mov edx, esi
mov esi, dword [esp + 0x20]
jne 0x100c2c84
jp 0x100c2c84
movss xmm0, dword [ecx + ebx*8 - 8]
ucomiss xmm0, dword [ecx + ebx*8 - 0x10]
jne 0x100c2c84
jp 0x100c2c84
addss xmm0, dword [0x103026d0]
movss dword [ecx + ebx*8 - 8], xmm0
mov ecx, dword [esp + 8]
jmp 0x100c2e27
mov edx, esi
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 8]
cmp byte [esi + 9], 0
je 0x100c2e27
mov al, 1
test byte [esp + 0xc], 1
je 0x100c2d97
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sub ecx, eax
cmp ecx, dword [esp + 8]
mov ecx, dword [esp + 8]
jbe 0x100c3873
and byte [eax + ecx], 0x7f
mov eax, dword [esp + 0xc]
mov byte [esp + 8], al
mov eax, esi
mov esi, edx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
sub edx, ecx
cmp edx, edi
jbe 0x100c3873
or byte [ecx + ebx - 1], 0x80
test byte [esp + 0x14], 1
jne 0x100c2e0d
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
sub edx, ecx
sar edx, 3
cmp edx, edi
jbe 0x100c3873
cmp edx, esi
jbe 0x100c3873
mov edx, esi
movss xmm0, dword [ecx + ebx*8 - 8]
ucomiss xmm0, dword [ecx + esi*8]
jne 0x100c2dea
jnp 0x100c2e1b
movss xmm0, dword [ecx + ebx*8 - 4]
ucomiss xmm0, dword [ecx + edx*8 + 4]
mov esi, eax
jne 0x100c2dfb
jnp 0x100c2e01
mov al, 1
mov dword [esp + 0x14], eax
mov al, byte [esp + 8]
mov dword [esp + 0xc], eax
mov ecx, edi
jmp 0x100c2e27
mov cl, byte [esp + 8]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov edx, esi
jmp 0x100c2e25
mov cl, byte [esp + 8]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov esi, eax
mov eax, dword [esp + 0x30]
add eax, ebx
inc eax
inc ebx
add esi, 0xc
cmp eax, 1
jne 0x100c2ab7
jmp 0x100c2e5c
jbe 0x100c38b3
cmp byte [esi + 0x14], 2
jne 0x100c2c84
cmp byte [esi + 0x15], 0
jne 0x100c2c84
jmp 0x100c2cec
mov eax, dword [ebp + 0x20]
mov cl, byte [eax]
mov byte [esp + 0xc], cl
mov al, byte [eax + 1]
test al, 2
jne 0x100c2ee1
test al, 4
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
jne 0x100c2f0c
cmp byte [esp + 0xc], 0
setne al
mov ecx, dword [esp + 0x14]
or al, cl
test cl, 1
movzx eax, al
movzx ecx, cl
cmove ecx, eax
test cl, 1
jne 0x100c2eb8
cmp dword [ebp + 0x14], 0
je 0x100c2f0c
mov eax, dword [ebp + 0x14]
movss xmm0, dword [eax + 0xc]
mov al, 1
ucomiss xmm0, dword [0x1028e490]
jbe 0x100c2ff4
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
cmp ecx, 0x14
jbe 0x100c3891
mov ecx, dword [eax + 0x14]
mov esi, dword [esp + 0x5c]
call dword [section..00cfg]
push 4
jmp 0x100c2f09
mov bl, 1
jmp 0x100c374b
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
cmp ecx, 0x14
mov ebx, dword [esp + 0x1c]
jbe 0x100c3891
mov ecx, dword [eax + 0x14]
mov esi, dword [esp + 0x5c]
call dword [section..00cfg]
push 3
push esi
call ecx
cmp dword [ebp + 0x14], 0
setne al
jne 0x100c2ff4
cmp ebx, 0x30
jne 0x100c2ff4
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
sub ebx, ecx
sar ebx, 3
xor esi, esi
pcmpeqd xmm2, xmm2
mov dword [esp + 8], ecx
mov edi, dword [esi*8 + 0x103032d8]
mov eax, dword [esi*8 + 0x103032dc]
movq qword [esp + 0x70], xmm2
cmp ebx, edi
jbe 0x100c38ad
movsd xmm0, qword [ecx + edi*8]
movsd qword [esp + 0x70], xmm0
movq qword [esp + 0x68], xmm2
cmp ebx, eax
jbe 0x100c38b0
movsd xmm1, qword [ecx + eax*8]
movsd qword [esp + 0x68], xmm1
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100c2fc1
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10005578
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10005578
pcmpeqd xmm2, xmm2
movsd xmm1, qword [esp + 0x60]
movsd xmm0, qword [esp + 0x70]
subps xmm0, xmm1
mulps xmm0, xmm0
haddps xmm0, xmm0
movss xmm1, dword [0x10302f94]
ucomiss xmm1, xmm0
ja 0x100c31ff
inc esi
cmp esi, 3
mov ecx, dword [esp + 8]
jne 0x100c2f39
xor eax, eax
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x68], 0
xor edx, edx
mov eax, dword [ebp + 0x20]
cmp byte [eax], 1
setne cl
mov eax, dword [edi + 4]
cmp dword [edi + 8], eax
je 0x100c3891
mov dl, cl
mov ecx, dword [eax]
mov edi, dword [esp + 0x18]
cmp ebx, 0xfffffff4
mov esi, edx
jle 0x100c38a2
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x4c]
call dword [section..00cfg]
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x18], esi
push esi
push edi
push dword [esp + 0x14]
push ebx
call ecx
cmp dword [esp + 0x68], 0
setne bl
je 0x100c31aa
mov byte [esp + 0x30], bl
cmp byte [esp + 0xc], 0
mov ebx, dword [esp + 0x10]
je 0x100c3117
call fcn.100a3a30
mov ecx, dword [eax]
mov dword [esp + 0x70], 0
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
cmp ecx, 0x18
jbe 0x100c3891
mov ecx, dword [eax + 0x18]
call dword [section..00cfg]
lea eax, [esp + 0x70]
push eax
push dword [ebp + 0x18]
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x5c
jbe 0x100c3891
mov ecx, dword [esp + 0x70]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 0x5c]
mov edi, dword [esp + 0x68]
call dword [section..00cfg]
push dword [esp + 0x14]
push edi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x1c
jbe 0x100c3891
mov ecx, dword [eax + 0x1c]
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x5c]
call dword [section..00cfg]
push edi
mov edi, dword [esp + 0xc]
push edi
push esi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x20
jbe 0x100c3891
mov ecx, dword [eax + 0x20]
call dword [section..00cfg]
push edi
call ecx
cmp dword [ebp + 0x1c], 0
sete al
mov ecx, dword [esp + 0x20]
xor cl, 1
or cl, al
jne 0x100c36b0
mov eax, dword [ebp + 0x20]
mov bl, byte [eax + 1]
call fcn.100a3a30
mov edi, dword [eax]
mov eax, dword [ebp + 0x14]
movss xmm4, dword [eax + 0xc]
test bl, 0x20
jne 0x100c3364
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100c3355
mov esi, ecx
movaps xmmword [esp + 0x20], xmm4
call fcn.100052f0
fstp dword [esp + 0x3c]
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 8], xmm0
mov ecx, esi
call fcn.10005350
movaps xmm4, xmmword [esp + 0x20]
fstp dword [esp + 0x38]
movss xmm0, dword [esp + 8]
addss xmm0, dword [esp + 0x38]
mulss xmm0, dword [0x1026ac68]
movaps xmm1, xmm0
movss xmm0, dword [0x1026aca8]
divss xmm0, xmm1
jmp 0x100c335d
mov esi, dword [esp + 0x58]
test esi, esi
mov edi, dword [esp + 0x10]
je 0x100c31d9
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
cmp ecx, 0x80
jbe 0x100c3891
mov ecx, dword [eax + 0x80]
call dword [section..00cfg]
push esi
call ecx
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
cmp ecx, 0x38
jbe 0x100c3891
mov ecx, dword [eax + 0x38]
mov esi, dword [esp + 0x5c]
call dword [section..00cfg]
push esi
call ecx
jmp 0x100c3721
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x24
jbe 0x100c3891
mov ecx, dword [eax + 0x24]
call dword [section..00cfg]
lea eax, [esp + 0x70]
push eax
push 2
push 0x3f800000
push dword [ebp + 0x18]
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x54
jbe 0x100c3891
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
sub edx, ecx
sar edx, 3
cmp edx, edi
jbe 0x100c3873
mov ebx, dword [eax + 0x54]
movss xmm0, dword [ecx + edi*8 + 4]
sub esp, 4
movss dword [esp], xmm0
call fcn.10006b50
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, edi
jbe 0x100c3873
movss xmm0, dword [eax + edi*8]
sub esp, 4
movss dword [esp], xmm0
call fcn.10006b50
add esp, 4
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, edx
sar ecx, 3
cmp ecx, esi
jbe 0x100c3873
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
movss xmm0, dword [edx + esi*8 + 4]
sub esp, 4
movss dword [esp], xmm0
call fcn.10006b50
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sar ecx, 3
cmp ecx, esi
jbe 0x100c3873
movss xmm0, dword [eax + esi*8]
sub esp, 4
movss dword [esp], xmm0
call fcn.10006b50
add esp, 4
mov ebx, eax
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc]
call dword [section..00cfg]
push dword [esp + 8]
push dword [esp + 0x18]
push dword [esp + 0x28]
push ebx
push esi
push edi
call ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
cmp ecx, 0x30
jbe 0x100c3891
mov ecx, dword [eax + 0x30]
mov esi, dword [esp + 0x70]
call dword [section..00cfg]
push esi
call ecx
mov bl, 1
jmp 0x100c3721
movss xmm0, dword [0x1026aca8]
maxss xmm0, xmm4
movaps xmm4, xmm0
mov dword [esp + 0x70], 0
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
sub ecx, eax
cmp ecx, 0x24
jbe 0x100c3891
mov dword [esp + 0xc], edi
mov ecx, dword [eax + 0x24]
call dword [section..00cfg]
sub esp, 0x10
lea eax, [esp + 0x80]
mov dword [esp + 0xc], eax
movaps xmmword [esp + 0x30], xmm4
movss dword [esp + 4], xmm4
mov eax, dword [ebp + 0x1c]
mov dword [esp], eax
mov dword [esp + 8], 0
call ecx
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax]
xor ecx, ecx
cmp eax, 2
je 0x100c33e4
mov edi, 0
mov dword [esp + 8], 0
cmp eax, 1
jne 0x100c33ed
mov al, 1
mov dword [esp + 8], eax
mov edi, 2
mov ecx, 2
jmp 0x100c33ed
mov al, 1
mov dword [esp + 8], eax
xor edi, edi
inc edi
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
sub ecx, eax
cmp ecx, 0x74
jbe 0x100c3891
mov ecx, dword [eax + 0x74]
mov ebx, dword [esp + 0x70]
call dword [section..00cfg]
push dword [esp + 0x1c]
push edi
push edi
push ebx
call ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
sub ecx, eax
cmp ecx, 8
jbe 0x100c3891
mov ecx, dword [ebp + 0x14]
mov cl, byte [ecx + 1]
xor ebx, ebx
cmp cl, 1
sete bl
xor ebx, 3
xor esi, esi
inc esi
cmp cl, 2
cmove ebx, esi
mov ecx, dword [eax + 8]
mov edi, dword [esp + 0x70]
call dword [section..00cfg]
push ebx
push edi
call ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ebx, dword [esp + 0x10]
je 0x100c361b
sub eax, ecx
sar eax, 2
inc eax
and eax, 0xfffffffe
push 4
push eax
call fcn.100058be
add esp, 8
mov edi, eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
sub ecx, eax
je 0x100c3582
sar ecx, 2
movsldup xmm0, xmmword [esp + 0x20]
xorps xmm2, xmm2
xor ebx, ebx
movaps xmm3, xmmword [0x10302fa0]
movss xmm5, dword [0x1026aca8]
xorps xmm6, xmm6
movss xmm4, dword [eax + esi*4 - 4]
movaps xmm7, xmm4
cmp esi, ecx
je 0x100c34cc
jae 0x100c3891
movss xmm7, dword [eax + esi*4]
unpcklps xmm4, xmm7
divps xmm4, xmm0
movaps xmm7, xmm4
haddps xmm7, xmm4
xor eax, eax
movss xmm1, dword [0x10302f98]
ucomiss xmm1, xmm7
setb al
movd xmm7, eax
pshufd xmm7, xmm7, 0x50
pslld xmm7, 0x1f
psrad xmm7, 0x1f
andps xmm4, xmm7
andnps xmm7, xmm3
orps xmm7, xmm4
cmp byte [esp + 8], 0
je 0x100c352a
movshdup xmm4, xmm7
movaps xmm1, xmm4
addss xmm1, dword [0x1028c790]
cmpltss xmm4, xmm5
andnps xmm4, xmm1
addss xmm7, xmm5
unpcklps xmm7, xmm4
ucomiss xmm7, xmm6
jne 0x100c3531
jnp 0x100c354b
movshdup xmm1, xmm7
ucomiss xmm1, xmm6
jne 0x100c353c
jnp 0x100c354b
addps xmm2, xmm7
movlps qword [edi + ebx*4], xmm2
add ebx, 2
xorps xmm2, xmm2
jmp 0x100c3564
test ebx, ebx
je 0x100c355f
movsd xmm1, qword [edi + ebx*4 - 8]
addps xmm7, xmm1
movlps qword [edi + ebx*4 - 8], xmm7
jmp 0x100c3564
addps xmm2, xmm7
xor ebx, ebx
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
sub ecx, eax
sar ecx, 2
lea edx, [esi + 2]
inc esi
cmp esi, ecx
mov esi, edx
jb 0x100c34b4
jmp 0x100c3584
xor ebx, ebx
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
cmp ecx, 4
jbe 0x100c3891
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x70]
call dword [section..00cfg]
push ebx
push edi
push esi
call ecx
mov eax, dword [ebp + 0x14]
movss xmm0, dword [eax + 4]
cmp byte [esp + 8], 0
je 0x100c35db
xorps xmm4, xmm4
movss xmm1, dword [0x1026ac68]
ucomiss xmm1, xmm0
mov ebx, dword [esp + 0x10]
ja 0x100c35e2
addss xmm0, dword [0x1028e8e8]
movaps xmm4, xmm0
jmp 0x100c35e2
movaps xmm4, xmm0
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
cmp ecx, 0x78
jbe 0x100c3891
mov ecx, dword [eax + 0x78]
mov esi, dword [esp + 0x70]
call dword [section..00cfg]
sub esp, 8
movss dword [esp + 4], xmm4
mov dword [esp], esi
call ecx
push edi
call fcn.1000e996
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
sub ecx, eax
cmp ecx, 0x28
jbe 0x100c3891
mov ecx, dword [eax + 0x28]
mov eax, dword [ebp + 0x14]
movss xmm4, dword [eax + 8]
mov esi, dword [esp + 0x70]
call dword [section..00cfg]
sub esp, 8
movss dword [esp + 4], xmm4
mov dword [esp], esi
call ecx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x34], 1
jne 0x100c3762
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x2c
jbe 0x100c3891
mov ecx, dword [eax + 0x2c]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
call dword [section..00cfg]
push esi
push dword [esp + 0x24]
push edi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x30
jbe 0x100c3891
mov ecx, dword [eax + 0x30]
call dword [section..00cfg]
push dword [esp + 0x20]
call ecx
mov esi, dword [esp + 0x58]
test esi, esi
je 0x100c36db
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x80
jbe 0x100c3891
mov ecx, dword [eax + 0x80]
call dword [section..00cfg]
push esi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x34
jbe 0x100c3891
mov ecx, dword [eax + 0x34]
mov esi, dword [esp + 0x68]
call dword [section..00cfg]
push esi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x38
jbe 0x100c3891
mov ecx, dword [eax + 0x38]
mov esi, dword [esp + 0x5c]
call dword [section..00cfg]
push esi
call ecx
mov bl, byte [esp + 0x30]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100c3736
mov dword [esp + 0x44], eax
push eax
call fcn.1023b489
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x100c374b
mov dword [esp + 0x50], eax
push eax
call fcn.1023b489
add esp, 4
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.1023b4d8
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov eax, dword [esp + 0x18]
lea ecx, [eax - 1]
mov dword [esp + 0xc], ecx
cmp eax, 1
adc eax, 0
mov dword [esp + 0x18], eax
xor edi, edi
xor eax, eax
cmp edi, dword [esp + 0xc]
je 0x100c37a7
mov esi, edi
lea ecx, [edi + 1]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
sub edi, edx
cmp edi, ecx
jbe 0x100c3873
cmp byte [edx + ecx], 0
mov edi, esi
je 0x100c37a7
mov edi, ecx
jmp 0x100c385c
mov dword [esp + 0x70], 0xffffffff
mov ecx, dword [ebx + 4]
cmp dword [ebx + 8], ecx
je 0x100c3891
mov ecx, dword [ecx]
mov dword [esp + 8], edi
mov ebx, edi
sub ebx, eax
inc ebx
js 0x100c386b
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
sub edx, edi
cmp edx, eax
jbe 0x100c3873
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
sub esi, edx
sar esi, 3
cmp esi, eax
jbe 0x100c3873
add edi, eax
lea esi, [edx + eax*8]
call dword [section..00cfg]
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x18]
push ebx
push edi
push esi
call ecx
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x2c
jbe 0x100c3891
mov ecx, dword [eax + 0x2c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x5c]
call dword [section..00cfg]
push esi
push dword [esp + 0x24]
push edi
call ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x34
jbe 0x100c3891
mov edi, dword [esp + 8]
inc edi
mov ecx, dword [eax + 0x34]
mov esi, dword [esp + 0x70]
call dword [section..00cfg]
push esi
call ecx
mov ecx, edi
mov eax, edi
cmp ecx, dword [esp + 0x18]
jne 0x100c377b
jmp 0x100c3690
int3
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x622
push str..._third_partylibc_srcinclude_vector
push str._s:_d:_assertion__s_failed:__s_n
call fcn.101f1b27
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x62c
jmp 0x100c3882
int3
int3
int3
int3
int3