Function at 0x10026fa0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2b0
mov ecx, dword [ebp + 8]
mov eax, dword [0x1017f528]
xor eax, ebp
mov dword [esp + 0x2a8], eax
mov eax, dword [0x1017f770]
mov dword [esp + 4], eax
movzx ebx, byte [ecx]
test bl, bl
je 0x10027014
add ecx, 2
mov edx, 0xffffffff
mov eax, 0xffffffff
jmp 0x10026ff9
movzx esi, bl
movzx edi, al
shr eax, 8
xor edi, esi
xor eax, dword [edi*4 + 0x10128e2c]
inc ecx
mov bl, bh
test bh, bh
je 0x10027010
mov bh, byte [ecx - 1]
cmp bl, 0x23
jne 0x10026fe0
cmp bh, 0x23
jne 0x10026fe0
cmp byte [ecx], 0x23
cmove eax, edx
mov bh, 0x23
jmp 0x10026fe0
not eax
jmp 0x10027016
xor eax, eax
mov ecx, dword [esp + 4]
mov edi, dword [ecx + 0x1b80]
mov esi, dword [ecx + 0x1b88]
mov ecx, esi
mov edx, edi
mov dword [esp], edi
test edi, edi
je 0x1002705d
mov ecx, esi
mov edx, dword [esp]
nop word cs:[eax + eax]
mov edi, edx
shr edi, 1
mov ebx, edi
not ebx
add ebx, edx
cmp dword [ecx + edi*8], eax
lea edx, [ecx + edi*8 + 8]
cmovae ebx, edi
cmovb ecx, edx
mov edx, ebx
test ebx, ebx
jne 0x10027040
mov edx, dword [esp]
lea edx, [esi + edx*8]
cmp ecx, edx
mov ebx, dword [esp + 4]
je 0x10027087
cmp dword [ecx], eax
jne 0x10027087
mov edx, dword [ecx + 4]
xor eax, eax
mov dword [esp + 0x80], 0
test edx, edx
jne 0x100273df
lea edi, [ebx + 0x1b80]
test ebx, ebx
je 0x10027097
inc dword [ebx + 0x36c]
push dword [0x1017f778]
push 0x320
call dword [0x10175014]
add esp, 8
mov esi, eax
mov ecx, eax
push dword [ebp + 8]
push ebx
call fcn.1001f5e0
mov dword [esp + 0x214], esi
mov eax, dword [ebp + 0x10]
mov dword [esi + 8], eax
mov ecx, edi
push esi
push dword [esi + 4]
call fcn.1001d660
mov eax, dword [0x1017f770]
mov ecx, dword [eax + 0x1d3c]
mov ecx, dword [ecx]
vmovsd xmm0, qword [ecx + 4]
vbroadcastss xmm1, dword [0x101298b4]
vaddps xmm0, xmm0, xmm1
vmovlps qword [esi + 0xc], xmm0
test dword [ebp + 0x10], 0x100
jne 0x1002719b
mov edx, dword [eax + 0x2f44]
test edx, edx
je 0x1002719b
mov edi, dword [esi + 4]
add edx, 4
mov ecx, edx
nop word [eax + eax]
cmp dword [ecx], edi
je 0x10027139
add ecx, dword [ecx - 4]
mov ebx, dword [eax + 0x2f3c]
add ebx, edx
cmp ecx, ebx
mov ebx, dword [esp + 4]
jne 0x10027120
jmp 0x1002719b
mov edx, ecx
sub edx, dword [ebx + 0x2f44]
mov dword [esi + 0x23c], edx
and dword [esi + 0xb0], 0xfffbfbfb
vmovd xmm0, dword [ecx + 4]
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovlps qword [esi + 0xc], xmm0
movzx edx, word [ecx + 8]
test dx, dx
jle 0x10027191
movzx edi, word [ecx + 0xa]
test di, di
jle 0x10027191
vmovd xmm0, edx
vpinsrw xmm0, xmm0, edi, 1
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovddup xmm0, xmm0
vmovups xmmword [esi + 0x14], xmm0
movzx ecx, byte [ecx + 0xc]
mov byte [esi + 0x8d], cl
vmovddup xmm0, qword [esi + 0xc]
vmovups xmmword [esi + 0xe0], xmm0
mov ecx, dword [ebp + 0x10]
test cl, 0x40
jne 0x100271e7
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [esi + 0x14]
jb 0x100271c2
mov byte [esi + 0xa4], 2
vucomiss xmm0, dword [esi + 0x18]
jb 0x100271d0
mov byte [esi + 0xa5], 2
mov cl, 1
cmp byte [esi + 0xa4], 0
jg 0x100271f2
cmp byte [esi + 0xa5], 0
setg cl
jmp 0x100271f2
mov word [esi + 0xa4], 0x202
xor ecx, ecx
mov byte [esi + 0xa7], cl
test dword [ebp + 0x10], 0x1000000
jne 0x100272dd
mov ecx, dword [ebx + 0x1b5c]
cmp ecx, dword [ebx + 0x1b60]
jne 0x100272b7
lea edi, [ecx + 1]
test ecx, ecx
je 0x1002722b
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x10027230
mov edx, 8
cmp edx, edi
cmovg edi, edx
cmp ecx, edi
jge 0x100272b7
lea ecx, [edi*4]
inc dword [eax + 0x36c]
push dword [0x1017f778]
push ecx
call dword [0x10175014]
add esp, 8
mov edx, dword [ebx + 0x1b64]
test edx, edx
je 0x100272a5
mov ecx, dword [ebx + 0x1b5c]
shl ecx, 2
push ecx
push edx
mov dword [esp + 8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1b64]
test eax, eax
je 0x10027292
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10027292
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov eax, dword [esp]
mov dword [ebx + 0x1b64], eax
mov dword [ebx + 0x1b60], edi
mov ecx, dword [ebx + 0x1b5c]
mov eax, dword [ebx + 0x1b64]
mov dword [eax + ecx*4], esi
mov eax, dword [ebx + 0x1b5c]
lea ecx, [eax + 1]
mov dword [ebx + 0x1b5c], ecx
mov esi, dword [esp + 0x214]
mov word [esi + 0x9c], ax
test dword [ebp + 0x10], 0x2000
jne 0x1002730c
mov eax, dword [ebx + 0x1b50]
cmp eax, dword [ebx + 0x1b54]
jne 0x100273be
lea edi, [eax + 1]
test eax, eax
je 0x10027324
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10027329
lea ecx, [ebx + 0x1b50]
lea eax, [esp + 0x214]
push eax
call fcn.10034430
jmp 0x100273cd
mov ecx, 8
cmp ecx, edi
cmovg edi, ecx
cmp eax, edi
jge 0x100273be
lea eax, [edi*4]
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002734d
inc dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175014]
add esp, 8
mov edx, dword [ebx + 0x1b58]
test edx, edx
je 0x100273ac
mov ecx, dword [ebx + 0x1b50]
shl ecx, 2
push ecx
push edx
mov dword [esp + 8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1b58]
test eax, eax
je 0x10027399
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10027399
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov eax, dword [esp]
mov dword [ebx + 0x1b58], eax
mov dword [ebx + 0x1b54], edi
mov eax, dword [ebx + 0x1b50]
mov ecx, dword [ebx + 0x1b58]
mov dword [ecx + eax*4], esi
inc dword [ebx + 0x1b50]
mov edx, dword [esp + 0x214]
mov al, 1
mov cl, 1
mov dword [esp + 0x80], ecx
mov dword [esp + 0x60], eax
mov esi, dword [ebp + 0x10]
mov eax, esi
not eax
mov ecx, esi
or ecx, 6
test eax, 0xc0200
cmovne ecx, esi
mov dword [esp + 8], ecx
mov ecx, dword [ebx + 0x1b38]
cmp dword [ebx + 0x1b74], 0
je 0x1002740e
xor eax, eax
jmp 0x10027415
movzx eax, byte [ebx + 0x1b45]
mov esi, dword [edx + 0x214]
mov byte [edx + 0x92], al
lea eax, [ecx - 1]
test dword [esp + 8], 0x4000000
mov dword [esp], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xbc], esi
jne 0x1002746d
lea edi, [edx + 0x90]
mov dword [esp + 0xd0], edi
cmp esi, eax
setl byte [edx + 0x90]
jl 0x100274bc
mov dword [esp + 0xb8], 0
cmp dword [esp + 0xbc], ecx
je 0x100274d8
jmp 0x100274f9
cmp esi, eax
setl al
mov ecx, dword [ebx + 0x1d24]
mov edx, dword [ebx + 0x1d28]
lea edx, [edx + edx*8]
mov esi, dword [esp]
mov esi, dword [esi + 0xa0]
cmp esi, dword [ecx + edx*4]
setne ah
mov esi, dword [esp]
cmp esi, dword [ecx + edx*4 + 4]
mov edx, dword [esp]
setne cl
or cl, ah
or cl, al
lea eax, [edx + 0x90]
mov dword [esp + 0xd0], eax
mov byte [edx + 0x90], cl
test cl, cl
je 0x100274e1
mov ecx, dword [esp + 0x2c]
or dword [edx + 0xb0], 0x80808
mov al, 1
mov dword [esp + 0xb8], eax
cmp dword [esp + 0xbc], ecx
jne 0x100274f9
mov eax, dword [edx + 8]
mov dword [esp + 8], eax
jmp 0x10027539
mov dword [esp + 0xb8], 0
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0xbc], ecx
je 0x100274d8
mov eax, dword [esp + 8]
mov dword [edx + 8], eax
mov dword [edx + 0x214], ecx
vmovsd xmm0, qword [ebx + 0x1b30]
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [edx + 0x218], xmm0
mov word [edx + 0x98], 0
mov eax, dword [ebx + 0x1b8c]
lea ecx, [eax + 1]
mov dword [ebx + 0x1b8c], ecx
mov word [edx + 0x9a], ax
mov eax, dword [ebx + 0x1b74]
test eax, eax
je 0x10027559
mov ecx, dword [ebx + 0x1b7c]
imul edx, eax, 0x54
mov ecx, dword [edx + ecx - 0x54]
mov dword [esp + 0xc], ecx
mov edx, dword [esp]
jmp 0x10027561
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xbc]
cmp ecx, dword [esp + 0x2c]
jne 0x10027587
mov ecx, dword [edx + 0x2d4]
mov dword [esp + 0xc], ecx
cmp dword [edx + 0xc4], 0
jne 0x10027659
jmp 0x100275a9
mov ecx, dword [esp + 8]
and ecx, 0x5000000
mov esi, dword [esp + 0xc]
cmove esi, ecx
mov dword [esp + 0xc], esi
cmp dword [edx + 0xc4], 0
jne 0x10027659
cmp dword [edx + 0xc8], 0
je 0x100275bf
mov edi, dword [edx + 0xcc]
xor eax, eax
jmp 0x10027647
mov eax, dword [0x1017f770]
test eax, eax
je 0x100275ce
inc dword [eax + 0x36c]
push dword [0x1017f778]
push 0x20
call dword [0x10175014]
add esp, 8
mov edi, eax
mov edx, dword [esp]
mov eax, dword [edx + 0xcc]
test eax, eax
je 0x10027631
mov ecx, dword [edx + 0xc4]
shl ecx, 2
push ecx
push eax
push edi
mov esi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x1002761e
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002761e
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov edx, dword [esp]
mov dword [edx + 0xcc], edi
mov dword [edx + 0xc8], 8
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 4]
mov dword [edi + eax*4], ecx
inc dword [edx + 0xc4]
mov eax, dword [ebx + 0x1b74]
mov dword [ebx + 0x1b98], edx
vmovups ymm0, ymmword [ebx + 0x1c38]
vmovups ymm1, ymmword [ebx + 0x1c54]
vmovups ymmword [esp + 0x230], ymm1
vmovups ymmword [esp + 0x214], ymm0
mov ecx, dword [0x1017f770]
mov edx, dword [ecx + 0x1b98]
movzx edi, word [edx + 0xc4]
mov edx, ebx
movzx ebx, word [ecx + 0x1cd4]
movzx esi, word [ecx + 0x1ce0]
mov word [esp + 0x10], si
movzx esi, word [ecx + 0x1cec]
mov word [esp + 0x30], si
movzx esi, word [ecx + 0x1cf8]
mov word [esp + 0x4c], si
movzx esi, word [ecx + 0x1d10]
mov word [esp + 0xf0], si
movzx esi, word [ecx + 0x1d04]
mov word [esp + 0x50], si
movzx esi, word [ecx + 0x1d28]
mov word [esp + 0x70], si
movzx esi, word [ecx + 0x2eec]
mov word [esp + 0xa0], si
cmp eax, dword [edx + 0x1b78]
jne 0x100277c3
lea esi, [eax + 1]
test eax, eax
je 0x10027717
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
add edx, eax
jmp 0x1002771c
mov edx, 8
cmp edx, esi
cmovg esi, edx
cmp eax, esi
jge 0x100277c3
mov word [esp + 0xe0], di
imul eax, esi, 0x54
inc dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
vzeroupper
call dword [0x10175014]
add esp, 8
mov edi, dword [esp + 4]
mov edx, dword [edi + 0x1b7c]
test edx, edx
je 0x100277a9
imul ecx, dword [edi + 0x1b74], 0x54
push ecx
push edx
mov dword [esp + 0x138], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1b7c]
test eax, eax
je 0x1002778e
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002778e
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x130]
mov dword [edi + 0x1b7c], eax
mov dword [edi + 0x1b78], esi
mov eax, dword [edi + 0x1b74]
movzx edi, word [esp + 0xe0]
imul eax, eax, 0x54
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x1b7c]
mov esi, dword [esp]
mov dword [ecx + eax], esi
vmovdqu ymm0, ymmword [esp + 0x214]
vmovups ymm1, ymmword [esp + 0x230]
vmovdqu ymmword [ecx + eax + 4], ymm0
vmovups ymmword [ecx + eax + 0x20], ymm1
mov word [ecx + eax + 0x40], di
mov word [ecx + eax + 0x42], bx
mov edi, edx
mov edx, esi
movzx esi, word [esp + 0x10]
mov word [ecx + eax + 0x44], si
movzx esi, word [esp + 0x30]
mov word [ecx + eax + 0x46], si
movzx esi, word [esp + 0x4c]
mov word [ecx + eax + 0x48], si
movzx esi, word [esp + 0xf0]
mov word [ecx + eax + 0x4a], si
movzx esi, word [esp + 0x50]
mov word [ecx + eax + 0x4c], si
movzx esi, word [esp + 0x70]
mov word [ecx + eax + 0x4e], si
movzx esi, word [esp + 0xa0]
mov word [ecx + eax + 0x50], si
inc dword [edi + 0x1b74]
mov dword [edi + 0x1b98], 0
test dword [esp + 8], 0x4000000
je 0x10027982
mov eax, dword [edi + 0x1d24]
mov ecx, dword [edi + 0x1d28]
lea ecx, [ecx + ecx*8]
lea esi, [eax + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [edi + 0x1d28]
cmp eax, dword [edi + 0x1d2c]
jne 0x10027954
lea ebx, [eax + 1]
test eax, eax
je 0x100278a8
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100278ad
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x10027954
lea eax, [ebx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x100278d4
inc dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
vzeroupper
call dword [0x10175014]
add esp, 8
mov edi, dword [esp + 4]
mov edx, dword [edi + 0x1d30]
test edx, edx
je 0x10027942
mov ecx, dword [edi + 0x1d28]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push edx
mov dword [esp + 0x18], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1d30]
test eax, eax
je 0x1002792a
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002792a
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x10]
mov dword [edi + 0x1d30], eax
mov dword [edi + 0x1d2c], ebx
mov eax, dword [edi + 0x1d28]
mov edi, dword [esp + 4]
mov ecx, dword [edi + 0x1d30]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x20]
mov dword [ecx + eax*4 + 0x20], edx
vmovdqu ymm0, ymmword [esi]
vmovdqu ymmword [ecx + eax*4], ymm0
inc dword [edi + 0x1d28]
mov eax, dword [esi]
mov edx, dword [esp]
mov dword [edx + 0xa0], eax
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xbc]
cmp ebx, ecx
je 0x10027a42
mov esi, dword [esp + 0xc]
mov dword [edx + 0x2d4], esi
vmovd xmm0, edx
vpbroadcastd xmm0, xmm0
vmovdqu xmmword [edx + 0x2d8], xmm0
mov eax, dword [esp + 8]
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x100279d0
test esi, esi
je 0x100279d0
mov eax, dword [esi + 0x2d8]
mov dword [edx + 0x2d8], eax
test dword [esp + 8], 0x4000000
je 0x100279f1
cmp dword [esp + 0xc], 0
je 0x100279f1
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2dc]
mov dword [edx + 0x2dc], eax
test dword [esp + 8], 0x5000000
je 0x10027a1d
mov eax, dword [esp + 8]
and eax, 0x8000000
jne 0x10027a1d
cmp dword [esp + 0xc], 0
je 0x10027a1d
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2e0]
mov dword [edx + 0x2e0], eax
test byte [edx + 0xa], 0x80
je 0x10027a42
mov eax, edx
nop word cs:[eax + eax]
mov eax, dword [eax + 0x2d4]
mov dword [edx + 0x2e4], eax
test byte [eax + 0xa], 0x80
jne 0x10027a30
test byte [edi + 0x1c74], 1
jne 0x10027a58
mov dword [esp + 0x10], 0
jmp 0x10027b62
mov eax, dword [edx + 0xb0]
movsx edx, al
mov ecx, dword [edi + 0x1c78]
test edx, ecx
setne dl
mov dword [esp + 0x10], edx
je 0x10027ad6
vmovss xmm0, dword [edi + 0x1c8c]
vmovss xmm1, dword [edi + 0x1c90]
vmulss xmm1, xmm1, xmm1
vfmadd231ss xmm1, xmm0, xmm0
vucomiss xmm1, dword [0x101298b8]
jbe 0x10027ae7
vmovsd xmm0, qword [edi + 0x1c84]
mov esi, dword [esp]
vmovsd qword [esi + 0xb4], xmm0
mov ecx, dword [edi + 0x1c8c]
mov edx, dword [edi + 0x1c90]
mov dword [esi + 0xc0], edx
mov edx, esi
mov dword [esi + 0xbc], ecx
and eax, 0xfffffff1
mov dword [esi + 0xb0], eax
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x10027b5e
test ecx, ecx
je 0x10027ae7
mov dword [esp + 0x10], 0
mov edx, dword [esp]
jmp 0x10027b5e
and eax, 0xfffffff1
mov edx, dword [esp]
mov dword [edx + 0xb0], eax
vbroadcastss xmm0, dword [0x101296d0]
vmovlps qword [edx + 0xb4], xmm0
vmovsd xmm0, qword [edi + 0x1c84]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovsd xmm1, qword [edx + 0xc]
vmovsd xmm2, qword [edx + 0xd0]
vmovlps qword [edx + 0xc], xmm0
vsubps xmm0, xmm0, xmm1
vaddps xmm1, xmm0, xmm2
vmovlps qword [edx + 0xd0], xmm1
vmovsd xmm1, qword [edx + 0xf0]
vaddps xmm1, xmm0, xmm1
vmovlps qword [edx + 0xf0], xmm1
vmovddup xmm0, xmm0
vaddps xmm0, xmm0, xmmword [edx + 0xe0]
vmovups xmmword [edx + 0xe0], xmm0
mov ecx, dword [esp + 0x2c]
vxorps xmm2, xmm2, xmm2
test byte [edi + 0x1c74], 2
je 0x10027c53
mov eax, dword [edx + 0xb0]
mov ecx, eax
shr ecx, 8
movsx edx, cl
mov ecx, dword [edi + 0x1c7c]
test edx, ecx
je 0x10027c40
vmovsd xmm0, qword [edi + 0x1c94]
vxorps xmm1, xmm1, xmm1
vcmpltps xmm0, xmm1, xmm0
vpackssdw xmm0, xmm0, xmm0
vpacksswb xmm0, xmm0, xmm0
vpand xmm2, xmm0, xmmword [0x101298c0]
mov edx, dword [esp]
mov ecx, dword [esp + 0x2c]
and eax, 0xfffff1ff
mov dword [edx + 0xb0], eax
vmovss xmm0, dword [edi + 0x1c94]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x10027bf2
mov byte [edx + 0xa4], 0
vmovss xmm0, dword [edi + 0x1c94]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [edx + 0x1c], xmm0
jmp 0x10027c00
mov byte [edx + 0xa4], 2
mov byte [edx + 0xa7], 0
vmovss xmm0, dword [edi + 0x1c98]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x10027c30
mov byte [edx + 0xa5], 0
vmovss xmm0, dword [edi + 0x1c98]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [edx + 0x20], xmm0
jmp 0x10027c53
mov byte [edx + 0xa5], 2
mov byte [edx + 0xa7], 0
jmp 0x10027c53
vxorps xmm2, xmm2, xmm2
test ecx, ecx
mov edx, dword [esp]
mov ecx, dword [esp + 0x2c]
je 0x10027bb7
test byte [edi + 0x1c74], 0x80
je 0x10027c94
vmovss xmm1, dword [edi + 0x1ca4]
vpxor xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jb 0x10027c7a
vmovss dword [edx + 0x68], xmm1
mov dword [edx + 0x70], 0
vmovss xmm1, dword [edi + 0x1ca8]
vucomiss xmm1, xmm0
jb 0x10027c94
vmovss dword [edx + 0x6c], xmm1
mov dword [edx + 0x74], 0
test byte [edi + 0x1c74], 4
jne 0x10027cac
cmp ebx, ecx
je 0x10027cb9
vpxor xmm0, xmm0, xmm0
vmovq qword [edx + 0x34], xmm0
jmp 0x10027cb9
vmovq xmm0, qword [edi + 0x1c9c]
vmovq qword [edx + 0x34], xmm0
mov eax, dword [edi + 0x1c74]
test al, 8
je 0x10027d17
mov esi, dword [edi + 0x1c80]
movzx ecx, byte [edi + 0x1cac]
mov edx, dword [edx + 0xb0]
test esi, esi
je 0x10027cfc
mov ebx, edx
shr ebx, 0x10
movsx edi, bl
mov ebx, dword [esp + 0xbc]
mov byte [esp + 0x30], cl
mov ecx, dword [esp + 4]
test edi, esi
mov edi, ecx
movzx ecx, byte [esp + 0x30]
je 0x10027d17
and edx, 0xfff1ffff
mov eax, dword [esp]
mov dword [eax + 0xb0], edx
mov byte [eax + 0x8d], cl
mov eax, dword [edi + 0x1c74]
test al, 0x20
vmovaps xmmword [esp + 0x30], xmm2
je 0x10027d2f
push dword [esp]
vzeroupper
call fcn.10021730
add esp, 4
mov eax, dword [esp + 0xd0]
cmp byte [eax], 0
mov edx, dword [esp]
mov eax, dword [esp + 0x2c]
je 0x10027d4c
and dword [edx + 0xb0], 0xfff7f7f7
cmp ebx, eax
jne 0x10027d80
mov ecx, dword [0x1017f770]
mov dword [ecx + 0x1b98], edx
mov eax, dword [edx + 0x16c]
cmp eax, 0xffffffff
mov esi, dword [esp + 0xc]
je 0x10028051
imul eax, eax, 0x1c8
add eax, dword [ecx + 0x1f38]
jmp 0x10028053
mov byte [edx + 0x8a], 1
cmp dword [ebp + 0xc], 0
setne byte [edx + 0x93]
vmovaps xmm0, xmmword [0x101298d0]
vmovups xmmword [edx + 0x1ec], xmm0
mov eax, dword [edx + 0xc8]
test eax, eax
jg 0x10027e66
mov ecx, eax
neg ecx
shr ecx, 1
mov edx, eax
sub edx, ecx
cmp edx, 2
mov ecx, 1
cmovge ecx, edx
mov edx, dword [esp]
test eax, eax
mov esi, 8
cmovne esi, ecx
cmp eax, esi
jge 0x10027e66
lea eax, [esi*4]
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10027df1
inc dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
vzeroupper
call dword [0x10175014]
add esp, 8
mov ebx, eax
mov edx, dword [esp]
mov eax, dword [edx + 0xcc]
test eax, eax
je 0x10027e5a
mov ecx, dword [edx + 0xc4]
shl ecx, 2
push ecx
push eax
push ebx
mov edi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0xcc]
test eax, eax
je 0x10027e43
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10027e43
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov edx, dword [esp]
mov edi, dword [esp + 4]
mov dword [edx + 0xcc], ebx
mov dword [edx + 0xc8], esi
mov dword [edx + 0xc4], 1
mov ecx, dword [edx + 0x240]
vzeroupper
call fcn.10035320
mov ecx, dword [esp]
mov dword [ecx + 0x16c], 0xffffffff
cmp byte [ecx + 0x31c], 0
je 0x10027ea1
push ecx
call fcn.100200f0
mov ecx, dword [esp + 4]
add esp, 4
cmp dword [edi + 0x1e60], 0
je 0x10027f4a
movzx eax, byte [ecx + 0xa]
and al, 8
shr al, 3
or al, byte [esp + 0x80]
jne 0x10027f4a
mov edi, dword [ecx]
push edi
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov ecx, dword [esp + 8]
add esp, 8
test eax, eax
je 0x10027f4a
mov esi, dword [ecx + 0x4c]
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
inc ebx
cmp esi, ebx
jae 0x10027f35
test edi, edi
je 0x10027f02
mov eax, dword [0x1017f770]
test eax, eax
je 0x10027f02
dec dword [eax + 0x36c]
push dword [0x1017f778]
push edi
call dword [0x10175018]
add esp, 8
mov eax, dword [0x1017f770]
test eax, eax
je 0x10027f21
inc dword [eax + 0x36c]
push dword [0x1017f778]
push ebx
call dword [0x10175014]
add esp, 8
mov edi, eax
mov esi, ebx
push ebx
push dword [ebp + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx], edi
mov dword [ecx + 0x4c], esi
movzx eax, byte [ecx + 0xad]
mov byte [esp + 0xe0], al
lea edi, [ecx + 0x2c]
lea ebx, [ecx + 0x24]
mov edx, ebx
push edi
call fcn.1002f3e0
mov edx, dword [esp + 4]
add esp, 4
movzx eax, byte [edx + 0xac]
test al, al
jle 0x10027f80
dec al
mov byte [edx + 0xac], al
movzx eax, byte [edx + 0xad]
test al, al
vmovdqa xmm0, xmmword [esp + 0x30]
jle 0x10027f99
dec al
mov byte [edx + 0xad], al
movzx eax, byte [edx + 0xae]
test al, al
jle 0x10027fac
dec al
mov byte [edx + 0xae], al
cmp byte [esp + 0x80], 0
je 0x10027fcf
vmovd eax, xmm0
test al, al
je 0x10027fc8
vpextrb eax, xmm0, 1
test al, al
jne 0x10027fcf
mov byte [edx + 0xad], 1
mov eax, dword [esp + 0xb8]
xor al, 1
mov byte [esp + 0x70], al
jne 0x1002802d
mov eax, dword [esp + 8]
and eax, 0x6000000
je 0x1002802d
mov byte [edx + 0xad], 1
test byte [esp + 8], 0x40
je 0x1002802d
vmovd eax, xmm0
test al, al
jne 0x1002800d
mov dword [edx + 0x1c], 0
mov dword [edx + 0x14], 0
vpextrb eax, xmm0, 1
test eax, eax
jne 0x10028025
mov dword [edx + 0x20], 0
mov dword [edx + 0x18], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebx], xmm0
mov eax, dword [0x1017f770]
mov dword [eax + 0x1b98], edx
mov ecx, dword [edx + 0x16c]
cmp ecx, 0xffffffff
je 0x100280a4
imul ecx, ecx, 0x1c8
add ecx, dword [eax + 0x1f38]
jmp 0x100280a6
xor eax, eax
mov edi, ecx
mov ecx, dword [esp + 8]
mov dword [edi + 0x1f1c], eax
mov dword [esp + 0x10], edi
vmovss xmm0, dword [edi + 0x1938]
vmulss xmm0, xmm0, dword [edx + 0x238]
mov eax, dword [edx + 0x2d4]
test eax, eax
je 0x10028085
vmulss xmm0, xmm0, dword [eax + 0x238]
mov eax, dword [esp + 0x10]
vmovss dword [eax + 0x1948], xmm0
vmovss dword [eax + 0x1934], xmm0
and ecx, 0x1000000
jmp 0x1002b83f
xor ecx, ecx
mov esi, dword [esp + 8]
and esi, 0x1000000
mov dword [eax + 0x1f1c], ecx
vmovss xmm0, dword [eax + 0x1938]
vmulss xmm0, xmm0, dword [edx + 0x238]
mov ecx, dword [edx + 0x2d4]
test ecx, ecx
je 0x100280d8
vmulss xmm0, xmm0, dword [ecx + 0x238]
vmovss dword [eax + 0x1948], xmm0
vmovss dword [eax + 0x1934], xmm0
test esi, esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x14c], ebx
jne 0x10028146
mov ebx, dword [esp + 8]
test ebx, 0x8000000
mov ecx, 0x1550
mov edx, 0x152c
cmovne ecx, edx
test ebx, 0x6000000
cmove ecx, edx
mov edx, dword [esp + 4]
vmovss xmm0, dword [edx + ecx]
mov ecx, dword [esp]
vmovss dword [ecx + 0x48], xmm0
mov ecx, dword [edx + 0x1520]
mov edx, dword [edx + 0x1524]
mov esi, dword [esp]
mov dword [esi + 0x40], edx
mov edx, dword [esp]
mov dword [edx + 0x3c], ecx
vmovd xmm0, ecx
jmp 0x100281b5
mov esi, dword [esp + 4]
vmovss xmm2, dword [esi + 0x1548]
vmovss dword [edx + 0x48], xmm2
mov ecx, dword [esi + 0x1520]
mov edx, dword [esi + 0x1524]
mov esi, dword [esp]
mov dword [esi + 0x40], edx
mov edx, dword [esp]
mov dword [edx + 0x3c], ecx
vmovd xmm0, ecx
test dword [esp + 8], 0x4010000
jne 0x100281b1
vxorps xmm1, xmm1, xmm1
vucomiss xmm2, xmm1
mov ebx, dword [esp + 8]
jne 0x100281b5
jp 0x100281b5
test ebx, 0x400
je 0x100281a1
mov ecx, dword [esp + 4]
vmovss xmm1, dword [ecx + 0x1524]
mov dword [edx + 0x3c], 0
vmovss dword [edx + 0x40], xmm1
vpxor xmm0, xmm0, xmm0
mov ebx, dword [esp + 8]
cmp dword [esp + 0x4c], 0
setne byte [esp + 0xf0]
mov ecx, dword [esp + 4]
vmovss xmm1, dword [ecx + 0x1564]
vcmpless xmm2, xmm1, xmm0
vblendvps xmm0, xmm1, xmm0, xmm2
vmovss xmm1, dword [ecx + 0x1ccc]
vcmpless xmm2, xmm1, xmm0
vblendvps xmm0, xmm1, xmm0, xmm2
vmovss dword [edx + 0x12c], xmm0
vmovss xmm0, dword [ecx + 0x1cd0]
vmovss dword [edx + 0x130], xmm0
test bl, 0x21
je 0x100282a5
mov byte [edx + 0x8d], 0
mov esi, dword [esp + 0xc]
mov dword [esp + 0xc], esi
mov byte [edx + 0x8e], 0
lea ecx, [esp + 0x20c]
mov edx, dword [esp]
push edi
call fcn.1002f520
mov edi, dword [esp + 4]
add esp, 4
test byte [esp + 8], 0x40
je 0x1002824e
cmp byte [edi + 0x8d], 0
je 0x10028449
cmp byte [edi + 0xa4], 0
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 4]
vmovdqa xmm3, xmmword [esp + 0x30]
jle 0x100283c2
vmovd eax, xmm3
mov edx, ecx
test al, al
jne 0x100283d1
cmp byte [edi + 0xa7], 0
vmovss xmm0, dword [esp + 0x20c]
je 0x10028299
vmovss xmm1, dword [edi + 0x1c]
vcmpless xmm2, xmm0, xmm1
vblendvps xmm0, xmm0, xmm1, xmm2
vmovss dword [edi + 0x1c], xmm0
mov dl, 1
jmp 0x100283d1
vmovss xmm0, dword [edx + 0x10]
vxorps xmm2, xmm2, xmm2
test byte [edx + 8], 1
mov esi, dword [esp + 0xc]
jne 0x100282eb
vmovss xmm1, dword [eax + 0x1938]
vmulss xmm1, xmm1, dword [edx + 0x238]
mov ecx, dword [edx + 0x2d4]
test ecx, ecx
je 0x100282da
vmulss xmm1, xmm1, dword [ecx + 0x238]
vmovss xmm2, dword [eax + 0x1558]
vfmadd132ss xmm2, xmm1, dword [0x1012984c]
vaddss xmm0, xmm0, xmm2
vmovss xmm1, dword [edx + 0xc]
vaddss xmm1, xmm1, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
vmovss dword [esp + 0x268], xmm1
vmovss dword [esp + 0x26c], xmm0
mov eax, dword [esp + 4]
cmp dword [eax + 0x1b9c], edx
jne 0x1002837b
mov eax, dword [esp + 4]
cmp dword [eax + 0x1bbc], 0
jne 0x1002837b
mov eax, dword [esp + 4]
cmp dword [eax + 0x1bc0], 0
jne 0x1002837b
lea eax, [esp + 0x268]
lea ecx, [esp + 0x260]
push 1
push eax
push ecx
call fcn.10020740
mov edx, dword [esp + 0xc]
add esp, 0xc
test al, al
je 0x1002837b
mov eax, dword [esp + 4]
cmp byte [eax + 0x3e5], 0
je 0x1002837b
mov byte [edx + 0x8e], 1
cmp byte [edx + 0x8e], 0
je 0x10028218
xor byte [edx + 0x8d], 1
test byte [edx + 9], 1
jne 0x10028218
mov eax, dword [0x1017f770]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x2f20]
jb 0x10028218
vmovss xmm0, dword [eax + 0x1c]
vmovss dword [eax + 0x2f20], xmm0
jmp 0x10028218
cmp byte [edi + 0xa5], 0
mov edx, ecx
jle 0x10028496
vpextrb eax, xmm3, 1
test eax, eax
jne 0x1002840d
cmp byte [edi + 0xa5], 0
jle 0x1002840d
cmp byte [edi + 0xa7], 0
vmovss xmm0, dword [esp + 0x210]
je 0x10028406
vmovss xmm1, dword [edi + 0x20]
vcmpless xmm2, xmm0, xmm1
vblendvps xmm0, xmm0, xmm1, xmm2
vmovss dword [edi + 0x20], xmm0
mov cl, 1
cmp byte [edi + 0x8d], 0
mov dword [esp + 0x60], ecx
mov dword [esp + 0xd0], edx
jne 0x1002849d
test byte [edi + 9], 1
jne 0x1002849d
mov eax, dword [0x1017f770]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x2f20]
jb 0x1002849d
vmovss xmm0, dword [eax + 0x1c]
vmovss dword [eax + 0x2f20], xmm0
jmp 0x1002849d
vmovdqa xmm1, xmmword [esp + 0x30]
vmovd eax, xmm1
mov ecx, dword [esp + 0x60]
test al, al
mov ebx, dword [esp + 4]
jne 0x1002846f
vmovss xmm0, dword [esp + 0x20c]
vmovss dword [edi + 0x1c], xmm0
mov cl, 1
vpextrb eax, xmm1, 1
test eax, eax
mov dword [esp + 0xd0], ecx
jne 0x1002849d
vmovss xmm0, dword [esp + 0x210]
vmovss dword [edi + 0x20], xmm0
mov al, 1
mov dword [esp + 0x60], eax
jmp 0x1002849d
mov dword [esp + 0xd0], ecx
lea eax, [edi + 0x1c]
lea ecx, [esp + 0x260]
mov edx, edi
push eax
call fcn.1002f740
add esp, 4
mov ecx, dword [esp + 0x260]
mov eax, dword [esp + 0x264]
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], ecx
cmp byte [edi + 0x8d], 0
sete dl
or dl, byte [esp + 0xf0]
vmovd xmm0, ecx
je 0x100284e6
vmovd xmm1, eax
mov eax, dword [edi + 8]
jmp 0x10028547
vmovss xmm1, dword [edi + 0x10]
mov eax, dword [edi + 8]
vpxor xmm3, xmm3, xmm3
test al, 1
jne 0x10028532
mov ecx, dword [0x1017f770]
vmovss xmm2, dword [ecx + 0x1938]
vmulss xmm2, xmm2, dword [edi + 0x238]
mov edx, dword [edi + 0x2d4]
test edx, edx
je 0x1002851e
vmulss xmm2, xmm2, dword [edx + 0x238]
vmovss xmm3, dword [ecx + 0x1558]
vfmadd132ss xmm3, xmm2, dword [0x1012984c]
mov edi, dword [esp]
vaddss xmm2, xmm1, xmm3
vmovss xmm3, dword [edi + 0xc]
vaddss xmm0, xmm3, xmm0
vsubss xmm1, xmm2, xmm1
vsubss xmm0, xmm0, xmm3
vmovss dword [edi + 0x14], xmm0
vmovss dword [edi + 0x18], xmm1
vxorps xmm1, xmm1, xmm1
vxorps xmm7, xmm7, xmm7
test al, 1
jne 0x100285f4
mov ecx, dword [0x1017f770]
vmovss xmm0, dword [ecx + 0x1938]
vmulss xmm0, xmm0, dword [edi + 0x238]
mov edx, dword [edi + 0x2d4]
test edx, edx
je 0x10028589
vmulss xmm0, xmm0, dword [edx + 0x238]
vmovss xmm7, dword [ecx + 0x1558]
vfmadd132ss xmm7, xmm0, dword [0x1012984c]
mov edi, dword [esp]
test eax, 0x400
je 0x100285fb
mov eax, dword [0x1017f770]
vmovss xmm0, dword [edi + 0x130]
vmovss xmm1, dword [eax + 0x1938]
vmulss xmm1, xmm1, dword [edi + 0x238]
mov ecx, dword [edi + 0x2d4]
test ecx, ecx
je 0x100285d3
vmulss xmm1, xmm1, dword [ecx + 0x238]
vaddss xmm0, xmm0, xmm1
vmovss xmm1, dword [eax + 0x1558]
vfmadd132ss xmm1, xmm0, dword [0x1012984c]
cmp byte [esp + 0xb8], 0
je 0x10028640
jmp 0x10028605
test eax, 0x400
jne 0x100285a4
cmp byte [esp + 0xb8], 0
je 0x10028640
mov dword [edi + 0xa8], 0xffffffff
mov eax, dword [esp + 8]
and eax, 0xc000000
cmp eax, 0x4000000
setne al
or al, byte [esp + 0x10]
jne 0x10028640
mov eax, dword [ebx + 0x1d28]
mov ecx, dword [ebx + 0x1d30]
lea eax, [eax + eax*8]
vmovsd xmm0, qword [ecx + eax*4 - 0x10]
vmovsd qword [edi + 0xc], xmm0
mov eax, dword [esp + 8]
and eax, 0x3000000
mov dword [esp + 0x30], eax
cmp dword [esp + 0x4c], 0
vmovss dword [esp + 0xa0], xmm1
je 0x10028787
mov ecx, dword [esp + 0xc]
movzx eax, word [ecx + 0x158]
mov word [edi + 0x98], ax
mov eax, dword [ecx + 0x158]
cmp eax, dword [ecx + 0x15c]
jne 0x10028749
lea esi, [eax + 1]
test eax, eax
je 0x10028699
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1002869e
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x10028749
vmovss dword [esp + 0x50], xmm7
lea eax, [esi*4]
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x100286c8
inc dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175014]
add esp, 8
mov edi, eax
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x1002872a
mov ecx, dword [ebx + 0x158]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x10028716
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10028716
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x160], edi
mov dword [ebx + 0x15c], esi
mov eax, dword [ebx + 0x158]
mov edi, dword [esp]
mov ebx, dword [esp + 4]
vmovss xmm7, dword [esp + 0x50]
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x160]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 8]
shr eax, 0x1a
and eax, 1
inc dword [esi + 0x158]
or al, byte [esp + 0x10]
jne 0x10028787
cmp dword [esp + 0x30], 0x3000000
je 0x10028787
mov eax, dword [esp + 0xc]
vmovsd xmm0, qword [eax + 0xd0]
vmovsd qword [edi + 0xc], xmm0
vmovss xmm0, dword [edi + 0xb4]
vucomiss xmm0, dword [0x101296d0]
jne 0x1002879b
jnp 0x100287a4
cmp byte [edi + 0xad], 0
je 0x1002881e
mov eax, dword [esp + 8]
test eax, 0x10000000
jne 0x100287ea
test eax, 0x4000000
sete al
or al, byte [esp + 0x10]
jne 0x100287c7
cmp byte [esp + 0xe0], 0
jg 0x100287ea
test dword [esp + 8], 0x2000000
sete al
or al, byte [esp + 0x10]
jne 0x100288a7
cmp dword [esp + 0x30], 0x3000000
je 0x100288a7
push edi
lea eax, [esp + 0x264]
push eax
vmovss dword [esp + 0x58], xmm7
call fcn.1002f980
vmovss xmm7, dword [esp + 0x58]
mov edi, dword [esp + 8]
add esp, 8
vmovsd xmm0, qword [esp + 0x260]
vmovsd qword [edi + 0xc], xmm0
jmp 0x100288a7
and byte [edi + 0xb0], 0xf1
vbroadcastss xmm1, dword [0x101296d0]
vinsertps xmm0, xmm0, dword [edi + 0xb8], 0x10
vmovlps qword [edi + 0xb4], xmm1
vmovsd xmm1, qword [edi + 0xc]
vmovsd xmm2, qword [edi + 0x14]
vmovsd xmm3, qword [edi + 0xbc]
vmulps xmm2, xmm2, xmm3
vsubps xmm0, xmm0, xmm2
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovlps qword [edi + 0xc], xmm0
vsubps xmm0, xmm0, xmm1
vmovsd xmm1, qword [edi + 0xd0]
vaddps xmm1, xmm0, xmm1
vmovlps qword [edi + 0xd0], xmm1
vmovsd xmm1, qword [edi + 0xf0]
vaddps xmm1, xmm0, xmm1
vmovlps qword [edi + 0xf0], xmm1
vmovddup xmm0, xmm0
vaddps xmm0, xmm0, xmmword [edi + 0xe0]
vmovups xmmword [edi + 0xe0], xmm0
mov eax, dword [0x1017f770]
mov eax, dword [eax + 0x1d3c]
mov eax, dword [eax]
vmovsd xmm0, qword [eax + 4]
vmovsd xmm1, qword [eax + 0xc]
vaddps xmm1, xmm0, xmm1
vmovlhps xmm2, xmm0, xmm1
vmovups xmmword [esp + 0x1fc], xmm2
vmovsd xmm2, qword [eax + 0x14]
vmovsd xmm3, qword [eax + 0x1c]
vaddps xmm3, xmm2, xmm3
vmovsd xmm4, qword [ebx + 0x15c0]
vmovsd xmm5, qword [ebx + 0x15c8]
vcmpleps xmm6, xmm5, xmm4
vblendvps xmm4, xmm5, xmm4, xmm6
vsubps xmm3, xmm3, xmm4
vaddps xmm2, xmm2, xmm4
vmovaps xmmword [esp + 0xe0], xmm2
vmovaps xmmword [esp + 0x130], xmm3
vmovlhps xmm2, xmm2, xmm3
vmovups xmmword [esp + 0x1ec], xmm2
mov eax, dword [esp + 0x10]
or al, byte [esp + 0xf0]
jne 0x1002897a
cmp byte [edi + 0xa4], 0
jg 0x1002897a
cmp byte [edi + 0xa5], 0
jg 0x1002897a
vsubps xmm0, xmm1, xmm0
vxorps xmm1, xmm1, xmm1
vcmpltps xmm0, xmm1, xmm0
vpmovsxdq xmm0, xmm0
vmovmskpd eax, xmm0
test al, 1
je 0x1002897a
shr al, 1
je 0x1002897a
lea edx, [esp + 0x1ec]
mov ecx, dword [esp]
vmovss dword [esp + 0x50], xmm7
call fcn.1002fbb0
vmovss xmm7, dword [esp + 0x50]
mov edi, dword [esp]
vmovsd xmm0, qword [edi + 0xc]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovlps qword [edi + 0xc], xmm0
cmp dword [esp + 0x4c], 0
jne 0x100289bc
mov edx, dword [esp + 8]
mov eax, edx
and eax, 0x4000000
je 0x100289d6
mov ecx, edx
and ecx, 0x8000000
jne 0x100289d6
lea ecx, [ebx + 0x154c]
mov al, 1
mov dword [esp + 0x50], eax
mov al, 1
mov esi, ebx
jmp 0x100289e7
mov edx, dword [esp + 8]
mov eax, edx
shr eax, 0x1a
and eax, 1
lea ecx, [ebx + 0x1544]
mov dword [esp + 0x50], eax
mov esi, ebx
jmp 0x100289e7
shr eax, 0x1a
lea ecx, [ebx + 0x1528]
mov esi, ebx
mov bl, 1
mov dword [esp + 0x50], ebx
vmovss xmm0, dword [ecx]
mov ecx, edx
shr ecx, 0xc
and ecx, 1
movzx edx, byte [esp + 0x70]
or dl, cl
mov ecx, edx
xor cl, 1
xor ebx, ebx
cmp dword [esp + 0x30], 0
sete bl
test al, al
movzx eax, cl
cmovne ebx, eax
test dl, dl
vmovss dword [edi + 0x44], xmm0
cmovne ebx, eax
mov dword [esp + 0x10c], ebx
vxorps xmm1, xmm1, xmm1
vmovaps xmmword [esp + 0x290], xmm1
cmp byte [esi + 0xb4], 1
mov eax, 2
sbb eax, 0
mov dword [esp + 0xf0], eax
vaddss xmm0, xmm0, dword [0x10129710]
vmovaps xmmword [esp + 0x150], xmm0
vaddss xmm0, xmm7, dword [esp + 0xa0]
vmovss dword [esp + 0x9c], xmm0
vmovss xmm0, dword [esi + 0x1934]
vmovss dword [esp + 0x1c0], xmm0
cmp byte [edi + 0x8d], 0
je 0x10028a9f
lea eax, [edi + 0x94]
mov dword [esp + 0x110], eax
mov byte [edi + 0x94], 0xff
mov esi, dword [esp + 0xc]
jmp 0x10028c94
test byte [edi + 8], 0x42
jne 0x10028abb
cmp byte [edi + 0xa4], 0
jg 0x10028abb
cmp byte [edi + 0xa5], 0
jle 0x1002bb07
lea eax, [edi + 0x94]
mov dword [esp + 0x110], eax
mov byte [edi + 0x94], 0xff
mov eax, dword [esp + 0x60]
vxorps xmm0, xmm0, xmm0
cmp byte [esp + 0x80], 0
jne 0x10028af3
vmovsd xmm0, qword [edi + 0x24]
vmovsd xmm1, qword [edi + 0x3c]
vaddps xmm1, xmm1, xmm1
vaddps xmm0, xmm1, xmm0
cmp byte [esp + 0xd0], 0
je 0x10028b04
vmovss xmm2, dword [edi + 0x1c]
jmp 0x10028b1c
vmovss xmm1, dword [edi + 0x1b4]
vsubss xmm1, xmm1, dword [edi + 0x1ac]
vaddss xmm2, xmm1, dword [edi + 0x80]
mov edx, esi
test al, al
je 0x10028b32
vmovss xmm1, dword [edi + 0x20]
vsubss xmm1, xmm1, dword [esp + 0x9c]
jmp 0x10028b4a
vmovss xmm1, dword [edi + 0x1b8]
vsubss xmm1, xmm1, dword [edi + 0x1b0]
vaddss xmm1, xmm1, dword [edi + 0x84]
mov ebx, dword [esp + 8]
test ebx, 0x4000
jne 0x10028b8b
vmovshdup xmm3, xmm0
vucomiss xmm3, xmm1
seta cl
test bl, 8
sete al
and al, cl
lea ecx, [edi + 0x89]
mov byte [edi + 0x89], al
test ebx, 0x8000
jne 0x10028be8
test al, al
mov ebx, edx
jne 0x10028ba2
vxorps xmm3, xmm3, xmm3
xor eax, eax
jmp 0x10028bac
mov byte [edi + 0x89], 1
test ebx, 0x8000
jne 0x10028c01
lea ecx, [edi + 0x89]
mov ebx, edx
vmovss xmm3, dword [ebx + 0x158c]
mov al, 1
vsubss xmm2, xmm2, xmm3
vucomiss xmm0, xmm2
jbe 0x10028c12
mov edx, dword [esp + 8]
and edx, 8
jne 0x10028c12
mov ebx, dword [esp + 8]
and ebx, 0x800
mov edx, ebx
shr edx, 0xb
mov esi, dword [esp]
mov byte [esi + 0x88], dl
vxorps xmm2, xmm2, xmm2
test ebx, ebx
jne 0x10028c2e
mov ebx, dword [esp + 4]
mov edi, dword [esp]
jmp 0x10028c20
mov byte [edi + 0x88], 1
test al, al
mov esi, dword [esp + 0xc]
mov ebx, edx
jne 0x10028c70
lea edx, [edi + 0x88]
jmp 0x10028c43
mov byte [edi + 0x88], 1
mov al, 1
mov esi, dword [esp + 0xc]
mov ebx, edx
jmp 0x10028c70
mov edi, dword [esp]
mov byte [edi + 0x88], 0
vxorps xmm2, xmm2, xmm2
mov esi, dword [esp + 0xc]
test al, al
jne 0x10028c7c
vxorps xmm0, xmm0, xmm0
jmp 0x10028c84
test al, al
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0xc]
jne 0x10028c65
mov eax, dword [esp]
lea edx, [eax + 0x88]
vmovshdup xmm0, xmm0
vucomiss xmm0, xmm1
seta bl
test byte [esp + 8], 8
sete al
and al, bl
mov byte [ecx], al
movzx edx, byte [edx]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0xc]
test dl, dl
je 0x1002baf3
mov edi, dword [esp]
vmovss xmm2, dword [ebx + 0x158c]
test al, al
je 0x10028c28
vmovss xmm0, dword [ebx + 0x158c]
vmovss dword [edi + 0x80], xmm0
vmovss dword [edi + 0x84], xmm2
lea eax, [esi + 0x1ec]
cmp dword [esp + 0x30], 0x3000000
lea ecx, [esp + 0x1fc]
cmove eax, ecx
cmp byte [esp + 0x50], 0
cmovne eax, ecx
vmovss xmm1, dword [eax]
vmovss xmm6, dword [eax + 4]
vmovss xmm0, dword [eax + 8]
vmovaps xmmword [esp + 0x10], xmm0
vmovss xmm0, dword [eax + 0xc]
vmovaps xmmword [esp + 0x80], xmm0
vmovsd xmm3, qword [edi + 0xc]
vmovsd xmm0, qword [edi + 0x14]
vmovaps xmmword [esp + 0x60], xmm0
vaddps xmm2, xmm3, xmm0
test byte [edi + 8], 1
vxorps xmm4, xmm4, xmm4
jne 0x10028d2c
mov eax, dword [0x1017f770]
vmovss xmm4, dword [eax + 0x1938]
vmulss xmm5, xmm4, dword [edi + 0x238]
mov ecx, dword [edi + 0x2d4]
test ecx, ecx
je 0x10028d1b
vmulss xmm5, xmm5, dword [ecx + 0x238]
vmovss xmm4, dword [eax + 0x1558]
vfmadd132ss xmm4, xmm5, dword [0x1012984c]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
vmovss xmm5, dword [edi + 0x1c]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1dc], eax
mov esi, dword [esp + 8]
mov ecx, esi
and ecx, 0x401
mov eax, dword [esp + 4]
add eax, 0x1560
cmp ecx, 1
lea ecx, [edi + 0x48]
cmove eax, ecx
vinsertps xmm4, xmm5, xmm4, 0x10
vaddps xmm4, xmm3, xmm4
vmovlps qword [esp + 0x1e4], xmm4
vmovlhps xmm5, xmm3, xmm2
vmovaps xmmword [esp + 0x70], xmm1
vmovaps xmmword [esp + 0xa0], xmm6
vinsertps xmm4, xmm1, xmm6, 0x10
vinsertps xmm6, xmm4, dword [esp + 0x10], 0x20
vinsertps xmm6, xmm6, dword [esp + 0x80], 0x30
vcmpleps xmm7, xmm6, xmm5
vcmpltps xmm1, xmm5, xmm6
vblendps xmm1, xmm1, xmm7, 3
vblendvps xmm1, xmm6, xmm5, xmm1
vmovshdup xmm3, xmm3
vmovups xmmword [edi + 0x19c], xmm1
vmovss xmm1, dword [edi + 0xc]
vmovss xmm5, dword [edi + 0x3c]
vmovss dword [edi + 0x1ac], xmm1
vaddss xmm3, xmm3, dword [esp + 0x9c]
vmovss dword [edi + 0x1b0], xmm3
vmovaps xmm0, xmmword [esp + 0x60]
vaddss xmm6, xmm0, xmm1
vmovsd xmm7, qword [edi + 0x80]
vblendps xmm2, xmm2, xmm6, 1
vsubps xmm2, xmm2, xmm7
vmovlps qword [edi + 0x1b4], xmm2
vmovss xmm6, dword [edi + 0x48]
vmulss xmm5, xmm5, dword [0x10129738]
vcvttps2dq xmm5, xmm5
vcvtdq2ps xmm5, xmm5
vcmpless xmm7, xmm6, xmm5
vblendvps xmm5, xmm6, xmm5, xmm7
vinsertps xmm7, xmm5, dword [eax], 0x1c
vinsertps xmm3, xmm1, xmm3, 0x10
vmovlhps xmm1, xmm3, xmm2
vmovddup xmm5, xmm5
vinsertps xmm5, xmm5, xmm6, 0x30
vbroadcastss xmm6, dword [0x10129738]
vmovaps xmmword [esp + 0xc0], xmm6
vaddps xmm1, xmm1, xmm6
vaddps xmm6, xmm1, xmm7
vsubps xmm1, xmm1, xmm5
vblendps xmm1, xmm1, xmm6, 3
vcvttps2dq xmm1, xmm1
vcvtdq2ps xmm1, xmm1
vmovddup xmm4, xmm4
vmovaps xmm5, xmmword [esp + 0x10]
vinsertps xmm5, xmm5, dword [esp + 0x80], 0x10
vmovddup xmm5, xmm5
vminps xmm5, xmm5, xmm1
vcmpltps xmm1, xmm1, xmm4
vblendvps xmm1, xmm5, xmm4, xmm1
vmovups xmmword [edi + 0x1bc], xmm1
vucomiss xmm0, dword [0x10129730]
jbe 0x10028ecf
mov eax, esi
and eax, 0x2000000
jne 0x10028ecf
mov eax, esi
and eax, 0x40
jne 0x10028ecf
vmovaps xmm0, xmmword [esp + 0x60]
vmulss xmm0, xmm0, dword [0x10129954]
mov ebx, dword [esp + 4]
jmp 0x10028ee3
mov ebx, dword [esp + 4]
vmovss xmm0, dword [ebx + 0x1934]
vmulss xmm0, xmm0, dword [0x10129958]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [edi + 0x21c], xmm0
vsubps xmm0, xmm2, xmm3
vmovsd xmm1, qword [edi + 0x24]
vmovsd xmm2, qword [edi + 0x3c]
vbroadcastss xmm3, dword [0x1012984c]
vfmadd213ps xmm3, xmm2, xmm1
vsubps xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vcmpnleps xmm1, xmm0, xmm1
vandps xmm0, xmm1, xmm0
vmovlps qword [edi + 0x60], xmm0
lea ecx, [esp + 0x260]
mov edx, edi
call fcn.1002fc30
vmovsd xmm0, qword [esp + 0x260]
vmovsd qword [edi + 0x58], xmm0
vbroadcastss xmm0, dword [0x101296d0]
vmovlps qword [edi + 0x68], xmm0
mov ecx, dword [edi + 0x240]
mov eax, dword [ebx + 0x1930]
mov eax, dword [eax + 0x30]
push dword [eax + 4]
call fcn.10035a70
mov eax, dword [0x1017f770]
mov ecx, dword [eax + 0x1b98]
mov byte [ecx + 0x8c], 1
mov esi, dword [eax + 0x1b98]
mov ecx, dword [esi + 0x240]
sub esp, 0x14
vmovaps xmm0, xmmword [esp + 0x94]
vmovss dword [esp + 0xc], xmm0
vmovaps xmm0, xmmword [esp + 0x24]
vmovss dword [esp + 8], xmm0
vmovaps xmm0, xmmword [esp + 0xb4]
vmovss dword [esp + 4], xmm0
vmovaps xmm0, xmmword [esp + 0x84]
vmovss dword [esp], xmm0
mov dword [esp + 0x10], 0
call fcn.10035880
mov eax, dword [esi + 0x240]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
vmovdqu xmm0, xmmword [ecx + eax - 0x10]
vmovdqu xmmword [esi + 0x1ec], xmm0
xor eax, eax
test dword [esp + 8], 0x8000000
je 0x1002904e
mov eax, dword [0x1017f770]
mov ecx, dword [eax + 0x1d1c]
test ecx, ecx
jle 0x10029037
mov edx, dword [eax + 0x1d24]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
jmp 0x10029029
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x10029037
mov edx, dword [ecx]
test edx, edx
je 0x10029020
test byte [edx + 0xb], 8
je 0x10029020
jmp 0x10029039
xor edx, edx
mov eax, dword [esp]
cmp eax, edx
je 0x10029044
xor eax, eax
jmp 0x1002904e
cmp byte [eax + 0xad], 0
setle al
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x1e5c]
test ecx, ecx
je 0x1002906a
mov edx, dword [esp]
cmp edx, dword [ecx + 0x2d8]
sete bl
jmp 0x1002906f
xor ebx, ebx
mov edx, dword [esp]
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x10029181
movzx eax, al
shl eax, 4
mov ecx, dword [esp + 4]
vmovss xmm0, dword [ecx + 0x1e84]
mov ecx, dword [0x1017f770]
vmovss xmm1, dword [eax + ecx + 0x1910]
vmulss xmm0, xmm0, dword [ecx + 0x1518]
vmulss xmm0, xmm0, dword [eax + ecx + 0x191c]
vmovss xmm2, dword [0x10129710]
vminss xmm3, xmm2, xmm1
vxorps xmm4, xmm4, xmm4
vcmpltss xmm1, xmm1, xmm4
vandnps xmm1, xmm1, xmm3
vmovss xmm3, dword [0x10129738]
vmovss xmm5, dword [0x1012973c]
vfmadd213ss xmm1, xmm5, xmm3
vcvttss2si edx, xmm1
vmovss xmm1, dword [eax + ecx + 0x1914]
vminss xmm2, xmm2, xmm1
vcmpltss xmm1, xmm1, xmm4
vandnps xmm1, xmm1, xmm2
vfmadd213ss xmm1, xmm5, xmm3
vmovss xmm2, dword [eax + ecx + 0x1918]
vcvttss2si ecx, xmm1
lea eax, [esp + 0x204]
shl ecx, 8
or ecx, edx
vinsertps xmm0, xmm2, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10129710]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x1012973c]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xc0]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10129770]
vmovd edx, xmm0
or edx, ecx
vpextrd esi, xmm0, 1
or esi, edx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x240]
push 0
push 0
push esi
push eax
lea eax, [esp + 0x20c]
push eax
call fcn.10038070
mov edx, dword [esp]
test bl, bl
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0xc]
je 0x1002933b
cmp edx, dword [edi + 0x1e5c]
jne 0x1002933b
vmovsd xmm0, qword [edx + 0xc]
vmovsd xmm1, qword [edx + 0x14]
vaddps xmm2, xmm0, xmm1
vbroadcastss xmm3, dword [edi + 0x1934]
vsubss xmm4, xmm0, xmm3
vmovss dword [esp + 0x260], xmm4
vmovshdup xmm0, xmm0
vsubss xmm1, xmm0, xmm3
vmovss dword [esp + 0x264], xmm1
vaddps xmm0, xmm2, xmm3
vmovlps qword [esp + 0x268], xmm0
vmovss xmm2, dword [esp + 0x1fc]
vucomiss xmm2, xmm4
jb 0x10029220
vmovss xmm2, dword [esp + 0x200]
vucomiss xmm2, xmm1
jb 0x10029220
vmovsd xmm1, qword [esp + 0x204]
vcmpleps xmm0, xmm1, xmm0
vpmovsxdq xmm0, xmm0
vmovmskpd eax, xmm0
test al, 1
je 0x10029220
shr al, 1
jne 0x1002933b
mov eax, dword [0x1017f770]
vmovss xmm0, dword [eax + 0x1900]
vmovss xmm1, dword [0x10129710]
vminss xmm2, xmm1, xmm0
vxorps xmm3, xmm3, xmm3
vcmpltss xmm0, xmm0, xmm3
vandnps xmm0, xmm0, xmm2
vmovss xmm2, dword [eax + 0x1904]
vminss xmm1, xmm1, xmm2
vcmpltss xmm2, xmm2, xmm3
vmovss xmm3, dword [0x10129738]
vandnps xmm1, xmm2, xmm1
vmovss xmm2, dword [0x1012973c]
vfmadd213ss xmm0, xmm2, xmm3
vfmadd213ss xmm1, xmm2, xmm3
vmovss xmm2, dword [edi + 0x1e68]
vmulss xmm2, xmm2, dword [0x1012995c]
vmulss xmm2, xmm2, dword [eax + 0x1518]
vmulss xmm2, xmm2, dword [eax + 0x190c]
vcvttss2si edx, xmm0
vcvttss2si ecx, xmm1
vmovss xmm0, dword [eax + 0x1908]
vinsertps xmm0, xmm0, xmm2, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10129710]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x1012973c]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xc0]
shl ecx, 8
or ecx, edx
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10129770]
vmovd eax, xmm0
or eax, ecx
vpextrd edx, xmm0, 1
lea esi, [esp + 0x268]
or edx, eax
mov eax, dword [esp]
mov ecx, dword [eax + 0x240]
vmovd xmm0, dword [edi + 0x1528]
sub esp, 0x14
vmovd dword [esp + 0xc], xmm0
mov dword [esp + 4], esi
lea eax, [esp + 0x274]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0
call fcn.10038070
mov edx, dword [esp]
cmp dword [esp + 0x30], 0x3000000
sete al
mov ecx, dword [esp + 0x50]
or cl, al
je 0x1002935e
mov dword [esp + 0x120], 0
jmp 0x10029405
mov eax, dword [ebx + 0x158]
cmp eax, 2
jl 0x100293bc
mov ecx, dword [ebx + 0x160]
mov ecx, dword [ecx + eax*4 - 8]
test ecx, ecx
je 0x100293bc
vmovss xmm0, dword [ecx + 0x10]
vaddss xmm2, xmm0, dword [ecx + 0x18]
vmovss xmm1, dword [edx + 0x10]
xor eax, eax
vucomiss xmm2, xmm1
jbe 0x100293be
vaddss xmm1, xmm1, dword [edx + 0x18]
vucomiss xmm1, xmm0
jbe 0x100293be
vmovss xmm0, dword [ecx + 0xc]
vaddss xmm2, xmm0, dword [ecx + 0x14]
vmovss xmm1, dword [edx + 0xc]
vucomiss xmm2, xmm1
jbe 0x100293be
vaddss xmm1, xmm1, dword [edx + 0x14]
vucomiss xmm1, xmm0
seta al
jmp 0x100293be
xor eax, eax
mov ecx, dword [edx + 0x240]
mov edx, dword [ecx]
mov ecx, dword [ecx + 8]
lea edx, [edx + edx*4]
mov dword [esp + 0x120], 0
cmp dword [ecx + edx*8 - 0xc], 0
jne 0x10029402
mov ecx, dword [ebx + 0x240]
cmp dword [ecx + 0x18], 0
jle 0x10029402
test al, al
mov edx, dword [esp]
jne 0x10029405
mov dword [edx + 0x240], ecx
mov al, 1
mov dword [esp + 0x120], eax
jmp 0x10029405
mov edx, dword [esp]
mov eax, dword [edi + 0x1e58]
test eax, eax
jne 0x10029415
mov eax, dword [edi + 0x1d40]
mov cl, 1
test byte [esp + 0x10c], 1
jne 0x10029438
test eax, eax
je 0x10029436
mov ecx, dword [edx + 0x2e0]
cmp ecx, dword [eax + 0x2e0]
sete cl
jmp 0x10029438
xor ecx, ecx
mov edi, dword [0x1017f770]
mov eax, dword [edx + 8]
mov byte [edx + 0x8f], 0
vmovss xmm0, dword [edx + 0x44]
vmovss dword [esp + 0x80], xmm0
vmovss xmm0, dword [edx + 0x48]
cmp byte [edx + 0x8d], 0
je 0x100295ae
vmovss xmm1, dword [edi + 0x1560]
vmovss dword [esp + 0x10], xmm1
vmovss dword [edi + 0x1560], xmm0
mov eax, 0xc
test cl, cl
je 0x10029496
cmp byte [edi + 0x1d86], 1
mov eax, 0xc
sbb eax, 0
shl eax, 4
vmovss xmm1, dword [edi + eax + 0x15e0]
vmovss xmm2, dword [edi + eax + 0x15e4]
vmovss xmm0, dword [edi + eax + 0x15ec]
vmulss xmm0, xmm0, dword [edi + 0x1518]
vmovss xmm3, dword [0x10129710]
vminss xmm4, xmm3, xmm1
vxorps xmm5, xmm5, xmm5
vcmpltss xmm1, xmm1, xmm5
vandnps xmm1, xmm1, xmm4
vmovss xmm4, dword [0x10129738]
vmovss xmm6, dword [0x1012973c]
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si edx, xmm1
vminss xmm1, xmm3, xmm2
vcmpltss xmm2, xmm2, xmm5
vandnps xmm1, xmm2, xmm1
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si ecx, xmm1
shl ecx, 8
or ecx, edx
vmovss xmm1, dword [edi + eax + 0x15e8]
vinsertps xmm0, xmm1, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10129710]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x1012973c]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xc0]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10129770]
vmovd eax, xmm0
or eax, ecx
vpextrd ecx, xmm0, 1
or ecx, eax
vmovups xmm0, xmmword [esp + 0x1dc]
sub esp, 0x1c
vmovss xmm1, dword [esp + 0x9c]
vmovss dword [esp + 0x18], xmm1
vmovups xmmword [esp], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.1001ec30
add esp, 0x1c
vmovss xmm0, dword [esp + 0x10]
vmovss dword [edi + 0x1560], xmm0
mov ebx, dword [esp + 4]
mov edx, dword [esp]
jmp 0x1002a712
vmovaps xmmword [esp + 0x30], xmm0
test al, 0x80
mov dword [esp + 0x10], eax
jne 0x1002969b
mov dword [esp + 0x50], ecx
xor ecx, ecx
test eax, 0x1000000
sete cl
xor ecx, 3
test eax, 0x6000000
mov eax, 4
cmove eax, ecx
shl eax, 4
vmovss xmm1, dword [edi + eax + 0x15e0]
vmovss xmm2, dword [0x10129710]
vminss xmm3, xmm2, xmm1
vxorps xmm0, xmm0, xmm0
vcmpltss xmm1, xmm1, xmm0
vandnps xmm4, xmm1, xmm3
vmovss xmm3, dword [0x10129738]
vmovss xmm1, dword [0x1012973c]
vfmadd213ss xmm4, xmm1, xmm3
vcvttss2si edx, xmm4
vmovsd xmm4, qword [edi + eax + 0x15e4]
vxorps xmm5, xmm5, xmm5
vbroadcastss xmm6, dword [0x10129710]
vminps xmm6, xmm6, xmm4
vcmpnltps xmm4, xmm4, xmm5
vandps xmm4, xmm4, xmm6
vbroadcastss xmm5, dword [0x1012973c]
vfmadd213ps xmm5, xmm4, xmmword [esp + 0xc0]
vcvttps2dq xmm4, xmm5
vpsllvd xmm4, xmm4, xmmword [0x10129960]
vmovd esi, xmm4
vpextrd ecx, xmm4, 1
or esi, edx
or ecx, esi
test byte [edi + 0x1c74], 0x40
jne 0x100296ad
vmovss xmm4, dword [edi + eax + 0x15ec]
vmulss xmm4, xmm4, dword [edi + 0x1518]
vminss xmm2, xmm2, xmm4
vcmpltss xmm4, xmm4, xmm0
vandnps xmm2, xmm4, xmm2
vfmadd213ss xmm1, xmm2, xmm3
jmp 0x100296d1
mov ebx, eax
and ebx, 1
test ebx, ebx
jne 0x100298c7
jmp 0x100297ac
vmovss xmm3, dword [edi + 0x1cc8]
and ecx, 0xffffff
vminss xmm2, xmm2, xmm3
vcmpltss xmm3, xmm3, xmm0
vandnps xmm2, xmm3, xmm2
vfmadd213ss xmm1, xmm2, dword [0x10129738]
vcvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
xor ecx, ecx
mov ebx, dword [esp + 0x10]
mov edx, ebx
and edx, 1
mov dword [esp + 0x60], edx
mov edx, 0xc0
cmovne edx, ecx
mov esi, dword [esp]
mov ecx, dword [esi + 0x240]
vmovsd xmm1, qword [esi + 0xc]
vmovsd xmm2, qword [esi + 0x14]
vaddps xmm2, xmm1, xmm2
vmovlps qword [esp + 0x260], xmm2
test bl, 1
jne 0x1002974c
vmovss xmm0, dword [edi + 0x1938]
mov esi, dword [esp]
vmulss xmm2, xmm0, dword [esi + 0x238]
mov esi, dword [esi + 0x2d4]
test esi, esi
je 0x1002973b
vmulss xmm2, xmm2, dword [esi + 0x238]
vmovss xmm0, dword [edi + 0x1558]
vfmadd132ss xmm0, xmm2, dword [0x1012984c]
vxorps xmm2, xmm2, xmm2
vunpcklps xmm0, xmm2, xmm0
vaddps xmm0, xmm1, xmm0
vmovlps qword [esp + 0x250], xmm0
sub esp, 0x14
mov dword [esp + 0x10], edx
vmovss xmm0, dword [esp + 0x94]
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea eax, [esp + 0x274]
mov dword [esp + 4], eax
lea eax, [esp + 0x264]
mov dword [esp], eax
call fcn.10038070
mov edx, dword [esp]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x50]
test ebx, ebx
jne 0x100298c7
movzx eax, cl
shl eax, 4
mov ecx, dword [0x1017f770]
vmovss xmm1, dword [eax + ecx + 0x1680]
vmovss xmm0, dword [eax + ecx + 0x168c]
vmulss xmm0, xmm0, dword [ecx + 0x1518]
vmovss xmm2, dword [0x10129710]
vminss xmm3, xmm2, xmm1
vpxor xmm4, xmm4, xmm4
vcmpltss xmm1, xmm1, xmm4
vandnps xmm1, xmm1, xmm3
vmovss xmm3, dword [0x10129738]
vmovss xmm5, dword [0x1012973c]
vfmadd213ss xmm1, xmm5, xmm3
vcvttss2si edx, xmm1
vmovss xmm1, dword [eax + ecx + 0x1684]
vminss xmm2, xmm2, xmm1
vcmpltss xmm1, xmm1, xmm4
vandnps xmm1, xmm1, xmm2
vfmadd213ss xmm1, xmm5, xmm3
vmovss xmm2, dword [eax + ecx + 0x1688]
vcvttss2si ecx, xmm1
lea eax, [esp + 0x1e4]
shl ecx, 8
or ecx, edx
vinsertps xmm0, xmm2, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10129710]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x1012973c]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xc0]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10129770]
vmovd edx, xmm0
or edx, ecx
vpextrd esi, xmm0, 1
or esi, edx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x240]
sub esp, 0x14
vmovss xmm0, dword [esp + 0x94]
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x1f0]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], 0x30
call fcn.10038070
mov eax, dword [esp + 0x10]
mov edx, dword [esp]
test eax, 0x400
je 0x10029c8d
mov ecx, dword [edx + 8]
vxorps xmm1, xmm1, xmm1
mov eax, dword [0x1017f770]
vxorps xmm0, xmm0, xmm0
test cl, 1
jne 0x1002991d
vmovss xmm0, dword [eax + 0x1938]
vmulss xmm2, xmm0, dword [edx + 0x238]
mov edx, dword [edx + 0x2d4]
test edx, edx
je 0x10029909
vmulss xmm2, xmm2, dword [edx + 0x238]
vmovss xmm0, dword [eax + 0x1558]
vfmadd132ss xmm0, xmm2, dword [0x1012984c]
mov edx, dword [esp]
vmovss xmm2, dword [edx + 0x10]
test ecx, 0x400
je 0x10029969
vmovss xmm1, dword [edx + 0x130]
vmovss xmm3, dword [eax + 0x1938]
vmulss xmm3, xmm3, dword [edx + 0x238]
mov ecx, dword [edx + 0x2d4]
test ecx, ecx
je 0x10029954
vmulss xmm3, xmm3, dword [ecx + 0x238]
vaddss xmm3, xmm1, xmm3
vmovss xmm1, dword [eax + 0x1558]
vfmadd132ss xmm1, xmm3, dword [0x1012984c]
mov dword [esp + 0x70], edi
vaddss xmm3, xmm2, xmm0
vmovss xmm5, dword [edx + 0xc]
vcmpless xmm0, xmm2, xmm3
vblendvps xmm0, xmm2, xmm3, xmm0
vmovaps xmmword [esp + 0x60], xmm0
vinsertps xmm3, xmm5, xmm3, 0x10
vmovss xmm4, dword [edx + 0x1c]
vinsertps xmm1, xmm4, xmm1, 0x10
vaddps xmm1, xmm3, xmm1
vmovsd xmm3, qword [edx + 0x14]
vmovaps xmmword [esp + 0xa0], xmm5
vinsertps xmm2, xmm5, xmm2, 0x10
vaddps xmm2, xmm2, xmm3
vminps xmm7, xmm1, xmm2
vmovshdup xmm6, xmm7
mov ecx, dword [edx + 0x240]
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
test ebx, ebx
je 0x100299d7
vmovss xmm0, dword [esp + 0x80]
vmovss dword [esp + 0x50], xmm0
vmovss xmm3, dword [eax + 0x16b0]
vmovss xmm4, dword [eax + 0x16b4]
vmovss xmm2, dword [eax + 0x16bc]
vmulss xmm2, xmm2, dword [eax + 0x1518]
vmovss xmm0, dword [0x10129710]
vminss xmm5, xmm0, xmm3
vcmpltss xmm3, xmm3, xmm1
vandnps xmm3, xmm3, xmm5
vmovss xmm5, dword [0x10129738]
vmovss xmm1, dword [0x1012973c]
vfmadd213ss xmm3, xmm1, xmm5
vcvttss2si edx, xmm3
vminss xmm3, xmm0, xmm4
vcmpltss xmm4, xmm4, dword [0x10129730]
vandnps xmm3, xmm4, xmm3
vfmadd213ss xmm3, xmm1, xmm5
vcvttss2si esi, xmm3
vmovss xmm3, dword [eax + 0x16b8]
vinsertps xmm2, xmm3, xmm2, 0x10
vxorps xmm3, xmm3, xmm3
vbroadcastss xmm0, dword [0x10129710]
vmovaps xmmword [esp + 0x130], xmm0
vminps xmm4, xmm0, xmm2
vcmpnltps xmm2, xmm2, xmm3
vandps xmm2, xmm2, xmm4
vbroadcastss xmm0, dword [0x1012973c]
vmovaps xmmword [esp + 0xe0], xmm0
vfmadd213ps xmm2, xmm0, xmmword [esp + 0xc0]
vcvttps2dq xmm2, xmm2
vpsllvd xmm2, xmm2, xmmword [0x10129770]
vpextrd eax, xmm2, 1
vmovd ebx, xmm2
mov edi, dword [esp]
vmovss xmm2, dword [edi + 0xc]
vmovaps xmm4, xmmword [esp + 0x30]
vmovaps xmmword [esp + 0xd0], xmm7
vsubss xmm3, xmm7, xmm4
vmovss dword [esp + 0x260], xmm3
vunpcklps xmm0, xmm4, xmmword [esp + 0x60]
vaddps xmm0, xmm0, xmm2
vmovlps qword [esp + 0x250], xmm0
shl esi, 8
or esi, edx
or ebx, esi
or eax, ebx
vmovss dword [esp + 0x264], xmm6
sub esp, 0x14
vmovss xmm0, dword [esp + 0x64]
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea eax, [esp + 0x274]
mov dword [esp + 4], eax
lea esi, [esp + 0x264]
mov dword [esp], esi
mov dword [esp + 0x10], 0x30
vmovaps xmmword [esp + 0x74], xmm6
call fcn.10038070
vmovaps xmm4, xmmword [esp + 0x60]
mov edx, edi
mov eax, dword [esp + 0x70]
vmovss xmm0, dword [eax + 0x1560]
vucomiss xmm0, dword [0x10129730]
mov eax, dword [esp + 0x10]
jbe 0x10029c8d
vmovss xmm1, dword [edx + 0x10]
vaddss xmm1, xmm1, dword [edx + 0x18]
vucomiss xmm1, xmm4
jbe 0x10029c8d
mov ecx, dword [0x1017f770]
vmovss xmm1, dword [ecx + 0x1630]
vmovss xmm5, dword [0x10129710]
vminss xmm2, xmm5, xmm1
vxorps xmm3, xmm3, xmm3
vcmpltss xmm1, xmm1, xmm3
vandnps xmm1, xmm1, xmm2
vmovss xmm6, dword [0x10129738]
vmovss xmm7, dword [0x1012973c]
vfmadd213ss xmm1, xmm7, xmm6
vcvttss2si eax, xmm1
vmovss xmm1, dword [ecx + 0x1634]
vminss xmm2, xmm5, xmm1
vcmpltss xmm1, xmm1, xmm3
vandnps xmm1, xmm1, xmm2
vfmadd213ss xmm1, xmm7, xmm6
vmovss xmm2, dword [ecx + 0x163c]
vmulss xmm2, xmm2, dword [ecx + 0x1518]
vcvttss2si edx, xmm1
vmovss xmm1, dword [ecx + 0x1638]
vinsertps xmm1, xmm1, xmm2, 0x10
vxorps xmm2, xmm2, xmm2
vmovaps xmm3, xmmword [esp + 0x130]
vminps xmm3, xmm3, xmm1
vcmpnltps xmm1, xmm1, xmm2
vandps xmm1, xmm1, xmm3
vmovaps xmm2, xmmword [esp + 0xe0]
vfmadd213ps xmm2, xmm1, xmmword [esp + 0xc0]
vcvttps2dq xmm1, xmm2
vpsllvd xmm1, xmm1, xmmword [0x10129770]
vmovd edi, xmm1
vpextrd ebx, xmm1, 1
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x240]
vmovaps xmm1, xmmword [esp + 0xd0]
vmovlps qword [esp + 0x260], xmm1
vmovaps xmm1, xmmword [esp + 0xa0]
vmovss dword [esp + 0x250], xmm1
vmovss dword [esp + 0x254], xmm4
shl edx, 8
or edx, eax
or edi, edx
or ebx, edi
sub esp, 0x10
vmovss dword [esp + 0xc], xmm0
lea eax, [esp + 0x270]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], ebx
call fcn.10037df0
mov eax, dword [esp + 0x10]
mov edx, dword [esp]
cmp byte [edx + 0x88], 0
je 0x10029ca8
push 0
call fcn.10045830
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 4]
add esp, 4
cmp byte [edx + 0x89], 0
je 0x10029cc3
push 1
call fcn.10045830
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 4]
add esp, 4
test al, 2
jne 0x1002a06e
vmovaps xmm2, xmmword [esp + 0x150]
vmovss xmm0, dword [esp + 0x1c0]
vfmadd231ss xmm2, xmm0, dword [0x101298e0]
vmulss xmm0, xmm0, dword [0x101298e4]
vcmpless xmm1, xmm2, xmm0
vblendvps xmm0, xmm2, xmm0, xmm1
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovaps xmm2, xmmword [esp + 0x30]
vaddss xmm1, xmm2, dword [esp + 0x80]
vinsertps xmm3, xmm2, xmm0, 0x10
vmovaps xmmword [esp + 0x50], xmm3
vinsertps xmm0, xmm0, xmm2, 0x10
vmovaps xmmword [esp + 0x70], xmm0
vbroadcastss xmm0, xmm1
vmovaps xmmword [esp + 0xa0], xmm0
xor ebx, ebx
mov esi, 0x101292b0
jmp 0x10029de6
mov ebx, dword [esp + 0x10]
vmulps xmm0, xmm1, xmm3
vaddps xmm0, xmm2, xmm0
mov ecx, dword [edi + 0x5c]
vmovlps qword [ecx + eax*8], xmm0
inc dword [edi + 0x54]
mov ecx, dword [edx + 0x240]
mov eax, dword [esi - 4]
mov edx, dword [esi]
vfmadd132ps xmm3, xmm2, xmmword [esp + 0xa0]
vmovlps qword [esp + 0x260], xmm3
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
vmovss xmm0, dword [esp + 0x90]
vmovss dword [esp + 4], xmm0
lea eax, [esp + 0x270]
mov dword [esp], eax
call fcn.10037290
mov eax, dword [esp]
mov edi, dword [eax + 0x240]
mov ecx, edi
push dword [esp + ebx*4 + 0x290]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.100367c0
mov edx, dword [esp]
mov dword [edi + 0x54], 0
inc ebx
add esi, 0x18
cmp dword [esp + 0xf0], ebx
je 0x1002a06e
mov edi, dword [edx + 0x240]
test bl, 1
sete cl
vmovsd xmm1, qword [edx + 0xc]
vmovsd xmm0, qword [edx + 0x14]
vmovsd xmm2, qword [esi - 0x14]
vmovsd xmm3, qword [esi - 0xc]
mov eax, dword [edi + 0x54]
cmp eax, dword [edi + 0x58]
mov dword [esp + 0x10], ebx
jne 0x10029e30
mov dword [esp + 0x60], ecx
lea ecx, [eax + 1]
mov dword [esp + 0x30], ecx
mov ebx, edx
test eax, eax
je 0x10029e37
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10029e3c
mov ebx, edx
jmp 0x10029f19
mov ecx, 8
mov edx, dword [esp + 0x30]
cmp ecx, edx
cmovg edx, ecx
cmp eax, edx
mov ecx, dword [esp + 0x60]
jge 0x10029f19
vmovaps xmmword [esp + 0x1c0], xmm0
vmovaps xmmword [esp + 0x150], xmm1
vmovaps xmmword [esp + 0xe0], xmm3
vmovaps xmmword [esp + 0xd0], xmm2
mov dword [esp + 0x30], edx
lea eax, [edx*8]
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10029e90
inc dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175014]
add esp, 8
mov ebx, eax
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x10029ee1
mov ecx, dword [edi + 0x54]
shl ecx, 3
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x10029ed1
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10029ed1
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov dword [edi + 0x5c], ebx
mov eax, dword [esp + 0x30]
mov dword [edi + 0x58], eax
mov eax, dword [edi + 0x54]
mov ebx, dword [esp]
vmovaps xmm2, xmmword [esp + 0xd0]
vmovaps xmm3, xmmword [esp + 0xe0]
mov ecx, dword [esp + 0x60]
vmovaps xmm1, xmmword [esp + 0x150]
vmovaps xmm0, xmmword [esp + 0x1c0]
vaddps xmm0, xmm1, xmm0
vsubps xmm0, xmm0, xmm1
vfmadd213ps xmm2, xmm0, xmm1
vmovd xmm0, ecx
vpbroadcastb xmm0, xmm0
vpslld xmm0, xmm0, 0x1f
vmovaps xmm1, xmmword [esp + 0x70]
vblendvps xmm1, xmm1, xmmword [esp + 0x50], xmm0
vpermilps xmm0, xmm1, 0xe1
vmulps xmm0, xmm0, xmm3
vaddps xmm0, xmm2, xmm0
mov ecx, dword [edi + 0x5c]
vmovlps qword [ecx + eax*8], xmm0
inc dword [edi + 0x54]
mov edx, ebx
mov edi, dword [ebx + 0x240]
mov eax, dword [edi + 0x54]
cmp eax, dword [edi + 0x58]
jne 0x10029d50
lea ecx, [eax + 1]
mov dword [esp + 0x30], ecx
test eax, eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x130], esi
je 0x10029f92
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10029f97
mov ecx, 8
mov esi, dword [esp + 0x30]
cmp ecx, esi
cmovg esi, ecx
mov ecx, esi
cmp eax, esi
mov esi, dword [esp + 0x130]
jge 0x10029d54
vmovaps xmmword [esp + 0x60], xmm1
vmovaps xmmword [esp + 0xe0], xmm3
vmovaps xmmword [esp + 0xd0], xmm2
mov dword [esp + 0x30], ecx
lea eax, [ecx*8]
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x10029fe4
inc dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175014]
add esp, 8
mov edx, dword [edi + 0x5c]
test edx, edx
je 0x1002a041
mov ecx, dword [edi + 0x54]
shl ecx, 3
push ecx
push edx
mov dword [esp + 0x158], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x1002a02a
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002a02a
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov eax, dword [esp + 0x150]
mov dword [edi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x58], eax
mov eax, dword [edi + 0x54]
mov edx, dword [esp]
vmovaps xmm2, xmmword [esp + 0xd0]
vmovaps xmm3, xmmword [esp + 0xe0]
vmovaps xmm1, xmmword [esp + 0x60]
jmp 0x10029d54
mov edi, dword [0x1017f770]
vmovss xmm5, dword [edx + 0x44]
vmovss xmm1, dword [edx + 0x48]
vxorps xmm0, xmm0, xmm0
vmovss dword [esp + 0x30], xmm1
vucomiss xmm1, xmm0
jbe 0x1002a1cb
test byte [edx + 8], 0x80
jne 0x1002a1cb
lea eax, [edx + 0xc]
vmovss xmm1, dword [edi + 0x1630]
vmovss xmm2, dword [edi + 0x1634]
vmovss xmm0, dword [edi + 0x163c]
vmulss xmm0, xmm0, dword [edi + 0x1518]
vmovss xmm3, dword [0x10129710]
vminss xmm4, xmm3, xmm1
vxorps xmm7, xmm7, xmm7
vcmpltss xmm1, xmm1, xmm7
vandnps xmm1, xmm1, xmm4
vmovss xmm4, dword [0x10129738]
vmovss xmm6, dword [0x1012973c]
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si edx, xmm1
vminss xmm1, xmm3, xmm2
vcmpltss xmm2, xmm2, xmm7
vandnps xmm1, xmm2, xmm1
vfmadd213ss xmm1, xmm6, xmm4
vcvttss2si ecx, xmm1
shl ecx, 8
or ecx, edx
vmovss xmm1, dword [edi + 0x1638]
vinsertps xmm0, xmm1, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10129710]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x1012973c]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xc0]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10129770]
vmovd esi, xmm0
or esi, ecx
vpextrd edx, xmm0, 1
or edx, esi
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x240]
mov esi, dword [esp]
vmovsd xmm0, qword [esi + 0xc]
mov esi, dword [esp]
vmovsd xmm1, qword [esi + 0x14]
vaddps xmm0, xmm0, xmm1
vmovlps qword [esp + 0x260], xmm0
sub esp, 0x18
vmovss xmm0, dword [esp + 0x48]
vmovss dword [esp + 0x14], xmm0
vmovss dword [esp + 0xc], xmm5
lea esi, [esp + 0x278]
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0
vmovss dword [esp + 0x78], xmm5
call fcn.10037f80
vmovss xmm5, dword [esp + 0x60]
mov edx, dword [esp]
mov eax, dword [esp + 0x110]
movsx esi, byte [eax]
cmp esi, 0xffffffff
je 0x1002a569
mov dword [esp + 0xf0], edi
lea eax, [esi + esi*8]
lea edi, [eax + eax*2]
lea eax, [esi + edi]
add eax, 0x101292fc
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
vxorps xmm7, xmm7, xmm7
vxorps xmm2, xmm2, xmm2
vmovss dword [esp + 0x10], xmm2
cmp esi, 3
ja case.default.0x1002a240
vmovss xmm1, dword [edx + 0xc]
vmovss xmm0, dword [edx + 0x10]
vmovaps xmm7, xmm0
vaddss xmm0, xmm0, dword [edx + 0x18]
vmovss dword [esp + 0x10], xmm1
vaddss xmm1, xmm1, dword [edx + 0x14]
vmovss xmm3, dword [0x101296d4]
vaddss xmm2, xmm1, xmm3
vaddss xmm3, xmm0, xmm3
jmp dword [esi*4 + 0x10129a6c]
vmovaps xmm4, xmm5
vsubss xmm2, xmm3, xmm5
vxorps xmm1, xmm1, xmm1
vaddss xmm0, xmm1, dword [esp + 0x10]
vmovaps xmm1, xmm2
vaddss xmm7, xmm5, xmm7
jmp case.default.0x1002a240
vmovaps xmm4, xmm5
vsubss xmm3, xmm3, xmm5
vxorps xmm1, xmm1, xmm1
vaddss xmm0, xmm2, xmm1
vmovaps xmm1, xmm3
vaddss xmm7, xmm5, xmm7
vmovss dword [esp + 0x10], xmm2
jmp case.default.0x1002a240
vxorps xmm0, xmm0, xmm0
vaddss xmm1, xmm7, xmm0
vmovaps xmm3, xmm5
vsubss xmm0, xmm2, xmm5
vmovss xmm2, dword [esp + 0x10]
vaddss xmm2, xmm5, xmm2
vmovss dword [esp + 0x10], xmm2
jmp case.default.0x1002a240
vxorps xmm0, xmm0, xmm0
vaddss xmm1, xmm3, xmm0
vmovaps xmm4, xmm5
vsubss xmm0, xmm2, xmm5
vmovss xmm2, dword [esp + 0x10]
vaddss xmm2, xmm5, xmm2
vmovss dword [esp + 0x10], xmm2
vmovaps xmm7, xmm3
mov ecx, dword [edx + 0x240]
vmovss dword [esp + 0x60], xmm5
vmulss xmm2, xmm5, dword [eax + 4]
vmovss dword [esp + 0x80], xmm2
vmulss xmm6, xmm5, dword [eax]
vmovss dword [esp + 0x70], xmm6
vmovss xmm2, dword [esi + edi + 0x10129314]
vmovss dword [esp + 0xa0], xmm2
vmovaps xmm4, xmm7
vmovss dword [esp + 0xe0], xmm7
vsubss xmm3, xmm1, xmm7
vmovss dword [esp + 0xd0], xmm3
vmovss xmm1, dword [esp + 0x10]
vsubss xmm7, xmm0, xmm1
vmovss dword [esp + 0x50], xmm7
vmovss xmm0, dword [esi + edi + 0x10129304]
vfmadd213ss xmm0, xmm7, xmm1
vmovss xmm7, dword [0x10129738]
vaddss xmm0, xmm0, xmm7
vaddss xmm0, xmm6, xmm0
vmovss dword [esp + 0x260], xmm0
vmovss xmm0, dword [esi + edi + 0x10129308]
vfmadd213ss xmm0, xmm3, xmm4
vaddss xmm0, xmm0, xmm7
vaddss xmm0, xmm0, dword [esp + 0x80]
vmovss dword [esp + 0x264], xmm0
vaddss xmm0, xmm2, dword [0x10129970]
sub esp, 0x14
vmovss dword [esp + 0xc], xmm2
vmovss dword [esp + 8], xmm0
vmovss dword [esp + 4], xmm5
lea ebx, [esp + 0x274]
mov dword [esp], ebx
mov dword [esp + 0x10], 0
call fcn.10037360
vmovss xmm0, dword [esp + 0xd0]
vmovss xmm3, dword [esp + 0xe0]
vfmadd231ss xmm3, xmm0, dword [esi + edi + 0x10129310]
vmovss xmm0, dword [esp + 0x50]
vmovss xmm2, dword [esp + 0x10]
vfmadd231ss xmm2, xmm0, dword [esi + edi + 0x1012930c]
vmovss xmm1, dword [0x10129738]
vaddss xmm0, xmm3, xmm1
vaddss xmm0, xmm0, dword [esp + 0x80]
vaddss xmm1, xmm2, xmm1
vaddss xmm1, xmm1, dword [esp + 0x70]
mov eax, dword [esp]
mov ecx, dword [eax + 0x240]
vmovss dword [esp + 0x260], xmm1
vmovss dword [esp + 0x264], xmm0
vmovss xmm1, dword [esp + 0xa0]
vaddss xmm0, xmm1, dword [0x10129974]
sub esp, 0x14
vmovss dword [esp + 0xc], xmm0
vmovss dword [esp + 8], xmm1
vmovss xmm0, dword [esp + 0x74]
vmovss dword [esp + 4], xmm0
mov dword [esp], ebx
mov dword [esp + 0x10], 0
call fcn.10037360
mov eax, dword [0x1017f770]
vmovss xmm0, dword [eax + 0x17b0]
vmovss xmm1, dword [0x10129710]
vminss xmm2, xmm1, xmm0
vxorps xmm3, xmm3, xmm3
vcmpltss xmm0, xmm0, xmm3
vandnps xmm0, xmm0, xmm2
vmovss xmm2, dword [eax + 0x17b4]
vminss xmm1, xmm1, xmm2
vcmpltss xmm2, xmm2, xmm3
vandnps xmm1, xmm2, xmm1
vmovss xmm2, dword [0x1012973c]
vmovss xmm3, dword [0x10129738]
vfmadd213ss xmm0, xmm2, xmm3
vfmadd213ss xmm1, xmm2, xmm3
vmovss xmm2, dword [eax + 0x17bc]
vmulss xmm2, xmm2, dword [eax + 0x1518]
vcvttss2si edx, xmm0
vcvttss2si ecx, xmm1
vmovss xmm0, dword [eax + 0x17b8]
vinsertps xmm0, xmm0, xmm2, 0x10
vxorps xmm1, xmm1, xmm1
vbroadcastss xmm2, dword [0x10129710]
vminps xmm2, xmm2, xmm0
vcmpnltps xmm0, xmm0, xmm1
vandps xmm0, xmm0, xmm2
vbroadcastss xmm1, dword [0x1012973c]
vfmadd213ps xmm1, xmm0, xmmword [esp + 0xc0]
mov eax, dword [esp]
mov edi, dword [eax + 0x240]
shl ecx, 8
or ecx, edx
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x10129770]
vmovd eax, xmm0
vpextrd edx, xmm0, 1
vmovss xmm0, dword [0x1012984c]
vmaxss xmm0, xmm0, dword [esp + 0x30]
or eax, ecx
or edx, eax
mov eax, dword [edi + 0x54]
mov ecx, dword [edi + 0x5c]
sub esp, 0x14
vmovss dword [esp + 0x10], xmm0
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov ecx, edi
call fcn.10035d30
mov edx, dword [esp]
mov dword [edi + 0x54], 0
mov edi, dword [esp + 0xf0]
vmovss xmm0, dword [edi + 0x1560]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
mov ebx, dword [esp + 4]
jbe 0x1002a712
test byte [edx + 8], 1
jne 0x1002a712
vmovss xmm1, dword [edx + 0x10]
mov eax, dword [0x1017f770]
vmovss xmm2, dword [eax + 0x1938]
vmulss xmm3, xmm2, dword [edx + 0x238]
mov ecx, dword [edx + 0x2d4]
test ecx, ecx
je 0x1002a5b9
vmulss xmm3, xmm3, dword [ecx + 0x238]
vmovss xmm2, dword [eax + 0x1558]
vfmadd132ss xmm2, xmm3, dword [0x1012984c]
vmovss xmm3, dword [eax + 0x1630]
vmovss xmm4, dword [0x10129710]
vminss xmm5, xmm4, xmm3
vxorps xmm6, xmm6, xmm6
vcmpltss xmm3, xmm3, xmm6
vandnps xmm3, xmm3, xmm5
vmovss xmm5, dword [eax + 0x1634]
vminss xmm4, xmm4, xmm5
vcmpltss xmm5, xmm5, xmm6
vmovss xmm6, dword [0x10129738]
vandnps xmm4, xmm5, xmm4
vmovss xmm5, dword [0x1012973c]
vfmadd213ss xmm3, xmm5, xmm6
vfmadd213ss xmm4, xmm5, xmm6
vcvttss2si edx, xmm3
vmovss xmm3, dword [eax + 0x163c]
vmulss xmm3, xmm3, dword [eax + 0x1518]
vcvttss2si esi, xmm4
vaddss xmm1, xmm1, xmm2
vmovss xmm2, dword [eax + 0x1638]
vinsertps xmm2, xmm2, xmm3, 0x10
vxorps xmm3, xmm3, xmm3
vbroadcastss xmm4, dword [0x10129710]
vminps xmm4, xmm4, xmm2
vcmpnltps xmm2, xmm2, xmm3
mov eax, dword [esp]
mov ecx, dword [eax + 0x240]
mov dword [esp + 0x10], ecx
vandps xmm2, xmm2, xmm4
vbroadcastss xmm3, dword [0x1012973c]
vfmadd213ps xmm3, xmm2, xmmword [esp + 0xc0]
vcvttps2dq xmm2, xmm3
vpsllvd xmm2, xmm2, xmmword [0x10129770]
vpextrd ecx, xmm2, 1
vmovd edi, xmm2
vmovss xmm2, dword [eax + 0xc]
vaddss xmm3, xmm2, dword [eax + 0x14]
vmovss xmm4, dword [esp + 0x30]
vsubss xmm3, xmm3, xmm4
vmovss dword [esp + 0x260], xmm3
vaddss xmm2, xmm4, xmm2
vmovss dword [esp + 0x250], xmm2
vaddss xmm1, xmm1, dword [0x101296d4]
vmovss dword [esp + 0x264], xmm1
vmovss dword [esp + 0x254], xmm1
shl esi, 8
or esi, edx
or edi, esi
or ecx, edi
sub esp, 0x10
vmovss dword [esp + 0xc], xmm0
lea edx, [esp + 0x270]
mov dword [esp + 4], edx
lea edx, [esp + 0x260]
mov dword [esp], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
call fcn.10037df0
jmp 0x100295a6
cmp byte [esp + 0x120], 0
je 0x1002a728
lea eax, [edx + 0x244]
mov dword [edx + 0x240], eax
cmp dword [ebx + 0x1e5c], edx
jne 0x1002a909
vmovss xmm0, dword [ebx + 0x1528]
vmovss xmm1, dword [edx + 0x44]
vcmpless xmm2, xmm0, xmm1
vblendvps xmm0, xmm0, xmm1, xmm2
lea eax, [esp + 0x268]
vbroadcastss xmm3, dword [ebx + 0x1934]
vmovsd xmm2, qword [edx + 0xc]
vmovsd xmm4, qword [edx + 0x14]
vaddps xmm5, xmm2, xmm4
vsubps xmm4, xmm2, xmm3
vaddps xmm2, xmm5, xmm3
vmovlhps xmm5, xmm4, xmm2
vmovups xmmword [esp + 0x260], xmm5
vmovss xmm5, dword [esp + 0x1fc]
vucomiss xmm5, xmm4
jb 0x1002a7fd
vmovss xmm6, dword [esp + 0x200]
vmovshdup xmm5, xmm4
vucomiss xmm6, xmm5
jb 0x1002a7fd
vmovsd xmm6, qword [esp + 0x204]
vcmpleps xmm6, xmm6, xmm2
vpmovsxdq xmm6, xmm6
vmovmskpd ecx, xmm6
test cl, 1
je 0x1002a7fd
shr cl, 1
je 0x1002a7fd
vmovss xmm0, dword [0x101296d4]
vsubss xmm0, xmm0, xmm3
vsubss xmm3, xmm4, xmm0
vmovss dword [esp + 0x260], xmm3
vsubss xmm3, xmm5, xmm0
vmovss dword [esp + 0x264], xmm3
vbroadcastss xmm0, xmm0
vaddps xmm0, xmm2, xmm0
vmovlps qword [esp + 0x268], xmm0
vmovaps xmm0, xmm1
mov ecx, dword [0x1017f770]
vmovss xmm1, dword [ecx + 0x1900]
vmovss xmm2, dword [0x10129710]
vminss xmm3, xmm2, xmm1
vxorps xmm4, xmm4, xmm4
vcmpltss xmm1, xmm1, xmm4
vandnps xmm1, xmm1, xmm3
vmovss xmm3, dword [0x10129738]
vmovss xmm5, dword [0x1012973c]
vfmadd213ss xmm1, xmm5, xmm3
vcvttss2si esi, xmm1
vmovss xmm1, dword [ecx + 0x1904]
vminss xmm2, xmm2, xmm1
vcmpltss xmm1, xmm1, xmm4
vandnps xmm1, xmm1, xmm2
vfmadd213ss xmm1, xmm5, xmm3
vcvttss2si edx, xmm1
shl edx, 8
or edx, esi
vmovss xmm1, dword [ebx + 0x1e68]
vmulss xmm1, xmm1, dword [ecx + 0x1518]
vmulss xmm1, xmm1, dword [ecx + 0x190c]
vmovss xmm2, dword [ecx + 0x1908]
vinsertps xmm1, xmm2, xmm1, 0x10
vxorps xmm2, xmm2, xmm2
vbroadcastss xmm3, dword [0x10129710]
vminps xmm3, xmm3, xmm1
vcmpnltps xmm1, xmm1, xmm2
vandps xmm1, xmm1, xmm3
vbroadcastss xmm2, dword [0x1012973c]
vfmadd213ps xmm2, xmm1, xmmword [esp + 0xc0]
vcvttps2dq xmm1, xmm2
vpsllvd xmm1, xmm1, xmmword [0x10129770]
vmovd ecx, xmm1
or ecx, edx
vpextrd edx, xmm1, 1
or edx, ecx
mov esi, dword [esp]
mov ecx, dword [esi + 0x240]
sub esp, 0x18
vmovss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x278]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x14], 0x40400000
mov dword [esp + 0x10], 0
call fcn.10037f80
mov edx, esi
vmovss xmm0, dword [edx + 0x34]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
vmovaps xmm3, xmm0
jne 0x1002a95f
jp 0x1002a95f
mov eax, dword [esp + 8]
vmovss xmm2, dword [edx + 0x3c]
vmovss xmm3, dword [0x101298a0]
vfmadd213ss xmm3, xmm2, dword [edx + 0x14]
and eax, 0x808
vsubss xmm2, xmm3, dword [edx + 0x80]
cmp eax, 0x800
jne 0x1002a954
mov eax, dword [esp + 0x14c]
vmovss xmm1, dword [eax]
vcmpless xmm3, xmm2, xmm1
vblendvps xmm3, xmm2, xmm1, xmm3
vmovss xmm4, dword [edx + 0x38]
vxorps xmm1, xmm1, xmm1
vucomiss xmm4, xmm1
vmovss dword [esp + 0x30], xmm4
jne 0x1002a976
jnp 0x1002a981
vmovss xmm2, dword [edx + 0x40]
vmovaps xmm1, xmm4
jmp 0x1002a9bc
vmovss xmm2, dword [edx + 0x40]
vmovss xmm4, dword [0x101298a0]
vfmadd213ss xmm4, xmm2, dword [edx + 0x18]
vsubss xmm4, xmm4, dword [esp + 0x9c]
vsubss xmm4, xmm4, dword [edx + 0x84]
test byte [esp + 8], 8
jne 0x1002a9b1
vmovss xmm1, dword [edx + 0x28]
vcmpless xmm5, xmm4, xmm1
vblendvps xmm1, xmm4, xmm1, xmm5
vxorps xmm4, xmm4, xmm4
vucomiss xmm0, xmm4
vinsertps xmm1, xmm3, xmm1, 0x10
vmovss xmm3, dword [edx + 0x3c]
vmovsd xmm5, qword [edx + 0x1ac]
vmovsd xmm4, qword [edx + 0x58]
vsubps xmm5, xmm5, xmm4
vinsertps xmm6, xmm3, xmm2, 0x10
vbroadcastss xmm7, dword [edx + 0x48]
vmovss dword [esp + 0x10], xmm0
vcmpleps xmm0, xmm7, xmm6
vblendvps xmm0, xmm7, xmm6, xmm0
vaddps xmm0, xmm5, xmm0
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vaddps xmm1, xmm1, xmm0
vmovlhps xmm0, xmm0, xmm1
vmovups xmmword [edx + 0x1cc], xmm0
vmovups xmm0, xmmword [edx + 0x1cc]
vmovups xmmword [edx + 0x1dc], xmm0
vmovss xmm0, dword [edx + 0xc]
vmovss xmm5, dword [edx + 0x10]
vmovss dword [esp + 0x80], xmm0
vsubss xmm0, xmm0, xmm4
vaddss xmm1, xmm3, xmm0
vmovss dword [edx + 0x1fc], xmm1
vmovshdup xmm0, xmm4
vmovss dword [esp + 0x60], xmm5
vmovaps xmmword [esp + 0xf0], xmm0
vsubss xmm0, xmm5, xmm0
vmovaps xmm6, xmm2
vaddss xmm0, xmm2, xmm0
vaddss xmm5, xmm0, dword [esp + 0x9c]
vmovss xmm2, dword [esp + 0x10]
vmovss dword [edx + 0x200], xmm5
jne 0x1002aa9c
jp 0x1002aa9c
vmovss xmm0, dword [0x101298a0]
vfmadd213ss xmm0, xmm3, dword [edx + 0x14]
vsubss xmm2, xmm0, dword [edx + 0x80]
vmovss xmm7, dword [esp + 0x30]
vucomiss xmm7, dword [0x10129730]
vaddss xmm0, xmm1, xmm2
vmovss dword [edx + 0x204], xmm0
jne 0x1002aad9
jp 0x1002aad9
vmovss xmm0, dword [0x101298a0]
vfmadd213ss xmm0, xmm6, dword [edx + 0x18]
vsubss xmm0, xmm0, dword [esp + 0x9c]
vsubss xmm7, xmm0, dword [edx + 0x84]
vaddss xmm0, xmm5, xmm7
vmovss dword [edx + 0x208], xmm0
vxorps xmm0, xmm0, xmm0
vaddss xmm1, xmm3, xmm0
vsubss xmm1, xmm1, xmm4
vaddss xmm2, xmm6, dword [esp + 0x9c]
vsubss xmm2, xmm2, dword [esp + 0xf0]
vaddss xmm2, xmm2, dword [esp + 0x60]
vmovss dword [edx + 0x110], xmm1
vaddss xmm1, xmm1, xmm0
vaddss xmm1, xmm1, dword [esp + 0x80]
vxorps xmm3, xmm3, xmm3
vmovlps qword [edx + 0x114], xmm3
vxorps xmm3, xmm3, xmm3
vmovss dword [edx + 0xe0], xmm1
vmovss dword [edx + 0xe4], xmm2
vmovss dword [edx + 0xd0], xmm1
vmovss dword [edx + 0xd4], xmm2
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [edx + 0xdc], ecx
mov dword [edx + 0xd8], eax
vmovd xmm1, dword [edx + 0xe0]
vpinsrd xmm1, xmm1, dword [edx + 0xe4], 1
vpbroadcastq xmm1, xmm1
vmovdqu xmmword [edx + 0xe8], xmm1
mov dword [edx + 0x11c], 0
vmovups xmmword [edx + 0xf8], xmm3
mov dword [edx + 0x10c], 0
mov dword [edx + 0x108], 0
movzx eax, word [edx + 0x122]
mov word [edx + 0x120], ax
mov word [edx + 0x122], 0
mov byte [edx + 0x128], 0
vmovss xmm1, dword [edx + 0x64]
vucomiss xmm1, xmm0
seta byte [edx + 0x129]
mov byte [edx + 0x12a], 0
lea ecx, [edx + 0x134]
vmovss xmm0, dword [ebx + 0x1564]
sub esp, 8
movzx eax, byte [esp + 0xc0]
mov dword [esp + 4], eax
vmovss dword [esp], xmm0
call fcn.1005a720
mov edx, dword [esp]
vxorps xmm0, xmm0, xmm0
vmovlps qword [edx + 0x150], xmm0
cmp dword [edx + 0x15c], 0
jns 0x1002aca5
mov eax, dword [0x1017f770]
test eax, eax
je 0x1002ac32
inc dword [eax + 0x36c]
push dword [0x1017f778]
push 0
call dword [0x10175014]
add esp, 8
mov edi, eax
mov edx, dword [esp]
mov eax, dword [edx + 0x160]
test eax, eax
je 0x1002ac95
mov ecx, dword [edx + 0x158]
shl ecx, 2
push ecx
push eax
push edi
mov esi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x160]
test eax, eax
je 0x1002ac82
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002ac82
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov edx, dword [esp]
mov dword [edx + 0x160], edi
mov dword [edx + 0x15c], 0
mov dword [edx + 0x158], 0
lea eax, [edx + 0x220]
mov dword [edx + 0x164], eax
mov dword [edx + 0x168], 0
mov dword [edx + 0x170], 1
mov eax, dword [esp + 0xc]
test eax, eax
je 0x1002acdf
mov eax, dword [eax + 0x170]
jmp 0x1002ace4
mov eax, 1
mov dword [edx + 0x174], eax
mov dword [edx + 0x178], 0xffffffff
vmovss xmm0, dword [edx + 0x21c]
vmovss dword [edx + 0x17c], xmm0
mov dword [edx + 0x180], 0xbf800000
cmp dword [edx + 0x188], 0
jns 0x1002ad9d
mov eax, dword [0x1017f770]
test eax, eax
je 0x1002ad2a
inc dword [eax + 0x36c]
push dword [0x1017f778]
push 0
call dword [0x10175014]
add esp, 8
mov edi, eax
mov edx, dword [esp]
mov eax, dword [edx + 0x18c]
test eax, eax
je 0x1002ad8d
mov ecx, dword [edx + 0x184]
shl ecx, 2
push ecx
push eax
push edi
mov esi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x18c]
test eax, eax
je 0x1002ad7a
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002ad7a
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov edx, dword [esp]
mov dword [edx + 0x18c], edi
mov dword [edx + 0x188], 0
mov dword [edx + 0x184], 0
cmp dword [edx + 0x194], 0
jns 0x1002ae36
mov eax, dword [0x1017f770]
test eax, eax
je 0x1002adc3
inc dword [eax + 0x36c]
push dword [0x1017f778]
push 0
call dword [0x10175014]
add esp, 8
mov edi, eax
mov edx, dword [esp]
mov eax, dword [edx + 0x198]
test eax, eax
je 0x1002ae26
mov ecx, dword [edx + 0x190]
shl ecx, 2
push ecx
push eax
push edi
mov esi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x198]
test eax, eax
je 0x1002ae13
mov ecx, dword [0x1017f770]
test ecx, ecx
je 0x1002ae13
dec dword [ecx + 0x36c]
push dword [0x1017f778]
push eax
call dword [0x10175018]
add esp, 8
mov edx, dword [esp]
mov dword [edx + 0x198], edi
mov dword [edx + 0x194], 0
mov dword [edx + 0x190], 0
movzx eax, byte [edx + 0xa4]
test al, al
jle 0x1002ae53
dec al
mov byte [edx + 0xa4], al
movzx eax, byte [edx + 0xa5]
test al, al
jle 0x1002ae66
dec al
mov byte [edx + 0xa5], al
test byte [esp + 0x10c], 1
je 0x1002aedb
push edx
call fcn.10021730
mov edx, dword [esp + 4]
add esp, 4
mov eax, dword [0x1017f770]
mov ecx, dword [edx + 8]
test ecx, 0x40000
jne 0x1002aecf
cmp dword [edx + 0x2d8], edx
je 0x1002b01a
and ecx, 0x4000000
jne 0x1002b01a
mov ecx, dword [edx + 0x2ec]
test ecx, ecx
je 0x1002b01a
mov dword [eax + 0x1d44], ecx
mov dword [eax + 0x1d48], 0
test byte [esp + 8], 1
je 0x1002aee6
jmp 0x1002b784
vxorps xmm0, xmm0, xmm0
vmovlps qword [eax + 0x1d44], xmm0
test byte [esp + 8], 1
jne 0x1002b784
vmovss xmm0, dword [esp + 0x1e4]
vmovss xmm1, dword [edx + 0x48]
mov ecx, dword [0x1017f770]
mov eax, dword [edx + 8]
mov dword [esp + 0xf0], eax
test al, 0x20
jne 0x1002af14
cmp dword [ecx + 0x1540], 0xffffffff
setne al
jmp 0x1002af16
xor eax, eax
vmovss xmm2, dword [esp + 0x1e8]
vmovss dword [esp + 0x70], xmm2
vmovss xmm6, dword [esp + 0x1e0]
vsubss xmm7, xmm0, xmm1
vaddss xmm2, xmm1, dword [esp + 0x1dc]
mov esi, dword [ecx + 0x1c20]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xe0], esi
mov ecx, esi
or ecx, 0x10
mov esi, dword [esp + 0x10]
mov dword [esi + 0x1c20], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx + 0x11c], 1
vmovss xmm4, dword [ecx + 0x1554]
vmovss xmm1, dword [ecx + 0x1934]
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0x288], xmm0
vmovlps qword [esp + 0x280], xmm0
vmovaps xmm3, xmm4
cmp dword [ebp + 0xc], 0
je 0x1002afb7
vaddss xmm3, xmm4, xmm1
vsubss xmm0, xmm7, xmm3
vsubss xmm0, xmm0, xmm4
vmovss dword [esp + 0x288], xmm0
vmovss dword [esp + 0x28c], xmm6
test al, al
vmovss dword [esp + 0x80], xmm6
vmovss dword [esp + 0x50], xmm7
vmovss dword [esp + 0xd0], xmm2
vmovss dword [esp + 0xa0], xmm1
je 0x1002b1ad
mov eax, dword [ecx + 0x1540]
test eax, eax
je 0x1002b09a
cmp eax, 1
jne 0x1002b0b8
vaddss xmm3, xmm1, xmm3
vsubss xmm0, xmm7, xmm3
vsubss xmm0, xmm0, xmm4
vmovss dword [esp + 0x280], xmm0
vmovss dword [esp + 0x284], xmm6
jmp 0x1002b0b8
mov ecx, dword [eax + 0x1d40]
mov edx, dword [eax + 0x1d7c]
vxorps xmm0, xmm0, xmm0
vmovlps qword [eax + 0x1d44], xmm0
mov dword [ecx + edx*4 + 0x2ec], 0
mov ecx, dword [eax + 0x1d40]
shl edx, 4
vmovups xmmword [ecx + edx + 0x2f4], xmm0
mov word [eax + 0x1d89], 1
vmovups xmmword [eax + 0x1d8c], xmm0
mov dword [eax + 0x1d9c], 0
mov eax, dword [0x1017f770]
mov cl, 1
cmp byte [eax + 0x1da1], 0
jne 0x1002b081
movzx ecx, byte [eax + 0x1d89]
mov byte [eax + 0x1d88], cl
mov edx, dword [esp]
test byte [esp + 8], 1
je 0x1002aee6
jmp 0x1002b784
vaddss xmm0, xmm2, xmm4
vsubss xmm0, xmm0, xmm4
vmovss dword [esp + 0x280], xmm0
vmovss dword [esp + 0x284], xmm6
vaddss xmm4, xmm4, xmm1
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xcc]
mov eax, dword [ecx + eax*4 - 4]
not eax
mov dl, 0x23
mov ecx, 0x1016f4a6
mov ebx, eax
jmp 0x1002b0f9
movzx esi, dl
movzx edi, bl
shr ebx, 8
xor edi, esi
xor ebx, dword [edi*4 + 0x10128e2c]
inc ecx
mov dl, dh
test dh, dh
je 0x1002b110
mov dh, byte [ecx - 1]
cmp dl, 0x23
jne 0x1002b0e0
cmp dh, 0x23
jne 0x1002b0e0
cmp byte [ecx], 0x23
cmove ebx, eax
mov dh, 0x23
jmp 0x1002b0e0
not ebx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x1bd0], ebx
jne 0x1002b124
mov dword [eax + 0x1bd4], ebx
cmp dword [eax + 0x1c0c], ebx
jne 0x1002b133
mov byte [eax + 0x1c10], 1
vmovaps xmmword [esp + 0x60], xmm3
vmovaps xmmword [esp + 0x30], xmm4
cmp dword [eax + 0x1bb8], ebx
jne 0x1002b159
push 0
push str.COLLAPSE
push 0xb
push ebx
call fcn.1001fa20
add esp, 0x10
lea eax, [esp + 0x280]
push eax
push ebx
call fcn.10045650
add esp, 8
test al, al
je 0x1002b17e
mov edx, dword [esp]
mov byte [edx + 0x8e], 1
mov ebx, dword [esp + 4]
jmp 0x1002b185
mov ebx, dword [esp + 4]
mov edx, dword [esp]
mov ecx, dword [esp + 0x10]
vmovss xmm6, dword [esp + 0x80]
vmovss xmm7, dword [esp + 0x50]
vmovaps xmm4, xmmword [esp + 0x30]
vmovaps xmm3, xmmword [esp + 0x60]
vmovss xmm1, dword [esp + 0xa0]
cmp dword [ebp + 0xc], 0
vmovaps xmmword [esp + 0x30], xmm4
vmovaps xmmword [esp + 0x60], xmm3
je 0x1002b299
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xcc]
mov eax, dword [ecx + eax*4 - 4]
not eax
mov dl, 0x23
mov ecx, 0x1016f4b0
mov ebx, eax
jmp 0x1002b1f9
movzx esi, dl
movzx edi, bl
shr ebx, 8
xor edi, esi
xor ebx, dword [edi*4 + 0x10128e2c]
inc ecx
mov dl, dh
test dh, dh
je 0x1002b210
mov dh, byte [ecx - 1]
cmp dl, 0x23
jne 0x1002b1e0
cmp dh, 0x23
jne 0x1002b1e0
cmp byte [ecx], 0x23
cmove ebx, eax
mov dh, 0x23
jmp 0x1002b1e0
not ebx
mov eax, dword [0x1017f770]
cmp dword [eax + 0x1bd0], ebx
jne 0x1002b30a
mov dword [eax + 0x1bd4], ebx
cmp dword [eax + 0x1c0c], ebx
je 0x1002b316
cmp dword [eax + 0x1bb8], ebx
jne 0x1002b24f
push 0
push str.CLOSE
push 0xb
push ebx
call fcn.1001fa20
add esp, 0x10
lea eax, [esp + 0x288]
push eax
push ebx
call fcn.100453d0
add esp, 8
test al, al
mov ebx, dword [esp + 4]
mov edx, dword [esp]
mov ecx, dword [esp + 0x10]
vmovss xmm6, dword [esp + 0x80]
vmovss xmm7, dword [esp + 0x50]
vmovaps xmm4, xmmword [esp + 0x30]
vmovaps xmm3, xmmword [esp + 0x60]
vmovss xmm1, dword [esp + 0xa0]
je 0x1002b299
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov dword [edx + 0x11c], 0
mov eax, dword [esp + 0xe0]
mov dword [ecx + 0x1c20], eax
vxorps xmm5, xmm5, xmm5
test dword [esp + 0xf0], 0x100000
je 0x1002b2c9
vmulss xmm5, xmm1, dword [0x10129884]
mov eax, dword [0x1017f770]
mov edx, dword [ebp + 8]
cmp edx, 0xffffffff
vmovss dword [esp + 0xa0], xmm5
je 0x1002b32e
mov esi, edx
jmp 0x1002b2fc
cmp byte [edx + 1], 0x23
je 0x1002b341
inc edx
cmp edx, 0xffffffff
je 0x1002b33c
movzx ecx, byte [edx]
cmp ecx, 0x23
je 0x1002b2f0
test ecx, ecx
jne 0x1002b2f6
jmp 0x1002b341
cmp dword [eax + 0x1c0c], ebx
jne 0x1002b235
mov byte [eax + 0x1c10], 1
cmp dword [eax + 0x1bb8], ebx
je 0x1002b23d
jmp 0x1002b24f
add eax, 0x1934
vxorps xmm0, xmm0, xmm0
jmp 0x1002b3d9
mov edx, 0xffffffff
vmovss xmm1, dword [eax + 0x1934]
cmp edx, esi
je 0x1002b3df
mov ecx, dword [eax + 0x1930]
sub esp, 0x1c
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
vmovss dword [esp + 4], xmm1
lea eax, [esp + 0x27c]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
call fcn.1003df00
vmovss xmm5, dword [esp + 0xa0]
vmovaps xmm3, xmmword [esp + 0x60]
vmovss xmm7, dword [esp + 0x50]
vmovss xmm6, dword [esp + 0x80]
vmovss xmm0, dword [esp + 0x260]
vaddss xmm0, xmm0, dword [0x10129798]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
lea eax, [esp + 0x264]
mov edx, esi
mov ecx, dword [esp + 0x10]
vmovaps xmm4, xmmword [esp + 0x30]
vmovss xmm1, dword [eax]
jmp 0x1002b3ef
vxorps xmm0, xmm0, xmm0
mov edx, esi
mov ecx, dword [esp + 0x10]
vmovaps xmm4, xmmword [esp + 0x30]
vxorps xmm2, xmm2, xmm2
vaddss xmm1, xmm1, xmm2
vaddss xmm0, xmm5, xmm0
vmovss dword [esp + 0x50], xmm0
vmovss dword [esp + 0x278], xmm0
vmovss dword [esp + 0x27c], xmm1
vmovss xmm1, dword [ecx + 0x1554]
vucomiss xmm4, xmm1
jbe 0x1002b429
vaddss xmm4, xmm4, dword [ecx + 0x156c]
vucomiss xmm3, xmm1
jbe 0x1002b437
vaddss xmm3, xmm3, dword [ecx + 0x156c]
vmovss xmm1, dword [ecx + 0x1538]
vxorps xmm2, xmm2, xmm2
vucomiss xmm1, xmm2
jbe 0x1002b4e9
vmovss xmm2, dword [0x10129710]
vucomiss xmm2, xmm1
jbe 0x1002b4e9
vmovaps xmm5, xmm3
vaddss xmm3, xmm1, dword [0x10129978]
vmovaps xmm6, xmm4
vbroadcastss xmm4, dword [0x1012978c]
vandps xmm3, xmm3, xmm4
vfmadd132ss xmm3, xmm2, dword [0x101298a0]
vminss xmm2, xmm2, xmm3
vxorps xmm4, xmm4, xmm4
vcmpltss xmm3, xmm3, xmm4
vandnps xmm2, xmm3, xmm2
vmovss xmm0, dword [esp + 0xd0]
vsubss xmm3, xmm7, xmm0
vsubss xmm3, xmm3, xmm6
vsubss xmm3, xmm3, xmm5
vsubss xmm3, xmm3, dword [esp + 0x50]
vcmpless xmm4, xmm5, xmm6
vblendvps xmm4, xmm5, xmm6, xmm4
vminss xmm3, xmm4, xmm3
vmovaps xmm4, xmm6
vmovss xmm6, dword [esp + 0x80]
vmulss xmm2, xmm3, xmm2
vcmpless xmm3, xmm2, xmm4
vblendvps xmm4, xmm2, xmm4, xmm3
vcmpless xmm3, xmm2, xmm5
vblendvps xmm3, xmm2, xmm5, xmm3
jmp 0x1002b4f2
vmovss xmm0, dword [esp + 0xd0]
vsubss xmm3, xmm7, xmm3
vaddss xmm2, xmm0, xmm4
vmovss dword [esp + 0x260], xmm2
vmovss dword [esp + 0x264], xmm6
vmovss dword [esp + 0x268], xmm3
vmovss xmm5, dword [esp + 0x70]
vmovss dword [esp + 0x26c], xmm5
vaddss xmm4, xmm3, dword [ecx + 0x156c]
vminss xmm7, xmm4, xmm7
vmovss dword [esp + 0x250], xmm2
vmovss dword [esp + 0x254], xmm6
vmovss dword [esp + 0x258], xmm7
vmovss dword [esp + 0x25c], xmm5
test dword [esp + 0xf0], 0x100000
je 0x1002b6e8
vsubss xmm4, xmm3, xmm2
vmovss xmm0, dword [esp + 0x50]
vsubss xmm4, xmm4, xmm0
vfmadd213ss xmm1, xmm4, xmm2
vaddss xmm0, xmm0, xmm1
vminss xmm1, xmm3, xmm0
vcmpltss xmm0, xmm0, xmm2
vblendvps xmm0, xmm1, xmm2, xmm0
vucomiss xmm0, xmm2
jbe 0x1002b6e8
mov eax, dword [0x1017f770]
vmovaps xmmword [esp + 0x30], xmm0
vmovss xmm0, dword [eax + 0x15e0]
vmovss xmm1, dword [eax + 0x15ec]
vmulss xmm1, xmm1, dword [eax + 0x1518]
vmovss xmm2, dword [eax + 0x15e8]
vinsertps xmm1, xmm2, xmm1, 0x10
vxorps xmm2, xmm2, xmm2
vbroadcastss xmm3, dword [0x10129710]
vminps xmm3, xmm3, xmm1
vcmpnltps xmm1, xmm1, xmm2
vmovss xmm2, dword [0x10129710]
vandps xmm1, xmm1, xmm3
vbroadcastss xmm3, dword [0x1012973c]
vfmadd213ps xmm3, xmm1, xmmword [esp + 0xc0]
vminss xmm1, xmm2, xmm0
vxorps xmm4, xmm4, xmm4
vcmpltss xmm0, xmm0, xmm4
vandnps xmm0, xmm0, xmm1
vmovss xmm1, dword [0x1012973c]
vfmadd213ss xmm0, xmm1, dword [0x10129738]
vcvttss2si ecx, xmm0
vaddss xmm0, xmm6, dword [esp + 0x70]
vmovss xmm5, dword [eax + 0x15e4]
vminss xmm2, xmm2, xmm5
vcmpltss xmm4, xmm5, xmm4
vandnps xmm2, xmm4, xmm2
vmovss xmm4, dword [0x10129738]
vfmadd213ss xmm2, xmm1, xmm4
vcvttss2si eax, xmm2
vcvttps2dq xmm1, xmm3
vpsllvd xmm1, xmm1, xmmword [0x10129770]
mov edi, edx
vmovd edx, xmm1
vpextrd esi, xmm1, 1
shl eax, 8
or eax, ecx
vmulss xmm0, xmm0, xmm4
or edx, eax
or esi, edx
mov eax, dword [esp]
mov eax, dword [eax + 0x240]
sub esp, 0x10
vmovss dword [esp + 8], xmm0
vmovaps xmm0, xmmword [esp + 0x40]
vmovss dword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0xc], esi
vmovss dword [esp + 0x90], xmm7
call fcn.1003e300
mov ecx, dword [esp + 0x20]
mov edx, edi
add esp, 0x10
vmovss xmm0, dword [0x10129738]
vmulss xmm0, xmm0, dword [esp + 0xa0]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovaps xmm1, xmmword [esp + 0x30]
vsubss xmm0, xmm1, xmm0
vmovss xmm1, dword [esp + 0x80]
vminss xmm0, xmm1, xmm0
vmovss dword [esp + 0x258], xmm0
cmp edx, 0xffffffff
je 0x1002b781
add ecx, 0x1538
mov eax, ecx
mov esi, edx
jmp 0x1002b70c
cmp byte [esi + 1], 0x23
je 0x1002b71f
inc esi
cmp esi, 0xffffffff
je 0x1002b71a
movzx ecx, byte [esi]
cmp ecx, 0x23
je 0x1002b700
test ecx, ecx
jne 0x1002b706
jmp 0x1002b71f
mov esi, 0xffffffff
cmp esi, edx
je 0x1002b781
mov ebx, dword [0x1017f770]
mov ecx, dword [ebx + 0x1b98]
mov edi, edx
lea edx, [esp + 0x250]
push edx
push eax
lea eax, [esp + 0x280]
push eax
push esi
push edi
lea eax, [esp + 0x27c]
push eax
lea eax, [esp + 0x278]
push eax
push dword [ecx + 0x240]
call fcn.1001e710
add esp, 0x20
cmp byte [ebx + 0x2f64], 0
mov ebx, dword [esp + 4]
je 0x1002b781
push esi
push edi
lea eax, [esp + 0x268]
push eax
call fcn.1001e3b0
add esp, 0xc
mov edx, dword [esp]
mov dword [edx + 0x20c], 0
mov eax, dword [edx + 0x50]
mov dword [ebx + 0x1c38], eax
mov eax, dword [ebx + 0x1c20]
mov dword [ebx + 0x1c3c], eax
mov eax, dword [0x1017f770]
vmovss xmm0, dword [esp + 0x1dc]
vmovss xmm1, dword [eax + 0x157c]
vsubss xmm2, xmm0, xmm1
vmovss xmm0, dword [eax + 0xe4]
vucomiss xmm0, xmm2
mov dword [esp + 0x10], eax
jae 0x1002b7d3
xor eax, eax
jmp 0x1002b81d
vmovss xmm2, dword [esp + 0x1e0]
vmovss xmm3, dword [eax + 0x1580]
vsubss xmm2, xmm2, xmm3
vaddss xmm1, xmm1, dword [esp + 0x1e4]
vaddss xmm3, xmm3, dword [esp + 0x1e8]
vmovss xmm4, dword [eax + 0xe8]
vcmpltps xmm0, xmm0, xmm1
vcmpleps xmm1, xmm2, xmm4
vandps xmm0, xmm1, xmm0
vucomiss xmm3, xmm4
vmovd ecx, xmm0
seta al
and al, cl
movzx eax, al
mov dword [ebx + 0x1c40], eax
vmovups xmm0, xmmword [esp + 0x1dc]
vmovups xmmword [ebx + 0x1c44], xmm0
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x4c], ecx
test ecx, ecx
je 0x1002b856
mov ebx, dword [esi + 0x124]
mov ecx, dword [esp + 0x10]
jmp 0x1002b8f9
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xcc]
mov ecx, dword [ecx + eax*4 - 4]
not ecx
mov al, 0x23
mov edx, 0x1016f4bc
mov ebx, ecx
jmp 0x1002b899
movzx edi, al
movzx esi, bl
shr ebx, 8
xor esi, edi
xor ebx, dword [esi*4 + 0x10128e2c]
inc edx
mov al, ah
test ah, ah
je 0x1002b8af
mov ah, byte [edx - 1]
cmp al, 0x23
jne 0x1002b880
cmp ah, 0x23
jne 0x1002b880
cmp byte [edx], 0x23
cmove ebx, ecx
mov ah, 0x23
jmp 0x1002b880
not ebx
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x1bd0], ebx
jne 0x1002ba4d
mov dword [ecx + 0x1bd4], ebx
cmp dword [ecx + 0x1c0c], ebx
je 0x1002ba59
cmp dword [ecx + 0x1bb8], ebx
jne 0x1002b8f6
push 0
push str.FOCUSSCOPE
push 0xb
push ebx
vzeroupper
call fcn.1001fa20
add esp, 0x10
mov ecx, dword [0x1017f770]
mov edx, dword [esp]
mov dword [edx + 0x124], ebx
mov eax, dword [ecx + 0x1b98]
mov byte [eax + 0x8c], 1
mov esi, dword [ecx + 0x1b98]
mov ecx, dword [esi + 0x240]
vmovups xmm0, xmmword [edx + 0x1bc]
sub esp, 0x14
vmovups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
vzeroupper
call fcn.10035880
mov edx, dword [esp]
mov eax, dword [esi + 0x240]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
vmovups xmm0, xmmword [ecx + eax - 0x10]
vmovups xmmword [esi + 0x1ec], xmm0
inc word [edx + 0x96]
mov byte [edx + 0x8c], 0
mov eax, dword [esp + 4]
mov dword [eax + 0x1c74], 0
mov ecx, dword [esp + 0xbc]
cmp ecx, dword [esp + 0x2c]
jne 0x1002b98d
movzx eax, byte [edx + 0x8f]
jmp 0x1002bad6
cmp dword [esp + 0x4c], 0
mov ecx, dword [esp + 0xc]
je 0x1002ba1f
test byte [esp + 8], 0x40
jne 0x1002b9e9
cmp byte [edx + 0xa4], 0
jg 0x1002b9e9
cmp byte [edx + 0xa5], 0
jg 0x1002b9e9
cmp byte [eax + 0x2f64], 0
jne 0x1002b9e9
vmovss xmm0, dword [edx + 0x19c]
vucomiss xmm0, dword [edx + 0x1a4]
jae 0x1002b9e2
vmovss xmm0, dword [edx + 0x1a0]
vucomiss xmm0, dword [edx + 0x1a8]
jb 0x1002b9e9
mov byte [edx + 0xac], 1
test ecx, ecx
je 0x1002ba1f
cmp byte [ecx + 0x8d], 0
jne 0x1002b9ff
cmp byte [ecx + 0xac], 0
jle 0x1002ba0f
mov byte [edx + 0xac], 1
cmp byte [ecx + 0x8d], 0
jne 0x1002ba18
cmp byte [ecx + 0xad], 0
jle 0x1002ba1f
mov byte [edx + 0xad], 1
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x1518]
jae 0x1002ba71
mov al, 1
cmp byte [edx + 0xac], 0
jg 0x1002ba7a
cmp byte [edx + 0xad], 0
jg 0x1002ba7a
cmp byte [edx + 0xae], 0
setg al
jmp 0x1002ba7a
cmp dword [ecx + 0x1c0c], ebx
jne 0x1002b8d3
mov byte [ecx + 0x1c10], 1
cmp dword [ecx + 0x1bb8], ebx
je 0x1002b8db
jmp 0x1002b8f6
mov byte [edx + 0xac], 1
mov al, 1
mov byte [edx + 0x91], al
movzx ecx, byte [edx + 0xaf]
test cl, cl
jle 0x1002ba9a
dec cl
mov byte [edx + 0xaf], cl
or dword [edx + 8], 0xc0200
cmp byte [edx + 0x8d], 0
je 0x1002bac1
cmp byte [edx + 0xa4], 0
jg 0x1002bace
cmp byte [edx + 0xa5], 0
jg 0x1002bace
cmp byte [edx + 0xad], 0
setle al
jmp 0x1002bad0
cmp byte [edx + 0x8a], 0
je 0x1002baa3
test al, al
jne 0x1002baa3
xor eax, eax
mov byte [edx + 0x8f], al
test al, al
sete bl
mov ecx, dword [esp + 0x2a8]
xor ecx, ebp
call fcn.100d7fe0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
vxorps xmm2, xmm2, xmm2
mov edi, dword [esp]
test al, al
jne 0x10028c7c
jmp 0x10028c28
cmp byte [edi + 0x8b], 0
je 0x10028abb
mov esi, dword [0x1017f770]
movzx eax, byte [esi + 0xb4]
vmovss xmm0, dword [esi + 0x1934]
vmovss xmm1, dword [0x101298e0]
vfmadd213ss xmm1, xmm0, dword [esp + 0x150]
vmulss xmm0, xmm0, dword [0x101298e8]
vcmpless xmm2, xmm1, xmm0
vblendvps xmm0, xmm1, xmm0, xmm2
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmulss xmm0, xmm0, dword [0x101298ec]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovaps xmmword [esp + 0x160], xmm0
vxorps xmm0, xmm0, xmm0
mov byte [esp + 0x1a0], al
test al, al
je 0x1002bb86
vmovss xmm0, dword [0x101297ac]
vmovaps xmmword [esp + 0x10], xmm0
mov dword [edi + 0x11c], 1
push str.RESIZE
call fcn.100309f0
add esp, 4
vbroadcastss xmm0, dword [0x10129734]
vbroadcastss xmm1, dword [esp + 0x160]
vmovaps xmmword [esp + 0x170], xmm1
vxorps xmm0, xmm1, xmm0
vmovaps xmmword [esp + 0x190], xmm0
vbroadcastss xmm0, dword [esp + 0x10]
vmovaps xmmword [esp + 0x1b0], xmm0
vbroadcastss xmm5, dword [0x101296d0]
mov dword [esp + 0x108], 0
mov edi, 0x101292a4
xor ebx, ebx
vmovaps xmm4, xmm5
vmovaps xmmword [esp + 0x180], xmm5
mov dword [esp + 0xa0], esi
jmp 0x1002bcfb
xor eax, eax
test dl, dl
sete al
xor eax, 0x1f
test cl, cl
mov ecx, 0x20
cmovne eax, ecx
mov ecx, dword [0x1017f770]
shl eax, 4
vmovss xmm0, dword [ecx + eax + 0x15e0]
vmovss xmm3, dword [0x10129710]
vminss xmm1, xmm3, xmm0
vxorps xmm2, xmm2, xmm2
vcmpltss xmm0, xmm0, xmm2
vandnps xmm0, xmm0, xmm1
vmovss xmm1, dword [ecx + eax + 0x15e4]
vmovss xmm6, dword [0x10129738]
vmovss xmm7, dword [0x1012973c]
vfmadd213ss xmm0, xmm7, xmm6
vcvttss2si edx, xmm0
vminss xmm0, xmm3, xmm1
vcmpltss xmm1, xmm1, xmm2
vandnps xmm0, xmm1, xmm0
vfmadd213ss xmm0, xmm7, xmm6
vcvttss2si esi, xmm0
vmovss xmm0, dword [ecx + eax + 0x15e8]
vminss xmm1, xmm3, xmm0
vcmpltss xmm0, xmm0, xmm2
vandnps xmm0, xmm0, xmm1
vmovss xmm1, dword [ecx + eax + 0x15ec]
vmulss xmm1, xmm1, dword [ecx + 0x1518]
vfmadd213ss xmm0, xmm7, xmm6
vcvttss2si eax, xmm0
vminss xmm0, xmm3, xmm1
vcmpltss xmm1, xmm1, xmm2
vandnps xmm0, xmm1, xmm0
vfmadd213ss xmm0, xmm7, xmm6
vcvttss2si ecx, xmm0
shl esi, 8
or esi, edx
shl eax, 0x10
or eax, esi
mov esi, dword [esp + 0xa0]
shl ecx, 0x18
or ecx, eax
mov dword [esp + ebx*4 + 0x290], ecx
inc ebx
add edi, 0x18
cmp dword [esp + 0xf0], ebx
je 0x1002c0be
vmovsd xmm2, qword [edi - 8]
mov edx, dword [esp]
vmovsd xmm0, qword [edx + 0xc]
vmovsd xmm1, qword [edx + 0x14]
vaddps xmm1, xmm0, xmm1
vsubps xmm1, xmm1, xmm0
vmovaps xmmword [esp + 0xc0], xmm2
vfmadd213ps xmm1, xmm2, xmm0
vmovddup xmm0, xmm1
vmovsd xmm2, qword [edi]
vmulps xmm1, xmm2, xmmword [esp + 0x170]
vmovaps xmmword [esp + 0x110], xmm2
vmulps xmm2, xmm2, xmmword [esp + 0x1b0]
vmovaps xmmword [esp + 0x120], xmm2
vmovlhps xmm2, xmm2, xmm1
vsubps xmm1, xmm0, xmm2
vaddps xmm0, xmm0, xmm2
vblendps xmm2, xmm0, xmm1, 3
vmovups xmmword [esp + 0x260], xmm2
vpermilpd xmm2, xmm0, 1
vucomiss xmm1, xmm2
jbe 0x1002bd88
vmovss dword [esp + 0x260], xmm2
vmovss dword [esp + 0x268], xmm1
vmovshdup xmm1, xmm1
vpermilps xmm0, xmm0, 0xff
vucomiss xmm1, xmm0
jbe 0x1002bdaa
vmovss dword [esp + 0x264], xmm0
vmovss dword [esp + 0x26c], xmm1
mov eax, ebx
shr eax, 8
mov ecx, dword [edx + 0xc4]
mov edx, dword [edx + 0xcc]
mov ecx, dword [edx + ecx*4 - 4]
not ecx
mov edx, ebx
xor edx, ecx
shr ecx, 8
movzx edx, dl
xor ecx, dword [edx*4 + 0x10128e2c]
mov edx, ecx
xor ecx, eax
mov esi, ebx
shr esi, 0x10
shr edx, 8
movzx eax, cl
xor edx, dword [eax*4 + 0x10128e2c]
mov eax, edx
xor edx, esi
mov ecx, ebx
shr ecx, 0x18
shr eax, 8
movzx edx, dl
xor eax, dword [edx*4 + 0x10128e2c]
movzx edx, al
xor edx, ecx
mov esi, eax
shr esi, 8
xor esi, dword [edx*4 + 0x10128e2c]
not esi
mov eax, dword [0x1017f770]
cmp dword [eax + 0x1bd0], esi
jne 0x1002be24
mov dword [eax + 0x1bd4], esi
cmp dword [eax + 0x1c0c], esi
jne 0x1002be33
mov byte [eax + 0x1c10], 1
vmovaps xmmword [esp + 0x70], xmm5
vmovaps xmmword [esp + 0x10], xmm4
cmp dword [eax + 0x1bb8], esi
jne 0x1002be55
push 0
push ebx
push 4
push esi
call fcn.1001fa20
add esp, 0x10
push 0x40800
lea eax, [esp + 0x284]
push eax
lea eax, [esp + 0x290]
push eax
push esi
lea eax, [esp + 0x270]
push eax
call fcn.10044490
add esp, 0x14
movzx eax, byte [esp + 0x280]
movzx ecx, byte [esp + 0x288]
or cl, al
mov esi, dword [esp + 0xa0]
je 0x1002bea8
mov ecx, ebx
and ecx, 1
mov edx, 6
sub edx, ecx
mov dword [esi + 0x1e88], edx
test al, al
vmovaps xmm4, xmmword [esp + 0x10]
vmovaps xmm5, xmmword [esp + 0x70]
je 0x1002c091
cmp byte [esi + 0x3e5], 0
je 0x1002bf80
test ebx, ebx
jne 0x1002bf80
lea ecx, [esp + 0x250]
mov edx, dword [esp]
lea eax, [esp + 0x20c]
push eax
call fcn.1002f740
add esp, 4
mov eax, dword [0x1017f770]
cmp dword [eax + 0x1bd0], 0
vmovsd xmm5, qword [esp + 0x250]
setne byte [eax + 0x1bdc]
je 0x1002bf26
mov dword [eax + 0x1bd8], 0
mov word [eax + 0x1bdf], 0
mov dword [eax + 0x1c08], 0xffffffff
mov dword [eax + 0x1bd0], 0
mov word [eax + 0x1bdd], 0
mov dword [eax + 0x1c00], 0
mov word [eax + 0x1be1], 0
vxorps xmm0, xmm0, xmm0
vmovlps qword [eax + 0x1be4], xmm0
mov dword [eax + 0x1bf4], 0
mov dword [eax + 0x1bf0], 0
mov al, 1
mov dword [esp + 0x108], eax
vmovaps xmm4, xmmword [esp + 0x10]
jmp 0x1002c091
vbroadcastss xmm0, dword [0x10129710]
vmovaps xmm3, xmmword [esp + 0xc0]
vcmpeqps xmm0, xmm3, xmm0
vmovsd xmm1, qword [esi + 0xe4]
vmovsd xmm2, qword [esi + 0x1bf8]
vsubps xmm1, xmm1, xmm2
vbroadcastss xmm2, dword [0x10129714]
vblendvps xmm0, xmm2, xmmword [esp + 0xe0], xmm0
vmovaps xmm2, xmmword [esp + 0x110]
vmulps xmm2, xmm2, xmmword [esp + 0x190]
vmovaps xmm4, xmmword [esp + 0x120]
vsubps xmm2, xmm2, xmm4
vfmadd213ps xmm2, xmm3, xmm4
vcmpeqps xmm4, xmm3, xmmword [0x10128020]
vmovaps xmmword [esp + 0x10], xmm4
vaddps xmm1, xmm2, xmm1
vmovaps xmm2, xmmword [esp + 0x180]
vblendvps xmm2, xmm2, xmmword [esp + 0x130], xmm4
vminps xmm2, xmm2, xmm1
vcmpltps xmm1, xmm1, xmm0
vblendvps xmm0, xmm2, xmm0, xmm1
mov edx, dword [esp]
vmovsd xmm1, qword [edx + 0x14]
vmovsd xmm2, qword [edx + 0xc]
vaddps xmm1, xmm2, xmm1
vsubps xmm2, xmm2, xmm0
vfmadd213ps xmm2, xmm3, xmm0
vmovaps xmmword [esp + 0x70], xmm2
vsubps xmm0, xmm0, xmm1
vfmadd213ps xmm0, xmm3, xmm1
vsubps xmm0, xmm0, xmm2
vmovaps xmmword [esp + 0xc0], xmm0
vmovlps qword [esp + 0x250], xmm0
lea ecx, [esp + 0x1dc]
lea eax, [esp + 0x250]
push eax
call fcn.1002f740
add esp, 4
vmovsd xmm5, qword [esp + 0x1dc]
vsubps xmm0, xmm5, xmmword [esp + 0xc0]
vandps xmm0, xmm0, xmmword [esp + 0x10]
vmovaps xmm1, xmmword [esp + 0x70]
vsubps xmm4, xmm1, xmm0
movzx ecx, byte [esp + 0x280]
movzx edx, byte [esp + 0x288]
test ebx, ebx
je 0x1002bc10
test cl, cl
jne 0x1002bc10
test dl, dl
je 0x1002bcea
jmp 0x1002bc10
cmp byte [esp + 0x1a0], 0
mov edi, dword [esp]
je 0x1002c56e
vmovaps xmm0, xmmword [0x101298f0]
vmovaps xmm1, xmmword [esp + 0x160]
vinsertps xmm0, xmm0, xmm1, 0x10
vmovaps xmmword [esp + 0x1a0], xmm0
vblendps xmm0, xmm1, xmmword [0x10129900], 0xe
vmovaps xmmword [esp + 0x190], xmm0
vblendps xmm0, xmm1, xmmword [0x10129910], 0xe
vmovaps xmmword [esp + 0x180], xmm0
xor edx, edx
mov dword [esp + 0x170], 0xffffffff
mov dword [esp + 0x120], 0x1012930c
vbroadcastss xmm0, dword [0x10129714]
vmovaps xmmword [esp + 0x1b0], xmm0
jmp 0x1002c2e7
cmp edx, 2
mov ecx, 0
adc ecx, 3
mov dword [esi + 0x1e88], ecx
test al, al
je 0x1002c2d5
vmovsd xmm0, qword [edi + 0xc]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x288], eax
xor eax, eax
movzx ebx, byte [esp + 0x110]
mov al, bl
lea ebx, [esp + 0x260]
mov dword [esp + 0x28c], ecx
xor ecx, ecx
cmp edx, 1
sete cl
vmovss xmm1, dword [esi + eax*4 + 0xe4]
vsubss xmm1, xmm1, dword [esi + eax*4 + 0x1bf8]
vaddss xmm1, xmm1, dword [0x101297ac]
vmovss dword [esp + eax*4 + 0x288], xmm1
xor eax, eax
test edx, edx
sete al
vmovd xmm1, ecx
xor ecx, ecx
cmp edx, 3
sete cl
vpinsrb xmm1, xmm1, ecx, 4
vmovd xmm2, eax
xor eax, eax
cmp edx, 2
sete al
vpinsrb xmm2, xmm2, eax, 4
vpslld xmm1, xmm1, 0x1f
vmovaps xmm3, xmmword [esp + 0x1b0]
vblendvps xmm1, xmm3, xmmword [esp + 0xe0], xmm1
vpslld xmm2, xmm2, 0x1f
vbroadcastss xmm3, dword [0x101296d0]
vblendvps xmm2, xmm3, xmmword [esp + 0x130], xmm2
vmovsd xmm3, qword [esp + 0x288]
vminps xmm2, xmm2, xmm3
vcmpltps xmm3, xmm3, xmm1
vblendvps xmm1, xmm2, xmm1, xmm3
mov eax, dword [esp + 0x120]
vmovsd xmm2, qword [eax - 8]
vmovsd xmm3, qword [eax]
vminps xmm3, xmm2, xmm3
vmovaps xmmword [esp + 0x70], xmm3
vmovsd xmm2, qword [edi + 0x14]
vaddps xmm2, xmm2, xmm0
vsubps xmm4, xmm0, xmm1
vfmadd213ps xmm4, xmm3, xmm1
vmovaps xmmword [esp + 0x10], xmm4
vsubps xmm0, xmm1, xmm2
vfmadd213ps xmm0, xmm3, xmm2
vsubps xmm0, xmm0, xmm4
vmovaps xmmword [esp + 0x110], xmm0
vmovlps qword [esp + 0x250], xmm0
lea ecx, [esp + 0x1dc]
mov edx, dword [esp]
lea eax, [esp + 0x250]
push eax
call fcn.1002f740
mov edx, dword [esp + 0xc4]
mov edi, dword [esp + 4]
add esp, 4
vmovaps xmm0, xmmword [esp + 0x70]
vcmpeqps xmm0, xmm0, xmmword [0x10128020]
vmovsd xmm5, qword [esp + 0x1dc]
vsubps xmm1, xmm5, xmmword [esp + 0x110]
vandps xmm0, xmm0, xmm1
vmovaps xmm1, xmmword [esp + 0x10]
vsubps xmm4, xmm1, xmm0
mov dword [esp + 0x170], edx
inc edx
add dword [esp + 0x120], 0x1c
cmp edx, 4
je 0x1002c580
cmp edx, 2
setae byte [esp + 0x110]
cmp edx, 3
ja case.default.0x1002c305
vmovsd xmm0, qword [edi + 0xc]
vmovsd xmm1, qword [edi + 0x14]
vaddps xmm1, xmm0, xmm1
jmp dword [edx*4 + 0x10129a5c]
vmovshdup xmm1, xmm1
vsubss xmm1, xmm1, dword [esp + 0x160]
vaddss xmm2, xmm0, dword [0x101297ac]
vaddps xmm0, xmm0, xmmword [esp + 0x1a0]
vmovlps qword [esp + 0x260], xmm0
vmovss dword [esp + 0x268], xmm2
vmovss dword [esp + 0x26c], xmm1
jmp 0x1002c3ff
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esp + 0x260], xmm0
jmp 0x1002c3ff
vmovshdup xmm2, xmm1
vsubss xmm2, xmm2, dword [esp + 0x160]
vaddss xmm3, xmm1, dword [0x101297a8]
vmovss dword [esp + 0x260], xmm3
vmovshdup xmm0, xmm0
vunpcklps xmm0, xmm0, xmm1
vaddps xmm0, xmm0, xmmword [esp + 0x190]
vmovlps qword [esp + 0x264], xmm0
vmovss dword [esp + 0x26c], xmm2
jmp 0x1002c3ff
vmovshdup xmm2, xmm0
vaddss xmm2, xmm2, dword [0x101297ac]
vsubss xmm1, xmm1, dword [esp + 0x160]
vaddps xmm0, xmm0, xmmword [esp + 0x180]
vmovlps qword [esp + 0x260], xmm0
vmovss dword [esp + 0x268], xmm1
vmovss dword [esp + 0x26c], xmm2
jmp 0x1002c3ff
vaddsubps xmm2, xmm1, xmmword [esp + 0x190]
vblendps xmm0, xmm0, xmm1, 2
vaddps xmm0, xmm0, xmmword [esp + 0x180]
vmovlhps xmm0, xmm0, xmm2
vmovups xmmword [esp + 0x260], xmm0
mov dword [esp + 0xc0], edx
lea eax, [edx + 4]
mov ecx, eax
shr ecx, 8
mov edx, dword [edi + 0xc4]
mov esi, dword [edi + 0xcc]
mov edx, dword [esi + edx*4 - 4]
not edx
mov ebx, eax
xor ebx, edx
shr edx, 8
movzx esi, bl
xor edx, dword [esi*4 + 0x10128e2c]
mov ebx, edx
xor edx, ecx
mov esi, eax
shr esi, 0x10
shr ebx, 8
movzx ecx, dl
xor ebx, dword [ecx*4 + 0x10128e2c]
mov ecx, ebx
xor ebx, esi
mov edx, eax
shr edx, 0x18
shr ecx, 8
movzx esi, bl
xor ecx, dword [esi*4 + 0x10128e2c]
movzx ebx, cl
xor ebx, edx
mov esi, ecx
shr esi, 8
xor esi, dword [ebx*4 + 0x10128e2c]
not esi
mov ecx, dword [0x1017f770]
cmp dword [ecx + 0x1bd0], esi
jne 0x1002c484
mov dword [ecx + 0x1bd4], esi
cmp dword [ecx + 0x1c0c], esi
lea ebx, [esp + 0x260]
jne 0x1002c49a
mov byte [ecx + 0x1c10], 1
vmovaps xmmword [esp + 0x70], xmm5
vmovaps xmmword [esp + 0x10], xmm4
cmp dword [ecx + 0x1bb8], esi
jne 0x1002c4bc
push 0
push eax
push 4
push esi
call fcn.1001fa20
add esp, 0x10
push 0x800
lea eax, [esp + 0x27c]
push eax
lea eax, [esp + 0x288]
push eax
push esi
push ebx
call fcn.10044490
add esp, 0x14
cmp byte [esp + 0x280], 0
je 0x1002c52d
mov esi, dword [esp + 0xa0]
vmovss xmm0, dword [esi + 0x1bc8]
vucomiss xmm0, dword [0x10129920]
movzx eax, byte [esp + 0x278]
mov edi, dword [esp]
vmovaps xmm4, xmmword [esp + 0x10]
vmovaps xmm5, xmmword [esp + 0x70]
mov edx, dword [esp + 0xc0]
ja 0x1002c144
test al, al
je 0x1002c2d5
jmp 0x1002c144
cmp byte [esp + 0x278], 0
mov edi, dword [esp]
mov esi, dword [esp + 0xa0]
vmovaps xmm4, xmmword [esp + 0x10]
vmovaps xmm5, xmmword [esp + 0x70]
mov edx, dword [esp + 0xc0]
je 0x1002c2d5
cmp edx, 2
mov eax, 0
adc eax, 3
mov dword [esi + 0x1e88], eax
jmp 0x1002c15d
mov dword [esp + 0x170], 0xffffffff
lea ebx, [esp + 0x260]
mov eax, dword [0x1017f770]
mov eax, dword [eax + 0x1b98]
dec dword [eax + 0xc4]
mov dword [edi + 0x11c], 0
mov eax, dword [esi + 0x1e58]
test eax, eax
je 0x1002c74c
cmp dword [eax + 0x2d8], edi
jne 0x1002c74c
mov eax, dword [esi + 0x1d78]
vxorps xmm0, xmm0, xmm0
cmp eax, 2
vmovaps xmmword [esp + 0x10], xmm4
jne 0x1002c61e
cmp byte [esi + 0xfd], 0
je 0x1002c666
sub esp, 0x14
vmovaps xmm0, xmmword [0x10129930]
vmovups xmmword [esp + 4], xmm0
mov dword [esp], ebx
vmovaps xmmword [esp + 0x84], xmm5
call fcn.10032ca0
vmovaps xmm5, xmmword [esp + 0x84]
vmovaps xmm4, xmmword [esp + 0x24]
mov edi, dword [esp + 0x14]
add esp, 0x14
vmovsd xmm0, qword [esp + 0x260]
mov eax, dword [esi + 0x1d78]
cmp eax, 3
jne 0x1002c66a
sub esp, 0x14
vmovaps xmm0, xmmword [0x10129940]
vmovups xmmword [esp + 4], xmm0
mov dword [esp], ebx
vmovaps xmmword [esp + 0x84], xmm5
call fcn.10032ca0
vmovaps xmm5, xmmword [esp + 0x84]
vmovaps xmm4, xmmword [esp + 0x24]
mov edi, dword [esp + 0x14]
add esp, 0x14
vmovsd xmm0, qword [esp + 0x260]
jmp 0x1002c66a
vxorps xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x1002c686
jp 0x1002c686
vmovshdup xmm2, xmm0
vucomiss xmm2, xmm1
jne 0x1002c686
jnp 0x1002c74c
vmovss xmm1, dword [esi + 0x18]
vmovss xmm2, dword [esi + 0xa8]
vmulss xmm1, xmm1, dword [0x10129950]
vminss xmm2, xmm2, dword [esi + 0xac]
vmulss xmm1, xmm1, xmm2
vcvttps2dq xmm1, xmm1
vcvtdq2ps xmm1, xmm1
vbroadcastss xmm1, xmm1
vmulps xmm0, xmm0, xmm1
vmovsd xmm1, qword [edi + 0xc]
vmovsd xmm2, qword [edi + 0x14]
vmovaps xmm3, xmmword [esp + 0xe0]
vsubps xmm1, xmm3, xmm1
vsubps xmm1, xmm1, xmm2
vcmpleps xmm2, xmm1, xmm0
vblendvps xmm0, xmm1, xmm0, xmm2
vmovaps xmmword [esp + 0x70], xmm0
mov byte [esi + 0x1e6c], 0
mov byte [esi + 0x1d87], 1
push 0x3f800000
push 0x20
call fcn.1001dab0
add esp, 8
mov dword [esp + 0x290], eax
mov eax, dword [esp]
vmovsd xmm0, qword [eax + 0x1c]
vaddps xmm0, xmm0, xmmword [esp + 0x70]
vmovlps qword [esp + 0x250], xmm0
lea ecx, [esp + 0x260]
mov edx, dword [esp]
lea eax, [esp + 0x250]
push eax
call fcn.1002f740
vmovaps xmm4, xmmword [esp + 0x14]
mov edi, dword [esp + 4]
add esp, 4
vmovsd xmm5, qword [esp + 0x260]
vucomiss xmm5, dword [0x101296d0]
jne 0x1002c758
jnp 0x1002c783
vmovlps qword [edi + 0x1c], xmm5
test byte [edi + 9], 1
jne 0x1002c783
mov eax, dword [0x1017f770]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x2f20]
jb 0x1002c783
vmovss xmm0, dword [eax + 0x1c]
vmovss dword [eax + 0x2f20], xmm0
vucomiss xmm4, dword [0x101296d0]
jne 0x1002c78f
jnp 0x1002c7c2
vcvttps2dq xmm0, xmm4
vcvtdq2ps xmm0, xmm0
vmovlps qword [edi + 0xc], xmm0
test byte [edi + 9], 1
jne 0x1002c7c2
mov eax, dword [0x1017f770]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [eax + 0x2f20]
jb 0x1002c7c2
vmovss xmm0, dword [eax + 0x1c]
vmovss dword [eax + 0x2f20], xmm0
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov dword [edi + 0x18], ecx
test byte [esp + 0x108], 1
mov ebx, dword [esp + 0x60]
movzx ebx, bl
mov esi, 1
cmovne ebx, esi
mov dword [edi + 0x14], eax
mov ecx, dword [esp + 0xd0]
movzx ecx, cl
cmovne ecx, esi
mov eax, dword [esp + 0x170]
mov byte [edi + 0x94], al
lea eax, [edi + 0x94]
cmp byte [edi + 0x8d], 0
mov dword [esp + 0x110], eax
je 0x1002c81e
mov esi, dword [esp + 0xc]
jmp 0x10028c94
mov dword [esp + 0xd0], ecx
mov eax, ebx
mov esi, dword [esp + 4]
jmp 0x10028ad3