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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x180
mov edx, dword [ebp + 8]
mov eax, dword [0x10443bf0]
xor eax, ebp
mov dword [esp + 0x178], eax
mov esi, dword [edx]
movss xmm0, dword [esi + 0x20]
subss xmm0, dword [esi + 0x18]
andps xmm0, xmmword [0x1026ac50]
movss xmm1, dword [0x103026d0]
ucomiss xmm1, xmm0
ja 0x101c2e0b
mov edi, ecx
movsd xmm0, qword [edx + 0x14]
movsd qword [esp + 0x128], xmm0
movups xmm0, xmmword [edx + 4]
movups xmmword [esp + 0x118], xmm0
lea eax, [esp + 0x114]
mov dword [eax], 0xffffffff
mov ecx, esi
push eax
call fcn.100394a4
lea ebx, [esp + 0x130]
mov ecx, esi
push ebx
call fcn.10039714
movups xmm0, xmmword [esp + 0x118]
movups xmm1, xmmword [ebx]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xe1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xc6
mulps xmm3, xmm2
shufps xmm1, xmm1, 0xb4
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x6c
mulps xmm2, xmm1
addps xmm2, xmm3
movups xmmword [esp + 0xfc], xmm2
movsd xmm1, qword [ebx + 0x10]
movsd xmm2, qword [esp + 0x128]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xec
mulps xmm3, xmm1
shufps xmm0, xmm0, 0xe6
shufps xmm1, xmm1, 0xe1
mulps xmm1, xmm0
addps xmm1, xmm3
addps xmm1, xmm2
movlps qword [esp + 0x10c], xmm1
mov ecx, edi
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.101c45ba
cmp eax, 1
jne 0x101c2a57
mov dword [edi + 0x70], esi
jmp 0x101c2db5
mov ebx, eax
mov eax, esi
add esi, 0x18
cmp dword [edi + 0x70], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
je 0x101c2ac6
mov dword [esp + 0xc], ebx
lea edx, [esp + 0x118]
mov ecx, edi
push edx
push eax
call fcn.101c5082
lea ecx, [edi + 0xc4]
cmp eax, 2
jne 0x101c2ad5
movups xmm0, xmmword [esi]
movups xmmword [ecx], xmm0
mov ecx, edi
call fcn.101c3a30
cmp dword [edi + 0x48], 0
mov ebx, dword [esp + 0xc]
je 0x101c2d9f
mov ecx, edi
lea esi, [esp + 0x118]
push esi
push 0xd
call fcn.101c1d52
mov ecx, edi
push esi
push 0xa
call fcn.101c1d52
jmp 0x101c2d9f
movups xmm0, xmmword [esi]
movups xmmword [edi + 0xc4], xmm0
jmp 0x101c2d9f
mov ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add eax, 0x18
push eax
call fcn.10004874
cmp ebx, 3
je 0x101c2be0
cmp ebx, 1
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x130]
mov ebx, dword [esp + 0xc]
jne 0x101c2d9f
xor eax, eax
dec eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x170], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x160], xmm0
movdqu xmmword [esp + 0x150], xmm0
movdqu xmmword [esp + 0x140], xmm0
movdqu xmmword [esp + 0x130], xmm0
mov ecx, edi
push 0x20
push edx
call fcn.101c1dea
cmp byte [esp + 0x130], 0
je 0x101c2d9f
movups xmm0, xmmword [esp + 0x118]
cmpneqps xmm0, xmmword [0x1026ac80]
movmskps eax, xmm0
test eax, eax
jne 0x101c2b91
movss xmm1, dword [esp + 0x128]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x101c2b91
jp 0x101c2b91
movss xmm1, dword [esp + 0x12c]
ucomiss xmm1, xmm0
jne 0x101c2b91
jnp 0x101c2bb3
movsd xmm0, qword [esp + 0x128]
movsd qword [esp + 0x16c], xmm0
movups xmm0, xmmword [esp + 0x118]
movups xmmword [esp + 0x15c], xmm0
lea ecx, [edi + 0x58]
push 0x20
call fcn.10008b2c
cmp byte [esp + 0x130], 0
je 0x101c3a15
lea ecx, [edi + 0x28]
lea eax, [esp + 0x134]
push eax
call fcn.101c1f6a
jmp 0x101c2d9f
mov ecx, dword [esp + 0x10]
call fcn.100394c8
cmp eax, 1
mov edi, dword [esp + 0x14]
jne 0x101c2cfe
xor edi, edi
dec edi
mov dword [esp + 0x130], edi
pcmpeqd xmm0, xmm0
movq qword [esp + 0x134], xmm0
xor eax, eax
mov esi, dword [esp + 0x10]
mov ecx, esi
push eax
lea eax, [esp + 0x134]
push eax
call fcn.100394f0
lea eax, [esp + 0xd0]
mov dword [eax], edi
lea edi, [esp + 0xc0]
mov ecx, esi
push edi
call fcn.100394a4
mov ebx, dword [edi]
mov edi, dword [esp + 0x130]
mov eax, dword [ebx]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push edi
lea eax, [esp + 0xd4]
push eax
call esi
lea ecx, [esp + 0xc0]
mov ebx, dword [ecx]
xor eax, eax
mov dword [ecx], eax
test ebx, ebx
je 0x101c2c92
mov eax, dword [ebx + 4]
test eax, eax
je 0x101c3a2c
dec eax
mov dword [ebx + 4], eax
jne 0x101c2c92
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push 1
call esi
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x101c2ca3
cmp dword [eax + 4], 0
jne 0x101c2cc4
movzx eax, word [esp + 0x130]
lea ebx, [esp + 0xd0]
mov ecx, ebx
push eax
call fcn.10007890
mov eax, dword [ebx]
test eax, eax
je 0x101c3a29
cmp dword [eax + 4], 0
je 0x101c3a29
movzx edi, word [eax + 0xc]
and edi, 0xff7f
lea ecx, [esp + 0xd0]
call fcn.10001802
lea ecx, [esp + 0x130]
call fcn.1000a320
cmp di, 0x2d
mov edi, dword [esp + 0x14]
je 0x101c2dd2
lea ebx, [edi + 0x58]
cmp dword [edi + 0x60], 0
je 0x101c2d52
lea esi, [edi + 0x28]
mov ecx, ebx
lea eax, [esp + 0x130]
push eax
call fcn.10008ab2
mov eax, dword [esp + 0x134]
test eax, eax
je 0x101c2d52
mov ecx, dword [esp + 0x130]
cmp word [ecx + eax*2 - 2], 0x20
jne 0x101c2d52
mov ecx, ebx
call fcn.10008a90
dec eax
mov ecx, ebx
push 1
push eax
call fcn.10008bbe
mov ecx, esi
call fcn.101c5ad2
cmp dword [edi + 0x60], 0
jne 0x101c2d0a
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x38]
lea edi, [eax + edx]
dec edi
mov eax, edi
shr eax, 6
mov esi, dword [ecx + eax*4]
and edi, 0x3f
mov ecx, ebx
call fcn.10008a90
dec eax
mov ecx, ebx
push 1
push eax
call fcn.10008bbe
shl edi, 6
mov word [esi + edi + 8], 2
mov byte [esi + edi + 0xa], 3
mov edi, dword [esp + 0x14]
mov ecx, ebx
push 0xfffe
call fcn.10008b2c
mov ebx, dword [esp + 0xc]
cmp ebx, 2
jne 0x101c2e23
mov ecx, edi
push dword [ebp + 8]
call fcn.101c490c
mov eax, dword [esp + 0x10]
mov dword [edi + 0x70], eax
movups xmm0, xmmword [esp + 0x118]
movups xmmword [edi + 0x74], xmm0
movq xmm0, qword [esp + 0x128]
movq qword [edi + 0x84], xmm0
mov esi, dword [esp + 0x114]
mov dword [esp + 0x114], 0
test esi, esi
je 0x101c2e0b
mov eax, dword [esi + 4]
test eax, eax
je 0x101c3a26
dec eax
mov dword [esi + 4], eax
jne 0x101c2e0b
mov eax, dword [esi]
mov edi, dword [eax]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push 1
call edi
mov ecx, dword [esp + 0x178]
xor ecx, ebp
call fcn.1023b4d8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov esi, dword [esp + 0x10]
mov dword [edi + 0x70], esi
movups xmm0, xmmword [esp + 0x118]
movups xmmword [edi + 0x74], xmm0
movsd xmm0, qword [esp + 0x128]
movsd qword [edi + 0x84], xmm0
mov ecx, esi
call fcn.10039310
mov edi, eax
lea ecx, [esi + 0x10]
mov dword [esp + 0x20], ecx
call fcn.1003a4f2
fstp dword [esp + 0x8c]
xorps xmm0, xmm0
movss dword [esp + 0x28], xmm0
cmp edi, 3
jb 0x101c2f85
movss xmm0, dword [esp + 0x8c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x101c2e8c
jnp 0x101c2f85
mov ecx, dword [esp + 0x20]
call fcn.1003a4f2
sub esp, 4
fstp dword [esp]
lea ecx, [esp + 0x100]
call fcn.1000552c
fstp dword [esp + 0x88]
mov al, 1
mov dword [esp + 0x1c], eax
xor esi, esi
movd xmm0, dword [esp + 0x88]
movd dword [esp + 0x30], xmm0
movd dword [esp + 0xc], xmm0
lea ebx, [esp + 0x130]
mov dword [esp + 0x130], 0xffffffff
pcmpeqd xmm0, xmm0
movq qword [esp + 0x134], xmm0
mov ecx, dword [esp + 0x10]
push esi
push ebx
call fcn.1003931e
cmp dword [esp + 0x130], 0xffffffff
jne 0x101c2f43
mov ecx, dword [esp + 0x20]
call fcn.1003a55a
fstp dword [esp + 0x84]
movss xmm0, dword [esp + 0x134]
mulss xmm0, dword [esp + 0x84]
divss xmm0, dword [0x1028cdb4]
addss xmm0, dword [esp + 0x30]
minss xmm0, dword [esp + 0xc]
mov dword [esp + 0x1c], 0
movss dword [esp + 0xc], xmm0
lea ebx, [esp + 0x130]
mov ecx, ebx
call fcn.1000a320
inc esi
cmp edi, esi
jne 0x101c2ed2
xorps xmm1, xmm1
pxor xmm0, xmm0
movd dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0xc]
ucomiss xmm1, xmm0
ja 0x101c2f85
cmp edi, 3
jne 0x101c2f7f
mov eax, dword [esp + 0x1c]
and al, 1
je 0x101c2f85
movss dword [esp + 0x28], xmm0
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x10]
call fcn.101c4d31
test al, al
je 0x101c2fc5
movsd xmm0, qword [esp + 0xfc]
movsd xmm1, qword [esp + 0x104]
shufps xmm1, xmm1, 0xe1
mulps xmm1, xmm0
hsubps xmm1, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm1
seta al
mov dword [esp + 0x4c], eax
jmp 0x101c2fcd
mov dword [esp + 0x4c], 0
mov edi, dword [esp + 0x14]
lea ecx, [edi + 0x58]
mov dword [esp + 0xc], ecx
call fcn.10008a90
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x10]
call fcn.10039310
mov dword [esp + 0x58], eax
test eax, eax
je 0x101c39f6
lea eax, [edi + 0x28]
mov dword [esp + 0x1c], eax
lea eax, [edi + 0x40]
mov dword [esp + 0x2c], eax
lea ebx, [esp + 0xf0]
xor esi, esi
xorps xmm0, xmm0
movss dword [esp + 0x30], xmm0
mov edx, ebx
xor ebx, ebx
dec ebx
mov dword [esp + 0x138], ebx
xor eax, eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x137], eax
lea eax, [esp + 0x13c]
xorps xmm0, xmm0
movups xmmword [eax + 0xc], xmm0
movups xmmword [eax], xmm0
movaps xmm1, xmmword [0x1026ac80]
movups xmmword [esp + 0x158], xmm1
movlps qword [esp + 0x168], xmm0
mov dword [esp + 0xf0], ebx
pcmpeqd xmm0, xmm0
movq qword [esp + 0xf4], xmm0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], esi
push esi
push edx
call fcn.1003931e
cmp dword [esp + 0xf0], ebx
je 0x101c30f4
mov ecx, dword [esp + 0x20]
call fcn.1003a4f2
fst dword [esp + 0x80]
movss xmm0, dword [esp + 0x80]
fstp qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb0]
ucomisd xmm1, qword [0x10290b38]
jbe 0x101c31a4
sub esp, 4
movss dword [esp], xmm0
lea ecx, [esp + 0x100]
call fcn.1000552c
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [esp + 0x78]
jmp 0x101c31dd
mov dword [esp + 0xd0], 0xffffffff
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0xd0]
push eax
call fcn.10008ad6
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x101c3121
cmp dword [eax + 4], 0
jne 0x101c315a
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0xe8]
push eax
call fcn.10008ab2
sub esp, 8
movq xmm0, qword [esp + 0xf0]
movq qword [esp], xmm0
lea ecx, [esp + 0xd8]
call fcn.10007762
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x101c3193
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x101c3193
cmp word [eax + ecx*2 + 0xa], 0x20
je 0x101c3193
mov ecx, dword [esp + 0x20]
call fcn.1003a55a
fstp dword [esp + 0x60]
movss xmm0, dword [esp + 0xf4]
mulss xmm0, dword [esp + 0x60]
divss xmm0, dword [0x1028cdb4]
movss dword [esp + 0x30], xmm0
lea ecx, [esp + 0xd0]
call fcn.10001802
jmp 0x101c39c1
movsd xmm2, qword [0x103c5be0]
ucomisd xmm2, xmm1
jbe 0x101c31e3
andps xmm0, xmmword [0x1026ac50]
sub esp, 4
movss dword [esp], xmm0
lea ecx, [esp + 0x100]
call fcn.1000552c
fstp dword [esp + 0x7c]
movss xmm0, dword [esp + 0x30]
subss xmm0, dword [esp + 0x7c]
mov eax, dword [esp + 0x24]
jmp 0x101c31ed
mov eax, dword [esp + 0x24]
movss xmm0, dword [esp + 0x30]
test eax, eax
je 0x101c3281
subss xmm0, dword [esp + 0x28]
ucomiss xmm0, dword [0x1028bbd0]
jne 0x101c3206
jnp 0x101c3281
movss dword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x20]
call fcn.1003a55a
fstp dword [esp + 0x74]
movss xmm0, dword [esp + 0x74]
movss dword [esp + 0x18], xmm0
mov edi, dword [esp + 0x114]
mov eax, dword [edi]
mov ebx, dword [eax + 0x54]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 0x20
call ebx
cmp eax, 0xffffffff
je 0x101c328d
mov edi, eax
mov ebx, dword [esp + 0x114]
mov eax, dword [ebx]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
push edi
call esi
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss xmm2, dword [esp + 0x18]
mulss xmm0, xmm2
divss xmm0, dword [0x1026aca0]
lea ebx, [esp + 0x130]
jmp 0x101c329d
mov ebx, dword [esp + 0xf0]
jmp 0x101c3423
xorps xmm0, xmm0
lea ebx, [esp + 0x130]
movss xmm2, dword [esp + 0x18]
movaps xmm1, xmm2
divss xmm1, dword [0x1028e4a4]
cmpltss xmm1, xmm0
mulss xmm0, dword [0x1026ac68]
andnps xmm1, xmm0
ucomiss xmm1, dword [0x1028bbd0]
mov edi, dword [esp + 0x14]
jne 0x101c3334
jp 0x101c3334
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0xf0]
call fcn.101c426c
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cmp eax, 0x12b
jg 0x101c32f8
mulss xmm0, dword [0x1026ac68]
movss xmm1, dword [esp + 0x18]
jmp 0x101c3328
cmp eax, 0x1f3
movss xmm1, dword [esp + 0x18]
ja 0x101c330f
mulss xmm0, dword [0x1028e4c8]
jmp 0x101c3328
cmp eax, 0x2bb
ja 0x101c3320
divss xmm0, dword [0x1031b830]
jmp 0x101c3328
divss xmm0, dword [0x1028e494]
mulss xmm1, xmm0
divss xmm1, dword [0x1026aca0]
ucomiss xmm1, dword [0x1028bbd0]
jne 0x101c3343
jnp 0x101c3413
movss xmm0, dword [esp + 0x30]
ucomiss xmm0, xmm1
jb 0x101c3413
mov word [esp + 0x138], 0x20
mov byte [esp + 0x13a], 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x2c]
call fcn.10008a90
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0xc]
push 0x20
call fcn.10008b2c
mov dword [esp + 0x134], 0xffffffff
movsd xmm0, qword [esp + 0x128]
lea eax, [esp + 0x158]
movsd qword [eax + 0x10], xmm0
movups xmm0, xmmword [esp + 0x118]
movups xmmword [eax], xmm0
lea ecx, [esp + 0xfc]
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.10005578
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.101c1f6a
mov ebx, dword [esp + 0xf0]
cmp ebx, 0xffffffff
je 0x101c39c1
mov dword [esp + 0xe4], 0xffffffff
mov esi, dword [esp + 0x114]
mov eax, dword [esi]
mov edi, dword [eax + 0x50]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push ebx
lea eax, [esp + 0xe8]
push eax
call edi
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x101c3463
cmp dword [eax + 4], 0
sete dl
jmp 0x101c3465
mov dl, 1
mov eax, dword [esp + 0xf0]
xor ecx, ecx
test dl, dl
mov esi, dword [esp + 0x10]
je 0x101c3493
test eax, eax
je 0x101c3493
movzx eax, ax
lea ecx, [esp + 0xe4]
push eax
call fcn.10007890
mov cl, 2
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x130], 0xffffffff
mov dword [esp + 0x134], eax
mov byte [esp + 0x13a], cl
mov dword [esp + 0x154], esi
lea ecx, [esp + 0xfc]
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.10005578
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x13c], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
mov ecx, dword [esp + 0x154]
lea eax, [esp + 0xc0]
push eax
call fcn.100394a4
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0x134]
mov eax, dword [esi]
mov edi, dword [eax + 0x60]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
push ebx
lea eax, [esp + 0xd4]
push eax
call edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0xc0], 0
test edi, edi
lea ebx, [esp + 0x130]
je 0x101c3574
mov eax, dword [edi + 4]
test eax, eax
je 0x101c3a23
dec eax
mov dword [edi + 4], eax
jne 0x101c3574
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 1
call esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.100394bc
fstp dword [esp + 0x70]
movss xmm0, dword [esp + 0x70]
divss xmm0, dword [0x1026aca0]
movddup xmm1, qword [esp + 0xf4]
cvtdq2ps xmm2, xmmword [esp + 0xd0]
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
mulps xmm4, xmm2
addps xmm4, xmm1
movaps xmm1, xmm4
shufps xmm1, xmm4, 0x6c
movups xmmword [esp + 0x144], xmm1
movshdup xmm2, xmm4
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xff
subss xmm2, xmm1
andps xmm2, xmmword [0x1026ac50]
movss xmm3, dword [0x103026d0]
ucomiss xmm3, xmm2
movaps xmm2, xmm3
jbe 0x101c35f1
addss xmm0, xmm1
movss dword [esp + 0x150], xmm0
movaps xmm0, xmm4
unpckhpd xmm0, xmm4
subss xmm0, xmm4
andps xmm0, xmmword [0x1026ac50]
ucomiss xmm2, xmm0
mov edi, dword [esp + 0x14]
jbe 0x101c3637
mov ecx, esi
push dword [esp + 0x134]
movaps xmmword [esp + 0x34], xmm4
call fcn.10039fda
fstp dword [esp + 0x6c]
movaps xmm0, xmmword [esp + 0x30]
addss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x14c], xmm0
lea ecx, [esp + 0xfc]
lea esi, [esp + 0x144]
push esi
lea eax, [esp + 0xc4]
push eax
call fcn.100053ee
movups xmm0, xmmword [esp + 0xc0]
movups xmmword [esi], xmm0
movsd xmm0, qword [esp + 0x10c]
lea eax, [esp + 0x158]
movsd qword [eax + 0x10], xmm0
movups xmm0, xmmword [esp + 0xfc]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x101c38b3
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
test eax, eax
je 0x101c38b3
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x101c39e0
cmp ecx, 7
mov eax, 7
cmovae ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
call fcn.100394bc
fstp dword [esp + 0x68]
movss xmm0, dword [esp + 0x68]
mulss xmm0, dword [0x103c5be8]
sub esp, 4
movss dword [esp], xmm0
lea ecx, [esp + 0x15c]
call fcn.100054fc
fstp dword [esp + 0x64]
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x5c], xmm0
mov esi, dword [edi + 0x3c]
test esi, esi
js 0x101c39ee
mov eax, dword [edi + 0x3c]
test eax, eax
mov ecx, dword [esp + 0x18]
js 0x101c38ab
sub eax, ecx
cmp esi, eax
jle 0x101c38da
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x38]
add eax, esi
dec eax
mov edx, eax
shr edx, 6
mov ecx, dword [ecx + edx*4]
and eax, 0x3f
shl eax, 6
mov edx, dword [ecx + eax + 4]
cmp edx, dword [esp + 0x134]
jne 0x101c38a5
movss xmm0, dword [ecx + eax + 0xc]
subss xmm0, dword [esp + 0x13c]
movaps xmmword [esp + 0x90], xmm0
movss xmm0, dword [ecx + eax + 0x10]
subss xmm0, dword [esp + 0x140]
movaps xmmword [esp + 0xa0], xmm0
mov ecx, dword [ecx + eax + 0x24]
lea eax, [esp + 0xc0]
push eax
call fcn.100394a4
mov ecx, dword [esp + 0x154]
lea eax, [esp + 0xbc]
push eax
call fcn.100394a4
mov edi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xbc]
cmp edi, ebx
sete cl
movaps xmm0, xmmword [0x1026ac50]
movaps xmm2, xmmword [esp + 0x90]
andps xmm2, xmm0
movss xmm1, dword [esp + 0x5c]
ucomiss xmm1, xmm2
seta dl
movaps xmm2, xmmword [esp + 0xa0]
andps xmm2, xmm0
ucomiss xmm1, xmm2
seta ch
mov dword [esp + 0xbc], 0
test ebx, ebx
je 0x101c3833
mov eax, dword [ebx + 4]
test eax, eax
je 0x101c3a1d
dec eax
mov dword [ebx + 4], eax
jne 0x101c3833
mov eax, dword [ebx]
mov edi, dword [eax]
mov byte [esp + 0xa0], cl
mov byte [esp + 0xb], ch
mov ecx, edi
mov byte [esp + 0x90], dl
call dword [section..00cfg]
mov ecx, ebx
push 1
call edi
mov ch, byte [esp + 0xb]
mov dl, byte [esp + 0x90]
mov cl, byte [esp + 0xa0]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0xc0], 0
test edi, edi
lea ebx, [esp + 0x130]
je 0x101c3897
mov eax, dword [edi + 4]
test eax, eax
je 0x101c3a20
dec eax
mov dword [edi + 4], eax
jne 0x101c3897
mov eax, dword [edi]
mov ebx, dword [eax]
mov byte [esp + 0xa0], cl
mov byte [esp + 0xb], ch
mov ecx, ebx
mov byte [esp + 0x90], dl
call dword [section..00cfg]
mov ecx, edi
push 1
call ebx
mov ch, byte [esp + 0xb]
mov dl, byte [esp + 0x90]
mov cl, byte [esp + 0xa0]
lea ebx, [esp + 0x130]
and cl, dl
and cl, ch
mov edi, dword [esp + 0x14]
jne 0x101c3944
dec esi
jmp 0x101c3700
int3
mov word [esp + 0x138], 0
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.101c1f6a
mov ecx, dword [esp + 0xc]
push 0xfffe
call fcn.10008b2c
jmp 0x101c39ac
xor esi, esi
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x101c3a1a
cmp dword [eax + 4], esi
jbe 0x101c3a1a
movzx eax, word [eax + esi*2 + 0xc]
mov word [esp + 0x138], ax
test ax, ax
je 0x101c3920
mov ecx, dword [esp + 0x2c]
call fcn.10008a90
mov dword [esp + 0x130], eax
movzx eax, word [esp + 0x138]
jmp 0x101c3924
mov ax, 0xfffe
movzx eax, ax
mov ecx, dword [esp + 0xc]
push eax
call fcn.10008b2c
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.101c1f6a
inc esi
cmp dword [esp + 0x30], esi
jne 0x101c38dc
jmp 0x101c39ac
cmp dword [esp + 0x24], 0
jne 0x101c39ac
mov dword [esp + 0xc0], 0xffffffff
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0xc0]
push eax
call fcn.10008ad6
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x101c39a0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x101c39a0
cmp word [eax + ecx*2 + 0xa], 0x20
jne 0x101c39a0
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.10008a90
dec eax
mov ecx, esi
push 1
push eax
call fcn.10008bbe
mov ecx, dword [esp + 0x1c]
call fcn.101c5ad2
lea ecx, [esp + 0xc0]
call fcn.10001802
lea ecx, [esp + 0xe4]
call fcn.10001802
xorps xmm0, xmm0
movss dword [esp + 0x30], xmm0
lea ebx, [esp + 0xf0]
mov ecx, ebx
call fcn.1000a320
mov esi, dword [esp + 0x24]
inc esi
cmp esi, dword [esp + 0x58]
jne 0x101c301d
jmp 0x101c39f6
int3
int3
cmp byte [esp + 0x4c], 0
je 0x101c2dd2
mov ecx, edi
push dword [esp + 0x50]
push dword [esp + 0x58]
call fcn.101c4e7c
jmp 0x101c2dd2
call fcn.1013bab4
int3
int3
int3
int3
int3
int3
int3