Function at 0x14003cdc0
Capabilities:
Authenticate hmac
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2e8
vmovaps xmmword [rsp + 0x2d0], xmm15
vmovaps xmmword [rsp + 0x2c0], xmm14
vmovaps xmmword [rsp + 0x2b0], xmm13
vmovaps xmmword [rsp + 0x2a0], xmm12
vmovaps xmmword [rsp + 0x290], xmm11
vmovaps xmmword [rsp + 0x280], xmm10
vmovaps xmmword [rsp + 0x270], xmm9
vmovaps xmmword [rsp + 0x260], xmm8
vmovaps xmmword [rsp + 0x250], xmm7
vmovaps xmmword [rsp + 0x240], xmm6
mov ebp, r8d
mov qword [rsp + 0x160], rdx
mov r14, rcx
mov rbx, qword [0x1402055d0]
movzx r9d, byte [rcx]
test r9b, r9b
je 0x14003cead
lea rcx, [r14 + 2]
mov edx, 0xffffffff
lea r8, [0x14010f370]
mov eax, 0xffffffff
jmp 0x14003ce8d
movzx r9d, r9b
movzx r11d, al
shr eax, 8
xor r11d, r9d
xor eax, dword [r8 + r11*4]
inc rcx
mov r9d, r10d
test r10b, r10b
je 0x14003cea9
movzx r10d, byte [rcx - 1]
cmp r9b, 0x23
jne 0x14003ce70
cmp r10b, 0x23
jne 0x14003ce70
cmp byte [rcx], 0x23
cmove eax, edx
mov r10b, 0x23
jmp 0x14003ce70
not eax
jmp 0x14003ceaf
xor eax, eax
mov rcx, qword [rbx + 0x3ee0]
movsxd r8, dword [rbx + 0x3ed8]
test r8, r8
je 0x14003cef7
mov rdx, rcx
mov r10, r8
mov r9, r8
jmp 0x14003ced8
mov r10, r9
test r9, r9
je 0x14003cefd
shr r9, 1
mov r11, r9
shl r11, 4
cmp dword [rdx + r11], eax
jae 0x14003ced0
not r9
add r9, r10
add rdx, r11
add rdx, 0x10
jmp 0x14003ced0
xor r8d, r8d
mov rdx, rcx
shl r8, 4
add rcx, r8
cmp rdx, rcx
je 0x14003cf24
cmp dword [rdx], eax
jne 0x14003cf24
mov rdi, qword [rdx + 8]
xor ecx, ecx
mov dword [rsp + 0x7c], 0
test rdi, rdi
jne 0x14003d0ff
lea r15, [rbx + 0x3ed8]
test rbx, rbx
je 0x14003cf36
inc dword [rbx + 0xf4]
mov rdx, qword [0x1402055e0]
mov ecx, 0x3e8
call qword [0x1401e7378]
mov rdi, rax
mov rcx, rax
mov rdx, rbx
mov r8, r14
call fcn.140034200
mov qword [rsp + 0xc0], rdi
mov dword [rdi + 0x14], ebp
mov edx, dword [rdi + 0x10]
mov rcx, r15
mov r8, rdi
call fcn.14002db60
test ebp, 0x100
jne 0x14003cff3
movsxd rax, dword [rdi + 0x294]
cmp rax, 0xffffffffffffffff
je 0x14003cfaf
mov rcx, qword [0x1402055d0]
mov rdx, qword [rcx + 0x5c38]
test rdx, rdx
je 0x14003cff3
add rdx, rax
mov eax, dword [rbx + 0x5c38]
mov ecx, edx
sub ecx, eax
mov dword [rdi + 0x294], ecx
jmp 0x14003cff5
mov rax, qword [0x1402055d0]
mov rcx, qword [rax + 0x5c38]
test rcx, rcx
je 0x14003cff3
mov r8d, dword [rdi + 0x10]
add rcx, 4
mov rdx, rcx
jmp 0x14003cfe6
movsxd r9, dword [rdx - 4]
add rdx, r9
movsxd r9, dword [rax + 0x5c30]
add r9, rcx
cmp rdx, r9
je 0x14003cff3
cmp dword [rdx], r8d
jne 0x14003cfd0
cmp byte [rdx + 0xe], 0
jne 0x14003cfd0
jmp 0x14003cf9d
xor edx, edx
mov rcx, rdi
call fcn.14004ba50
test ebp, 0x2000
jne 0x14003d02b
mov eax, dword [rbx + 0x3e98]
cmp eax, dword [rbx + 0x3e9c]
jne 0x14003d0dc
lea esi, [rax + 1]
test eax, eax
je 0x14003d044
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003d049
lea rcx, [rbx + 0x3e98]
lea rdx, [rsp + 0xc0]
call fcn.14004c750
jmp 0x14003d0ef
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x14003d0dc
movsxd rcx, esi
shl rcx, 3
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d06f
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [rbx + 0x3ea0]
test rdx, rdx
je 0x14003d0c9
movsxd r8, dword [rbx + 0x3e98]
shl r8, 3
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x3ea0]
test rcx, rcx
je 0x14003d0bc
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d0bc
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rbx + 0x3ea0], r15
mov dword [rbx + 0x3e9c], esi
mov eax, dword [rbx + 0x3e98]
mov rcx, qword [rbx + 0x3ea0]
cdqe
mov qword [rcx + rax*8], rdi
inc dword [rbx + 0x3e98]
mov rdi, qword [rsp + 0xc0]
mov cl, 1
mov al, 1
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x5c], ecx
mov eax, ebp
not eax
mov esi, ebp
or esi, 6
test eax, 0xc0200
cmovne esi, ebp
mov r9d, dword [rbx + 0x3e50]
cmp dword [rbx + 0x3ec8], 0
je 0x14003d128
xor eax, eax
jmp 0x14003d12f
movzx eax, byte [rbx + 0x3e5d]
mov r10d, dword [rdi + 0x260]
mov byte [rdi + 0xbe], al
lea eax, [r9 - 1]
test esi, 0x4000000
jne 0x14003d170
lea rcx, [rdi + 0xbc]
mov qword [rsp + 0x90], rcx
cmp r10d, eax
setl byte [rdi + 0xbc]
jl 0x14003d1bd
mov dword [rsp + 0x8c], 0
jmp 0x14003d1d0
cmp r10d, eax
setl al
movsxd rcx, dword [rbx + 0x48b0]
mov rdx, qword [rbx + 0x48a8]
imul rcx, rcx, 0x38
mov r8d, dword [rdi + 0xcc]
cmp r8d, dword [rdx + rcx]
setne r8b
cmp rdi, qword [rdx + rcx + 8]
setne cl
or cl, r8b
or cl, al
lea rax, [rdi + 0xbc]
mov qword [rsp + 0x90], rax
mov byte [rdi + 0xbc], cl
test cl, cl
je 0x14003d163
or dword [rdi + 0xdc], 0x80808
mov al, 1
mov dword [rsp + 0x8c], eax
cmp r10d, r9d
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x110], r9
mov dword [rsp + 0x80], r10d
jne 0x14003d1f2
mov esi, dword [rdi + 0x14]
jmp 0x14003d432
mov r12, qword [0x1402055d0]
mov eax, esi
shr eax, 0x18
mov ecx, esi
and ecx, 0x14000000
cmp ecx, 0x4000000
setne bl
and bl, al
movzx eax, byte [rdi + 0xbf]
cmp al, bl
sete cl
test bl, bl
jne 0x14003d25f
mov edx, dword [rsp + 0x7c]
xor dl, 1
and cl, dl
jne 0x14003d25f
mov ebp, esi
mov eax, dword [r12 + 0x3ea8]
cmp eax, dword [r12 + 0x3eac]
jne 0x14003d3c0
lea esi, [rax + 1]
test eax, eax
je 0x14003d31a
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003d31f
mov ecx, ebx
xor cl, 1
or cl, byte [rsp + 0x7c]
jne 0x14003d3ea
cmp al, bl
je 0x14003d3ea
movsx eax, word [rdi + 0xca]
lea edx, [rax + 1]
mov ecx, dword [r12 + 0x3ea8]
cmp edx, ecx
jge 0x14003d2ca
cdqe
inc rax
nop word cs:[rax + rax]
mov rcx, qword [r12 + 0x3eb0]
mov rcx, qword [rcx + rax*8]
dec word [rcx + 0xca]
inc rax
movsxd rcx, dword [r12 + 0x3ea8]
cmp rax, rcx
jl 0x14003d2a0
movzx eax, word [rdi + 0xca]
movsxd r9, ecx
mov rdx, qword [r12 + 0x3eb0]
movsx r8, ax
lea rcx, [rdx + r8*8]
lea rdx, [rdx + r8*8]
add rdx, 8
not r8
add r8, r9
shl r8, 3
call sub.VCRUNTIME140.dll_memmove
dec dword [r12 + 0x3ea8]
mov word [rdi + 0xca], 0xffff
mov r9, qword [rsp + 0x110]
mov r10d, dword [rsp + 0x80]
jmp 0x14003d3ea
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x14003d3c0
movsxd rcx, esi
shl rcx, 3
inc dword [r12 + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [r12 + 0x3eb0]
test rdx, rdx
je 0x14003d398
movsxd r8, dword [r12 + 0x3ea8]
shl r8, 3
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r12 + 0x3eb0]
test rcx, rcx
je 0x14003d38b
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d38b
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [r12 + 0x3eb0], r15
mov dword [r12 + 0x3eac], esi
mov eax, dword [r12 + 0x3ea8]
mov r9, qword [rsp + 0x110]
mov r10d, dword [rsp + 0x80]
mov rcx, qword [r12 + 0x3eb0]
cdqe
mov qword [rcx + rax*8], rdi
mov eax, dword [r12 + 0x3ea8]
lea ecx, [rax + 1]
mov dword [r12 + 0x3ea8], ecx
mov word [rdi + 0xca], ax
mov esi, ebp
mov byte [rdi + 0xbf], bl
mov dword [rdi + 0x14], esi
mov dword [rdi + 0x260], r9d
mov rbx, qword [rsp + 0x40]
vmovsd xmm0, qword [rbx + 0x3e48]
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [rdi + 0x264], xmm0
mov word [rdi + 0xc6], 0
mov eax, dword [rbx + 0x3ee8]
lea ecx, [rax + 1]
mov dword [rbx + 0x3ee8], ecx
mov word [rdi + 0xc8], ax
movsxd rax, dword [rbx + 0x3ec8]
test rax, rax
je 0x14003d45c
mov rcx, qword [rbx + 0x3ed0]
imul rdx, rax, 0x58
mov rcx, qword [rdx + rcx - 0x58]
cmp r10d, r9d
jne 0x14003d463
mov r12, qword [rdi + 0x368]
jmp 0x14003d470
xor ecx, ecx
cmp r10d, r9d
je 0x14003d453
xor r12d, r12d
test esi, 0x5000000
cmovne r12, rcx
mov qword [rsp + 0x48], rcx
cmp dword [rdi + 0xf0], 0
jne 0x14003d546
cmp dword [rdi + 0xf4], 0
je 0x14003d499
mov r15, qword [rdi + 0xf8]
xor eax, eax
jmp 0x14003d531
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d4ab
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
mov ecx, 0x20
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [rdi + 0xf8]
test rdx, rdx
je 0x14003d50a
movsxd r8, dword [rdi + 0xf0]
shl r8, 2
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0xf8]
test rcx, rcx
je 0x14003d4fd
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d4fd
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rdi + 0xf8], r15
mov dword [rdi + 0xf4], 8
mov eax, dword [rdi + 0xf0]
mov r9, qword [rsp + 0x110]
mov r10d, dword [rsp + 0x80]
cdqe
mov ecx, dword [rdi + 0x10]
mov dword [r15 + rax*4], ecx
inc dword [rdi + 0xf0]
mov eax, dword [rbx + 0x3ec8]
mov qword [rsp + 0x98], r12
mov dword [rsp + 0x58], esi
mov qword [rsp + 0x120], r14
mov qword [rbx + 0x3ef8], rdi
vmovups ymm0, ymmword [rbx + 0x4794]
vmovups ymm1, ymmword [rbx + 0x47b0]
vmovups ymmword [rsp + 0x21c], ymm1
vmovups ymmword [rsp + 0x200], ymm0
movzx ebp, word [rdi + 0xf0]
movzx r12d, word [rbx + 0x4840]
movzx r13d, word [rbx + 0x4850]
movzx r14d, word [rbx + 0x4860]
movzx r8d, word [rbx + 0x4870]
movzx r11d, word [rbx + 0x4890]
movzx r15d, word [rbx + 0x4880]
movzx ecx, word [rbx + 0x48b0]
mov word [rsp + 0x88], cx
movzx ecx, word [rbx + 0x5bc0]
mov word [rsp + 0x158], cx
cmp eax, dword [rbx + 0x3ecc]
jne 0x14003d6de
lea esi, [rax + 1]
test eax, eax
je 0x14003d5f8
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003d5fd
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x14003d6de
mov word [rsp + 0x104], r11w
mov word [rsp + 0x108], r8w
movsxd rax, esi
imul rcx, rax, 0x58
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d635
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
vzeroupper
call qword [0x1401e7378]
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rbx + 0x3ed0]
test rdx, rdx
je 0x14003d6a9
movsxd rcx, dword [rbx + 0x3ec8]
imul r8, rcx, 0x58
mov qword [rsp + 0x118], rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x3ed0]
test rcx, rcx
je 0x14003d68f
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d68f
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x118]
mov qword [rbx + 0x3ed0], rax
mov dword [rbx + 0x3ecc], esi
mov eax, dword [rbx + 0x3ec8]
mov r9, qword [rsp + 0x110]
mov r10d, dword [rsp + 0x80]
movzx r8d, word [rsp + 0x108]
movzx r11d, word [rsp + 0x104]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdx + 0x3ed0]
cdqe
imul rax, rax, 0x58
mov qword [rcx + rax], rdi
vmovups ymm0, ymmword [rsp + 0x200]
vmovups ymm1, ymmword [rsp + 0x21c]
vmovups ymmword [rcx + rax + 8], ymm0
vmovups ymmword [rcx + rax + 0x24], ymm1
mov word [rcx + rax + 0x44], bp
mov word [rcx + rax + 0x46], r12w
mov r12, rdx
mov word [rcx + rax + 0x48], r13w
mov word [rcx + rax + 0x4a], r14w
mov word [rcx + rax + 0x4c], r8w
mov word [rcx + rax + 0x4e], r11w
mov word [rcx + rax + 0x50], r15w
movzx edx, word [rsp + 0x88]
mov word [rcx + rax + 0x52], dx
movzx edx, word [rsp + 0x158]
mov word [rcx + rax + 0x54], dx
inc dword [r12 + 0x3ec8]
mov esi, dword [rsp + 0x58]
test esi, 0x10000000
je 0x14003d774
inc dword [r12 + 0x48c0]
cmp r10d, r9d
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x48]
jne 0x14003d795
mov r13d, esi
and r13d, 0x4000000
jmp 0x14003d84b
mov qword [rdi + 0x368], rcx
mov qword [rdi + 0x390], rdi
mov qword [rdi + 0x388], rdi
mov qword [rdi + 0x380], rdi
mov qword [rdi + 0x378], rdi
mov eax, esi
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x14003d7d9
test rcx, rcx
je 0x14003d7d9
mov rax, qword [rcx + 0x378]
mov qword [rdi + 0x378], rax
mov r13d, esi
and r13d, 0x4000000
je 0x14003d7f8
test rcx, rcx
je 0x14003d7f8
mov rax, qword [rcx + 0x380]
mov qword [rdi + 0x380], rax
test esi, 0x8000000
jne 0x14003d81c
mov eax, esi
and eax, 0x5000000
je 0x14003d81c
test rcx, rcx
je 0x14003d81c
mov rax, qword [rcx + 0x388]
mov qword [rdi + 0x388], rax
test byte [rdi + 0x16], 0x80
je 0x14003d844
mov rax, rdi
nop word cs:[rax + rax]
mov rax, qword [rax + 0x368]
mov qword [rdi + 0x390], rax
test byte [rax + 0x16], 0x80
jne 0x14003d830
mov qword [rdi + 0x370], rbx
mov ecx, dword [rdi + 0x10]
vzeroupper
call fcn.140045660
mov eax, dword [r12 + 0x4774]
mov dword [rdi + 0x3d8], eax
mov qword [r12 + 0x3ef8], 0
test r13d, r13d
je 0x14003d9a0
movsxd rax, dword [r12 + 0x48b0]
mov rcx, qword [r12 + 0x48a8]
imul rax, rax, 0x38
lea rsi, [rcx + rax]
mov qword [rcx + rax + 8], rdi
mov edx, dword [rbx + 0x158]
mov dword [rcx + rax + 0x18], edx
mov eax, dword [r12 + 0x48b0]
cmp eax, dword [r12 + 0x48b4]
jne 0x14003d96a
lea ebx, [rax + 1]
test eax, eax
je 0x14003d8ca
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003d8cf
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x14003d96a
movsxd rax, ebx
imul rcx, rax, 0x38
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d8f5
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [r12 + 0x48b8]
test rdx, rdx
je 0x14003d952
movsxd rax, dword [r12 + 0x48b0]
imul r8, rax, 0x38
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r12 + 0x48b8]
test rcx, rcx
je 0x14003d945
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003d945
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [r12 + 0x48b8], r15
mov dword [r12 + 0x48b4], ebx
mov eax, dword [r12 + 0x48b0]
mov rcx, qword [r12 + 0x48b8]
cdqe
imul rax, rax, 0x38
vmovups ymm0, ymmword [rsi]
vmovups ymm1, ymmword [rsi + 0x18]
vmovups ymmword [rcx + rax + 0x18], ymm1
vmovups ymmword [rcx + rax], ymm0
inc dword [r12 + 0x48b0]
mov eax, dword [rsi]
mov dword [rdi + 0xcc], eax
mov esi, dword [rsp + 0x58]
test byte [r12 + 0x47d0], 1
jne 0x14003d9b5
mov dword [rsp + 0x48], 0
jmp 0x14003da34
mov eax, dword [rdi + 0xdc]
movsx ecx, al
mov r8d, dword [r12 + 0x47d4]
test ecx, r8d
setne cl
je 0x14003da1d
vmovsd xmm0, qword [r12 + 0x47e8]
vmulps xmm0, xmm0, xmm0
vmovshdup xmm1, xmm0
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, dword [0x14010f184]
jbe 0x14003da1d
mov rcx, qword [r12 + 0x47e0]
mov qword [rdi + 0xe0], rcx
mov rcx, qword [r12 + 0x47e8]
mov qword [rdi + 0xe8], rcx
and eax, 0xfffffff1
mov dword [rdi + 0xdc], eax
mov al, 1
mov dword [rsp + 0x48], eax
jmp 0x14003da34
mov dword [rsp + 0x48], ecx
lea rdx, [r12 + 0x47e0]
mov rcx, rdi
vzeroupper
call fcn.140036550
test byte [r12 + 0x47d0], 2
mov r10, qword [rsp + 0x110]
jne 0x14003da50
xor ebx, ebx
xor ebp, ebp
jmp 0x14003db6f
mov eax, dword [rdi + 0xdc]
mov ecx, eax
shr ecx, 8
movsx edx, cl
mov ecx, dword [r12 + 0x47d8]
test edx, ecx
je 0x14003db60
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [r12 + 0x47f0]
setb bpl
vucomiss xmm0, dword [r12 + 0x47f4]
setb bl
and eax, 0xfffff1ff
mov dword [rdi + 0xdc], eax
vxorps xmm3, xmm3, xmm3
vucomiss xmm3, dword [r12 + 0x47f0]
vmovss xmm1, dword [rdi + 0x30]
vmovss xmm0, dword [rdi + 0x34]
setae al
add al, al
mov byte [rdi + 0xd0], al
vucomiss xmm3, dword [r12 + 0x47f4]
setae al
add al, al
mov byte [rdi + 0xd1], al
vmovss xmm2, dword [r12 + 0x47f0]
vucomiss xmm3, xmm2
jae 0x14003daed
vroundss xmm2, xmm2, xmm2, 0xb
vmovss dword [rdi + 0x30], xmm2
jmp 0x14003daf8
mov byte [rdi + 0xd3], 0
vmovaps xmm2, xmm1
vmovss xmm3, dword [r12 + 0x47f4]
vxorps xmm4, xmm4, xmm4
vucomiss xmm4, xmm3
jae 0x14003db1f
vroundss xmm3, xmm3, xmm3, 0xb
vmovss dword [rdi + 0x34], xmm3
vucomiss xmm1, xmm2
je 0x14003db30
jmp 0x14003db36
mov byte [rdi + 0xd3], 0
vmovaps xmm3, xmm0
vucomiss xmm1, xmm2
jne 0x14003db36
vucomiss xmm0, xmm3
je 0x14003db6f
test byte [rdi + 0x15], 1
jne 0x14003db6f
mov rax, qword [0x1402055d0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x14003db6f
vmovss xmm0, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm0
jmp 0x14003db6f
xor ebx, ebx
mov ebp, 0
test ecx, ecx
je 0x14003da8d
test byte [r12 + 0x47d0], 0x80
je 0x14003dbc2
vmovss xmm1, dword [r12 + 0x4800]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm1
ja 0x14003dba0
vmovss dword [rdi + 0x94], xmm1
mov dword [rdi + 0x9c], 0
vmovss xmm1, dword [r12 + 0x4804]
vucomiss xmm0, xmm1
ja 0x14003dbc2
vmovss dword [rdi + 0x98], xmm1
mov dword [rdi + 0xa0], 0
test byte [r12 + 0x47d0], 4
jne 0x14003dbe1
cmp dword [rsp + 0x80], r10d
je 0x14003dbed
mov qword [rdi + 0x48], 0
jmp 0x14003dbed
mov rax, qword [r12 + 0x47f8]
mov qword [rdi + 0x48], rax
mov eax, dword [r12 + 0x47d0]
test al, 8
je 0x14003dc3f
mov r8d, dword [r12 + 0x47dc]
movzx ecx, byte [r12 + 0x4808]
mov edx, dword [rdi + 0xdc]
test r8d, r8d
je 0x14003dc25
mov r9d, edx
shr r9d, 0x10
movsx r9d, r9b
test r9d, r8d
je 0x14003dc3f
and edx, 0xfff1ffff
mov dword [rdi + 0xdc], edx
mov byte [rdi + 0xb9], cl
mov eax, dword [r12 + 0x47d0]
test al, 0x20
je 0x14003dc58
mov rcx, rdi
xor edx, edx
vzeroupper
call fcn.140035f40
mov r10, qword [rsp + 0x110]
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0
je 0x14003dc6f
and dword [rdi + 0xdc], 0xfff7f7f7
cmp dword [rsp + 0x80], r10d
jne 0x14003dcab
mov r14, qword [0x1402055d0]
mov qword [r14 + 0x3ef8], rdi
movsxd rax, dword [rdi + 0x1b0]
cmp rax, 0xffffffffffffffff
je 0x14003df87
imul rax, rax, 0x238
add rax, qword [r14 + 0x4b80]
jmp 0x14003df89
movzx eax, byte [rdi + 0xd9]
mov byte [rsp + 0x88], al
mov byte [rdi + 0xb6], 1
cmp qword [rsp + 0x160], 0
setne byte [rdi + 0xc0]
vmovaps xmm0, xmmword [0x14010f190]
vmovups xmmword [rdi + 0x238], xmm0
mov eax, dword [rdi + 0xf4]
test eax, eax
jg 0x14003dd95
mov ecx, eax
neg ecx
shr ecx, 1
mov edx, eax
sub edx, ecx
cmp edx, 2
mov ecx, 1
cmovge ecx, edx
test eax, eax
mov esi, 8
cmovne esi, ecx
lea rcx, [rsi*4]
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003dd27
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
vzeroupper
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [rdi + 0xf8]
test rdx, rdx
je 0x14003dd84
movsxd r8, dword [rdi + 0xf0]
shl r8, 2
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0xf8]
test rcx, rcx
je 0x14003dd77
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003dd77
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rdi + 0xf8], r15
mov dword [rdi + 0xf4], esi
mov esi, dword [rsp + 0x58]
mov dword [rdi + 0xf0], 1
mov rcx, qword [rdi + 0x298]
vzeroupper
call fcn.14004e3d0
mov dword [rdi + 0x1b0], 0xffffffff
cmp byte [rdi + 0x3e4], 0
je 0x14003ddc9
mov rcx, rdi
call fcn.140035430
cmp qword [r12 + 0x4a70], 0
je 0x14003de90
movzx eax, byte [rdi + 0x16]
and al, 8
shr al, 3
or al, byte [rsp + 0x7c]
jne 0x14003de90
mov r15, qword [rdi + 8]
mov rcx, qword [rsp + 0x120]
mov rdx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14003de90
movsxd rsi, dword [rdi + 0x78]
mov rcx, qword [rsp + 0x120]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r12, rax
inc r12
cmp r12, rsi
jbe 0x14003de72
test r15, r15
je 0x14003de3a
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003de3a
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
mov rcx, r15
call qword [0x1401e7380]
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003de5c
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
mov rcx, r12
call qword [0x1401e7378]
mov r15, rax
mov rsi, r12
mov rcx, r15
mov rdx, qword [rsp + 0x120]
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 8], r15
mov dword [rdi + 0x78], esi
mov esi, dword [rsp + 0x58]
lea r12, [rdi + 0x40]
lea rdx, [rdi + 0x38]
mov rcx, rdi
mov qword [rsp + 0x158], rdx
mov r8, r12
call fcn.1400451c0
movzx eax, byte [rdi + 0xd8]
test al, al
jle 0x14003debe
dec al
mov byte [rdi + 0xd8], al
movzx eax, byte [rdi + 0xd9]
test al, al
jle 0x14003ded1
dec al
mov byte [rdi + 0xd9], al
movzx eax, byte [rdi + 0xda]
test al, al
jle 0x14003dee4
dec al
mov byte [rdi + 0xda], al
cmp byte [rsp + 0x7c], 0
je 0x14003def8
mov eax, ebp
and al, bl
jne 0x14003def8
mov byte [rdi + 0xd9], 1
test esi, 0x6000000
setne al
and al, byte [rsp + 0x8c]
cmp al, 1
jne 0x14003df4e
mov byte [rdi + 0xd9], 1
test sil, 0x40
je 0x14003df4e
test bpl, bpl
jne 0x14003df2c
mov dword [rdi + 0x30], 0
mov dword [rdi + 0x28], 0
test bl, bl
jne 0x14003df3e
mov dword [rdi + 0x34], 0
mov dword [rdi + 0x2c], 0
vxorps xmm0, xmm0, xmm0
mov rax, qword [rsp + 0x158]
vmovups xmmword [rax], xmm0
mov r14, qword [0x1402055d0]
mov rax, qword [r14 + 0x48d0]
mov r15, qword [rax]
mov qword [rdi + 0x18], r15
mov qword [r14 + 0x3ef8], rdi
movsxd rax, dword [rdi + 0x1b0]
cmp rax, 0xffffffffffffffff
je 0x14003dfda
imul rax, rax, 0x238
add rax, qword [r14 + 0x4b80]
jmp 0x14003dfdc
xor eax, eax
mov rbp, qword [rsp + 0x98]
mov qword [r14 + 0x4b58], rax
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rcx + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003dfbf
vmulss xmm0, xmm0, dword [rcx + 0x290]
vmovss dword [r14 + 0x3c38], xmm0
vmovss dword [r14 + 0x3c20], xmm0
test rax, rax
je 0x14003e025
xor eax, eax
jmp 0x14003e030
xor eax, eax
mov qword [r14 + 0x4b58], rax
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rcx + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003e00a
vmulss xmm0, xmm0, dword [rcx + 0x290]
vmovss dword [r14 + 0x3c38], xmm0
vmovss dword [r14 + 0x3c20], xmm0
test rax, rax
je 0x14003e03b
xor eax, eax
jmp 0x14003e046
cmp qword [rdi + 0x1a8], 0
sete al
mov byte [rdi + 0x160], al
jmp 0x140040ce8
cmp qword [rdi + 0x1a8], 0
sete al
mov byte [rdi + 0x160], al
test esi, 0x1000000
jne 0x14003e092
test esi, 0x8000000
mov eax, 0x3808
mov ecx, 0x37e4
cmovne rax, rcx
test esi, 0x6000000
cmove rax, rcx
mov rcx, qword [rsp + 0x40]
vmovss xmm0, dword [rcx + rax]
vmovss dword [rdi + 0x5c], xmm0
mov rax, qword [rcx + 0x37d8]
mov qword [rdi + 0x50], rax
vmovd xmm0, eax
jmp 0x14003e0ea
mov rax, qword [rsp + 0x40]
vmovss xmm2, dword [rax + 0x3800]
vmovss dword [rdi + 0x5c], xmm2
mov rax, qword [rax + 0x37d8]
mov qword [rdi + 0x50], rax
vmovd xmm0, eax
test esi, 0x4010000
jne 0x14003e0ea
vxorps xmm1, xmm1, xmm1
vucomiss xmm2, xmm1
jne 0x14003e0ea
test esi, 0x400
je 0x14003e0da
mov rax, qword [rsp + 0x40]
vmovss xmm1, dword [rax + 0x37dc]
mov dword [rdi + 0x50], 0
vmovss dword [rdi + 0x54], xmm1
vpxor xmm0, xmm0, xmm0
mov rax, qword [rsp + 0x40]
vmaxss xmm0, xmm0, dword [rax + 0x381c]
vmaxss xmm0, xmm0, dword [rax + 0x4834]
vmovss dword [rdi + 0x164], xmm0
vmovss xmm0, dword [rax + 0x4838]
vmovss dword [rdi + 0x168], xmm0
test sil, 0x21
je 0x14003e134
mov byte [rdi + 0xb9], 0
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x90], eax
jmp 0x14003e26b
vmovss xmm0, dword [rdi + 0x24]
mov esi, dword [rdi + 0x14]
vxorps xmm1, xmm1, xmm1
test sil, 1
jne 0x14003e17d
mov rax, qword [rdi]
vmovss xmm1, dword [rdi + 0x290]
vmulss xmm1, xmm1, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003e16d
vmulss xmm1, xmm1, dword [rcx + 0x290]
vmovss xmm2, dword [rax + 0x3810]
vaddss xmm1, xmm2, xmm1
vaddss xmm1, xmm2, xmm1
vaddss xmm0, xmm1, xmm0
vmovss xmm1, dword [rdi + 0x30]
vaddss xmm1, xmm1, dword [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0xc0], rax
vmovss dword [rsp + 0xc8], xmm1
vmovss dword [rsp + 0xcc], xmm0
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x3f00], rdi
jne 0x14003e205
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x3f44], 0
jne 0x14003e205
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x3f48], 0
jne 0x14003e205
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0xc0]
mov r8b, 1
call fcn.140035b90
test al, al
je 0x14003e205
mov rax, qword [rsp + 0x40]
cmp word [rax + 0x3752], 2
jne 0x14003e205
mov byte [rdi + 0xba], 1
cmp byte [rdi + 0xba], 0
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x90], eax
je 0x14003e267
movzx eax, byte [rdi + 0xb9]
mov ecx, eax
xor cl, 1
mov byte [rdi + 0xb9], cl
test al, al
movzx eax, byte [rsp + 0x5c]
mov ecx, 1
cmove ecx, eax
mov dword [rsp + 0x90], ecx
test esi, 0x100
jne 0x14003e267
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [r14 + 0x5c0c]
jb 0x14003e267
vmovss xmm0, dword [r14 + 0x1c]
vmovss dword [r14 + 0x5c0c], xmm0
mov esi, dword [rsp + 0x58]
mov byte [rdi + 0xba], 0
vmovss xmm6, dword [rdi + 0xac]
vmovss xmm9, dword [rdi + 0xb0]
mov dword [rdi + 0x60], 0
mov dword [rdi + 0x68], 0
mov eax, dword [rdi + 0x14]
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
test al, 1
jne 0x14003e2d6
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rcx + 0x3c24]
mov rdx, qword [rdi + 0x368]
test rdx, rdx
je 0x14003e2c6
vmulss xmm0, xmm0, dword [rdx + 0x290]
vmovss xmm2, dword [rcx + 0x3810]
vaddss xmm0, xmm2, xmm0
vaddss xmm0, xmm2, xmm0
test eax, 0x400
je 0x14003e320
mov rax, qword [rdi]
vmovss xmm1, dword [rdi + 0x168]
vmovss xmm2, dword [rdi + 0x290]
vmulss xmm2, xmm2, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003e30c
vmulss xmm2, xmm2, dword [rcx + 0x290]
vmovss xmm3, dword [rax + 0x3810]
vaddss xmm3, xmm3, xmm3
vaddss xmm1, xmm1, xmm3
vaddss xmm1, xmm2, xmm1
vaddss xmm0, xmm1, xmm0
vmovss dword [rdi + 0x64], xmm0
mov dword [rdi + 0x6c], 0
mov qword [rdi + 0xac], 0
lea rcx, [rsp + 0x128]
mov rdx, rdi
mov r8, r12
call fcn.1400452d0
test sil, 0x40
je 0x14003e361
cmp byte [rdi + 0xb9], 0
je 0x14003e41a
cmp byte [rdi + 0xd0], 0
mov r12, qword [rsp + 0x40]
jle 0x14003e3a0
test bpl, bpl
mov rbp, qword [rsp + 0x98]
jne 0x14003e3b5
cmp byte [rdi + 0xd3], 0
vmovss xmm0, dword [rsp + 0x128]
je 0x14003e393
vmaxss xmm0, xmm0, dword [rdi + 0x30]
vmovss dword [rdi + 0x30], xmm0
mov al, 1
mov dword [rsp + 0x5c], eax
jmp 0x14003e3b5
cmp byte [rdi + 0xd1], 0
mov rbp, qword [rsp + 0x98]
jle 0x14003e45b
test bl, bl
jne 0x14003e3e7
cmp byte [rdi + 0xd1], 0
jle 0x14003e3e7
cmp byte [rdi + 0xd3], 0
vmovss xmm0, dword [rsp + 0x12c]
je 0x14003e3d9
vmaxss xmm0, xmm0, dword [rdi + 0x34]
vmovss dword [rdi + 0x34], xmm0
mov al, 1
mov dword [rsp + 0x90], eax
cmp byte [rdi + 0xb9], 0
jne 0x14003e45b
test byte [rdi + 0x15], 1
jne 0x14003e45b
mov rax, qword [0x1402055d0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x14003e45b
vmovss xmm0, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm0
jmp 0x14003e45b
test bpl, bpl
mov r12, qword [rsp + 0x40]
jne 0x14003e438
vmovss xmm0, dword [rsp + 0x128]
vmovss dword [rdi + 0x30], xmm0
mov al, 1
mov dword [rsp + 0x5c], eax
test bl, bl
mov rbp, qword [rsp + 0x98]
jne 0x14003e45b
vmovss xmm0, dword [rsp + 0x12c]
vmovss dword [rdi + 0x34], xmm0
mov al, 1
mov dword [rsp + 0x90], eax
mov ebx, esi
and ebx, 0x1000000
lea r8, [rdi + 0x30]
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140045460
mov rax, qword [rsp + 0xc0]
mov qword [rdi + 0x30], rax
cmp byte [rdi + 0xb9], 0
je 0x14003e4d8
test ebx, ebx
jne 0x14003e4d8
vxorps xmm0, xmm0, xmm0
test byte [rdi + 0x14], 1
mov r8d, dword [rsp + 0x48]
jne 0x14003e4e8
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rcx + 0x3c24]
mov rdx, qword [rdi + 0x368]
test rdx, rdx
je 0x14003e4c6
vmulss xmm0, xmm0, dword [rdx + 0x290]
vmovss xmm1, dword [rcx + 0x3810]
vaddss xmm0, xmm1, xmm0
vaddss xmm0, xmm1, xmm0
jmp 0x14003e4e8
mov rcx, rax
shr rcx, 0x20
vmovd xmm0, ecx
mov r8d, dword [rsp + 0x48]
mov dword [rdi + 0x28], eax
vmovd dword [rdi + 0x2c], xmm0
cmp byte [rsp + 0x8c], 0
je 0x14003e535
mov dword [rdi + 0xd4], 0xffffffff
mov eax, esi
and eax, 0xc000000
cmp eax, 0x4000000
setne al
or al, r8b
jne 0x14003e535
mov rax, qword [r12 + 0x48b8]
movsxd rcx, dword [r12 + 0x48b0]
imul rcx, rcx, 0x38
mov rax, qword [rcx + rax - 0x14]
mov qword [rdi + 0x20], rax
mov r14d, esi
and r14d, 0x3000000
test esi, 0x1000000
je 0x14003e657
movzx eax, word [rbp + 0x190]
mov word [rdi + 0xc6], ax
mov eax, dword [rbp + 0x190]
cmp eax, dword [rbp + 0x194]
jne 0x14003e621
lea esi, [rax + 1]
test eax, eax
je 0x14003e57f
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003e584
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x14003e621
movsxd rcx, esi
shl rcx, 3
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003e5aa
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7378]
mov r12, rax
mov rdx, qword [rbp + 0x198]
test rdx, rdx
je 0x14003e604
movsxd r8, dword [rbp + 0x190]
shl r8, 3
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x198]
test rcx, rcx
je 0x14003e5f7
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003e5f7
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rbp + 0x198], r12
mov dword [rbp + 0x194], esi
mov eax, dword [rbp + 0x190]
mov r12, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
test r13d, r13d
setne cl
mov rdx, qword [rbp + 0x198]
cdqe
mov qword [rdx + rax*8], rdi
inc dword [rbp + 0x190]
or cl, r8b
mov esi, dword [rsp + 0x58]
jne 0x14003e657
cmp r14d, 0x3000000
je 0x14003e657
mov rax, qword [rbp + 0x100]
mov qword [rdi + 0x20], rax
vmovss xmm0, dword [rdi + 0xe0]
vmovss xmm1, dword [0x14010efd0]
vucomiss xmm1, xmm0
movabs rax, 0x7f7fffff7f7fffff
je 0x14003e684
cmp byte [rdi + 0xd9], 0
je 0x14003e93b
test esi, 0x10000000
jne 0x14003e6b8
test r13d, r13d
sete al
or al, r8b
jne 0x14003e6a1
cmp byte [rsp + 0x88], 0
jg 0x14003e6b8
test esi, 0x2000000
sete al
or al, r8b
jne 0x14003e6d9
cmp r14d, 0x3000000
je 0x14003e6d9
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140045740
mov r8d, dword [rsp + 0x48]
mov rax, qword [rsp + 0xc0]
mov qword [rdi + 0x20], rax
vmovsd xmm1, qword [r15 + 4]
vmovsd xmm0, qword [r15 + 0xc]
vaddps xmm2, xmm0, xmm1
vmovlhps xmm1, xmm1, xmm2
vmovups xmmword [rsp + 0x1f0], xmm1
vmovsd xmm1, qword [r15 + 0x14]
vmovsd xmm2, qword [r15 + 0x1c]
vaddps xmm2, xmm2, xmm1
vmovsd xmm3, qword [r12 + 0x388c]
vmovsd xmm4, qword [r12 + 0x3894]
vmaxps xmm3, xmm3, xmm4
vsubps xmm11, xmm2, xmm3
vaddps xmm8, xmm3, xmm1
test r8b, r8b
jne 0x14003e7de
test ebx, ebx
jne 0x14003e7de
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x14003e7de
vmovshdup xmm0, xmm0
vucomiss xmm0, xmm1
jbe 0x14003e7de
mov rax, qword [0x1402055d0]
vmovss xmm0, dword [rdi + 0x28]
vmovss xmm1, dword [rdi + 0x2c]
cmp byte [rax + 0x7f], 0
je 0x14003e7a7
test byte [rdi + 0x14], 1
jne 0x14003e7a7
mov rax, qword [rdi]
vmovss xmm1, dword [rdi + 0x290]
vmulss xmm1, xmm1, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003e797
vmulss xmm1, xmm1, dword [rcx + 0x290]
vmovss xmm2, dword [rax + 0x3810]
vaddss xmm1, xmm2, xmm1
vaddss xmm1, xmm2, xmm1
vinsertps xmm0, xmm0, xmm1, 0x10
vsubps xmm0, xmm8, xmm0
lea rax, [rdi + 0x20]
mov qword [rsp + 0x118], rax
vmovsd xmm1, qword [rdi + 0x20]
vcmpltps xmm2, xmm1, xmm0
vminps xmm1, xmm11, xmm1
vblendvps xmm0, xmm1, xmm0, xmm2
vroundps xmm0, xmm0, 0xb
vmovlps qword [rdi + 0x20], xmm0
jmp 0x14003e802
lea rax, [rdi + 0x20]
mov qword [rsp + 0x118], rax
vmovsd xmm0, qword [rdi + 0x20]
vroundps xmm0, xmm0, 0xb
vmovlps qword [rdi + 0x20], xmm0
test esi, 0x1000000
jne 0x14003e824
mov eax, esi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x14003e81a
lea rax, [r12 + 0x3804]
jmp 0x14003e82c
lea rax, [r12 + 0x37e0]
jmp 0x14003e82c
lea rax, [r12 + 0x37fc]
mov ecx, esi
shr ecx, 0xc
and ecx, 1
mov edx, dword [rsp + 0x8c]
xor dl, 1
or dl, cl
mov ecx, edx
xor cl, 1
xor r8d, r8d
test r14d, r14d
sete r8b
test r13d, r13d
setne r15b
vmovss xmm0, dword [rax]
vmovss dword [rdi + 0x58], xmm0
movzx eax, cl
cmovne r8d, eax
test dl, dl
cmovne r8d, eax
mov dword [rsp + 0x88], r8d
vxorps xmm1, xmm1, xmm1
vmovaps xmmword [rsp + 0x1c0], xmm1
cmp byte [r12 + 0x7e], 1
mov eax, 2
sbb eax, 0
mov dword [rsp + 0x104], eax
vaddss xmm15, xmm0, dword [0x14010ae10]
vmovss xmm14, dword [r12 + 0x3c20]
cmp byte [rdi + 0xb9], 0
je 0x14003e8cc
lea rax, [rdi + 0xc1]
mov qword [rsp + 0x108], rax
mov byte [rdi + 0xc1], 0xff
jmp 0x14003eb67
mov r8d, dword [rdi + 0x14]
test r8b, 0x42
jne 0x14003e8ec
cmp byte [rdi + 0xd0], 0
jg 0x14003e8ec
cmp byte [rdi + 0xd1], 0
jle 0x140040fda
lea rax, [rdi + 0xc1]
mov qword [rsp + 0x108], rax
mov byte [rdi + 0xc1], 0xff
mov ebx, dword [rsp + 0x90]
vxorps xmm1, xmm1, xmm1
cmp byte [rsp + 0x7c], 0
jne 0x14003e926
vmovsd xmm0, qword [rdi + 0x38]
vmovsd xmm1, qword [rdi + 0x50]
vaddps xmm1, xmm1, xmm1
vaddps xmm1, xmm0, xmm1
cmp byte [rsp + 0x5c], 0
je 0x14003ea07
vmovss xmm3, dword [rdi + 0x30]
jmp 0x14003ea17
and byte [rdi + 0xdc], 0xf1
vinsertps xmm0, xmm0, dword [rdi + 0xe4], 0x10
mov qword [rdi + 0xe0], rax
vmovsd xmm1, qword [rdi + 0x20]
vmovsd xmm2, qword [rdi + 0x28]
vmovsd xmm3, qword [rdi + 0xe8]
vmulps xmm2, xmm3, xmm2
vsubps xmm0, xmm0, xmm2
vroundps xmm0, xmm0, 0xb
vmovlps qword [rdi + 0x20], xmm0
vsubps xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vcmpeqps xmm2, xmm0, xmm1
vmovshdup xmm3, xmm0
vcmpeqps xmm1, xmm3, xmm1
vandps xmm1, xmm2, xmm1
vmovd eax, xmm1
test al, 1
jne 0x14003e6d9
test byte [rdi + 0x15], 1
jne 0x14003e9c6
mov rax, qword [0x1402055d0]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, dword [rax + 0x5c0c]
jb 0x14003e9c6
vmovss xmm1, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm1
vmovsd xmm1, qword [rdi + 0x100]
vmovsd xmm2, qword [rdi + 0x120]
vaddps xmm1, xmm1, xmm0
vmovlps qword [rdi + 0x100], xmm1
vmovddup xmm1, xmm0
vaddps xmm0, xmm2, xmm0
vmovlps qword [rdi + 0x120], xmm0
vaddps xmm0, xmm1, xmmword [rdi + 0x110]
vmovups xmmword [rdi + 0x110], xmm0
jmp 0x14003e6d9
vaddss xmm0, xmm6, dword [rdi + 0x200]
vsubss xmm3, xmm0, dword [rdi + 0x1f8]
vmovss xmm0, dword [rdi + 0x6c]
test bl, bl
je 0x14003ea4b
vmovss xmm2, dword [rdi + 0x34]
vaddss xmm4, xmm0, dword [rdi + 0x64]
vsubss xmm2, xmm2, xmm4
test esi, 0x4000
je 0x14003ea63
mov byte [rdi + 0xb5], 1
test si, si
js 0x14003ea9b
lea rcx, [rdi + 0xb5]
jmp 0x14003ea8d
vaddss xmm2, xmm9, dword [rdi + 0x204]
vsubss xmm2, xmm2, dword [rdi + 0x1fc]
test esi, 0x4000
jne 0x14003ea36
vmovshdup xmm4, xmm1
vucomiss xmm4, xmm2
seta cl
test sil, 8
sete al
and al, cl
lea rcx, [rdi + 0xb5]
mov byte [rdi + 0xb5], al
test si, si
js 0x14003eaa6
test al, al
je 0x14003eab3
vmovss xmm4, dword [r12 + 0x3844]
mov al, 1
jmp 0x14003eab9
mov byte [rdi + 0xb4], 1
mov al, 1
jmp 0x14003eb17
mov byte [rdi + 0xb4], 1
test al, al
je 0x14003eaed
jmp 0x14003eb17
vxorps xmm4, xmm4, xmm4
xor eax, eax
vsubss xmm3, xmm3, xmm4
vucomiss xmm1, xmm3
jbe 0x14003eb2b
mov edx, esi
and edx, 8
jne 0x14003eb2b
mov r8d, esi
and r8d, 0x800
mov edx, r8d
shr edx, 0xb
mov byte [rdi + 0xb4], dl
vxorps xmm3, xmm3, xmm3
test r8d, r8d
je 0x14003eb36
test al, al
jne 0x14003eb0f
lea rdx, [rdi + 0xb4]
vmovshdup xmm1, xmm1
vucomiss xmm1, xmm2
seta r8b
test sil, 8
sete al
and al, r8b
mov byte [rcx], al
movzx edx, byte [rdx]
test dl, dl
je 0x140040f7c
vmovss xmm3, dword [r12 + 0x3844]
test al, al
jne 0x14003eb3a
vxorps xmm1, xmm1, xmm1
jmp 0x14003eb44
mov byte [rdi + 0xb4], 0
vxorps xmm3, xmm3, xmm3
test al, al
je 0x14003eb25
vmovss xmm1, dword [r12 + 0x3844]
vmovss dword [rdi + 0xac], xmm1
vmovss dword [rdi + 0xb0], xmm3
vaddss xmm1, xmm1, dword [rdi + 0x68]
vmovss dword [rdi + 0x68], xmm1
vaddss xmm0, xmm0, xmm3
vmovss dword [rdi + 0x6c], xmm0
cmp r14d, 0x3000000
sete al
test esi, 0x1000000
sete bl
or bl, r15b
lea rcx, [rbp + 0x238]
or bl, al
lea rax, [rsp + 0x1f0]
cmove rax, rcx
vmovups xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0x140], xmm0
vmovss xmm4, dword [rdi + 0x20]
vmovss xmm1, dword [rdi + 0x24]
vmovsd xmm0, qword [rdi + 0x28]
vmovsd xmm3, qword [rdi + 0x20]
vaddps xmm2, xmm0, xmm3
vxorps xmm5, xmm5, xmm5
test byte [rdi + 0x14], 1
mov r14d, dword [rsp + 0x88]
jne 0x14003ec00
mov rax, qword [rdi]
vmovss xmm5, dword [rdi + 0x290]
vmulss xmm5, xmm5, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003ebf0
vmulss xmm5, xmm5, dword [rcx + 0x290]
vmovss xmm6, dword [rax + 0x3810]
vaddss xmm5, xmm6, xmm5
vaddss xmm5, xmm6, xmm5
mov ecx, esi
and ecx, 0x401
lea rax, [r12 + 0x3818]
lea rdx, [rdi + 0x5c]
cmp ecx, 1
cmove rax, rdx
vaddss xmm5, xmm5, xmm1
vaddss xmm4, xmm4, dword [rdi + 0x30]
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0xa0], rcx
vmovss dword [rsp + 0xa8], xmm4
vmovss dword [rsp + 0xac], xmm5
vmovddup xmm4, qword [rsp + 0x140]
vmaxps xmm3, xmm3, xmm4
vmovlps qword [rdi + 0x1e8], xmm3
lea r12, [rsp + 0x148]
vmovsd xmm3, qword [rsp + 0x148]
vminps xmm3, xmm2, xmm3
vmovlps qword [rdi + 0x1f0], xmm3
vmovd xmm3, ecx
vaddss xmm5, xmm0, xmm3
vmovsd xmm6, qword [rdi + 0x60]
vinsertps xmm1, xmm3, xmm1, 0x10
vaddps xmm1, xmm6, xmm1
vmovsd xmm3, qword [rdi + 0x68]
vblendps xmm2, xmm2, xmm5, 1
vsubps xmm2, xmm2, xmm3
vmovlhps xmm3, xmm1, xmm2
vmovups xmmword [rdi + 0x1f8], xmm3
vmovss xmm5, dword [rdi + 0x50]
vmulss xmm5, xmm5, dword [0x14010b520]
vmovss xmm6, dword [rdi + 0x5c]
vroundss xmm5, xmm5, xmm5, 0xb
vaddps xmm3, xmm3, xmmword [0x14010f210]
vmaxss xmm5, xmm5, xmm6
vinsertps xmm7, xmm5, dword [rax], 0x10
vinsertps xmm5, xmm5, xmm6, 0x36
vpermilps xmm5, xmm5, 0xc4
vaddps xmm6, xmm3, xmm7
vsubps xmm3, xmm3, xmm5
vblendps xmm3, xmm3, xmm6, 3
vroundps xmm3, xmm3, 0xb
vmovddup xmm5, qword [rsp + 0x148]
vcmpltps xmm6, xmm3, xmm4
vminps xmm3, xmm5, xmm3
vblendvps xmm3, xmm3, xmm4, xmm6
vmovups xmmword [rdi + 0x208], xmm3
test sil, 0x40
jne 0x14003ed38
vxorps xmm3, xmm3, xmm3
vucomiss xmm0, xmm3
jbe 0x14003ed38
mov eax, esi
and eax, 0x2000000
jne 0x14003ed38
vmulss xmm0, xmm0, dword [0x14010f220]
mov rsi, qword [rsp + 0x40]
jmp 0x14003ed4d
mov rsi, qword [rsp + 0x40]
vmovss xmm0, dword [rsi + 0x3c20]
vmulss xmm0, xmm0, dword [0x14010f224]
vroundss xmm0, xmm0, xmm0, 0xb
vmovss dword [rdi + 0x268], xmm0
vmovsd xmm0, qword [rdi + 0x38]
vmovsd xmm3, qword [rdi + 0x50]
vaddps xmm3, xmm3, xmm3
vaddps xmm0, xmm3, xmm0
vsubps xmm0, xmm0, xmm2
vaddps xmm0, xmm0, xmm1
vxorps xmm6, xmm6, xmm6
vmaxps xmm0, xmm0, xmm6
vmovlps qword [rdi + 0x8c], xmm0
lea r13, [rsp + 0xc0]
mov rcx, r13
mov rdx, rdi
call fcn.1400459c0
mov rax, qword [rsp + 0xc0]
mov qword [rdi + 0x84], rax
movabs rax, 0x7f7fffff7f7fffff
mov qword [rdi + 0x94], rax
vmovlps qword [rdi + 0x70], xmm6
mov rcx, qword [rdi + 0x298]
mov rax, qword [rsi + 0x3c18]
mov rax, qword [rax + 0x40]
mov rdx, qword [rax + 8]
call fcn.14004f030
mov rax, qword [0x1402055d0]
mov rcx, qword [rax + 0x3ef8]
mov byte [rcx + 0xb8], 1
mov rsi, qword [rax + 0x3ef8]
mov rcx, qword [rsi + 0x298]
mov dword [rsp + 0x48], 0
lea rdx, [rsp + 0x140]
mov r8, r12
xor r9d, r9d
call fcn.14004eed0
mov rax, qword [rsi + 0x298]
mov rcx, qword [rax + 0x60]
movsxd rax, dword [rax + 0x58]
shl rax, 4
vmovups xmm0, xmmword [rax + rcx - 0x10]
vmovups xmmword [rsi + 0x238], xmm0
test bl, bl
mov esi, dword [rsp + 0x58]
jne 0x14003eef1
mov eax, dword [rbp + 0x190]
cmp eax, 2
jl 0x14003eea6
add eax, 0xfffffffe
mov rcx, qword [rbp + 0x198]
mov rcx, qword [rcx + rax*8]
test rcx, rcx
je 0x14003eea6
vmovss xmm0, dword [rcx + 0x24]
vaddss xmm2, xmm0, dword [rcx + 0x2c]
vmovss xmm1, dword [rdi + 0x24]
xor eax, eax
vucomiss xmm2, xmm1
jbe 0x14003eea8
vaddss xmm1, xmm1, dword [rdi + 0x2c]
vucomiss xmm1, xmm0
jbe 0x14003eea8
vmovss xmm0, dword [rcx + 0x20]
vaddss xmm2, xmm0, dword [rcx + 0x28]
vmovss xmm1, dword [rdi + 0x20]
vucomiss xmm1, xmm2
jae 0x14003eea8
vaddss xmm1, xmm1, dword [rdi + 0x28]
vucomiss xmm1, xmm0
seta al
jmp 0x14003eea8
xor eax, eax
mov rcx, qword [rdi + 0x298]
mov rdx, qword [rcx + 8]
movsxd rcx, dword [rcx]
imul rcx, rcx, 0x38
cmp dword [rcx + rdx - 0x18], 0
jne 0x14003eee9
mov dword [rsp + 0x48], 0
mov rcx, qword [rbp + 0x298]
cmp dword [rcx + 0x20], 0
je 0x14003eef1
test al, al
jne 0x14003eef1
mov qword [rdi + 0x298], rcx
mov al, 1
mov dword [rsp + 0x48], eax
jmp 0x14003eef1
mov dword [rsp + 0x48], 0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x4a60]
test rax, rax
jne 0x14003ef09
mov rax, qword [rcx + 0x48d8]
mov bpl, 1
test r14b, 1
jne 0x14003ef2d
test rax, rax
je 0x14003ef2b
mov rcx, qword [rdi + 0x388]
cmp rcx, qword [rax + 0x388]
sete bpl
jmp 0x14003ef2d
xor ebp, ebp
mov r12, qword [0x1402055d0]
mov ebx, dword [rdi + 0x14]
mov byte [rdi + 0xbb], 0
vmovss xmm6, dword [rdi + 0x58]
vmovss xmm11, dword [rdi + 0x5c]
cmp byte [rdi + 0xb9], 0
je 0x14003f080
vmovss xmm7, dword [r12 + 0x3818]
vmovss dword [r12 + 0x3818], xmm11
mov eax, 0xc
test bpl, bpl
je 0x14003ef80
cmp byte [r12 + 0x4916], 1
sbb rax, 0
shl rax, 4
vmovss xmm0, dword [r12 + 0x37d0]
vmulss xmm0, xmm0, dword [r12 + rax + 0x38c4]
vmovss xmm1, dword [0x14010ae10]
vminss xmm2, xmm1, dword [r12 + rax + 0x38b8]
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmovss xmm4, dword [0x14010ce70]
vmulss xmm2, xmm2, xmm4
vmovss xmm5, dword [0x14010b520]
vaddss xmm2, xmm2, xmm5
vcvttss2si ecx, xmm2
vminss xmm1, xmm1, dword [r12 + rax + 0x38bc]
vmaxss xmm1, xmm1, xmm3
vmulss xmm1, xmm1, xmm4
vaddss xmm1, xmm1, xmm5
vcvttss2si edx, xmm1
shl edx, 8
or edx, ecx
vmovss xmm1, dword [r12 + rax + 0x38c0]
vinsertps xmm0, xmm1, xmm0, 0x10
vminps xmm0, xmm0, xmmword [0x14010b490]
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vmulps xmm0, xmm0, xmmword [0x14010ce60]
vaddps xmm0, xmm0, xmmword [0x14010ae00]
vcvttps2dq xmm0, xmm0
vpslld xmm1, xmm0, 0x18
vpslld xmm0, xmm0, 0x10
vmovd eax, xmm0
vpextrd r8d, xmm1, 1
or eax, edx
or r8d, eax
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
vmovss dword [rsp + 0x20], xmm6
mov r9b, 1
call fcn.140030a50
vmovss dword [r12 + 0x3818], xmm7
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x98]
mov ebx, dword [rsp + 0x48]
jmp 0x14003ffda
test bl, bl
js 0x14003f22c
xor ecx, ecx
test ebx, 0x1000000
sete cl
xor rcx, 3
test ebx, 0x6000000
mov eax, 4
cmove rax, rcx
shl rax, 4
vmovss xmm1, dword [0x14010ae10]
vminss xmm2, xmm1, dword [r12 + rax + 0x38b8]
vxorps xmm0, xmm0, xmm0
vmaxss xmm3, xmm2, xmm0
vmovss xmm2, dword [0x14010ce70]
vmulss xmm4, xmm3, xmm2
vmovss xmm3, dword [0x14010b520]
vaddss xmm4, xmm4, xmm3
vcvttss2si edx, xmm4
vmovsd xmm4, qword [r12 + rax + 0x38bc]
vminps xmm4, xmm4, xmmword [0x14010b490]
vxorps xmm5, xmm5, xmm5
vmaxps xmm4, xmm4, xmm5
vmulps xmm4, xmm4, xmmword [0x14010ce60]
vaddps xmm4, xmm4, xmmword [0x14010ae00]
vcvttps2dq xmm4, xmm4
vpslld xmm5, xmm4, 0x10
vpslld xmm4, xmm4, 8
vmovd r8d, xmm4
vpextrd ecx, xmm5, 1
or r8d, edx
or ecx, r8d
test byte [r12 + 0x47d0], 0x40
jne 0x14003f15a
vmovss xmm4, dword [r12 + 0x37d0]
vmulss xmm4, xmm4, dword [r12 + rax + 0x38c4]
vminss xmm1, xmm4, xmm1
vmaxss xmm1, xmm1, xmm0
vmulss xmm1, xmm1, xmm2
vaddss xmm1, xmm1, xmm3
jmp 0x14003f186
vmovss xmm1, dword [r12 + 0x4830]
and ecx, 0xffffff
vminss xmm1, xmm1, dword [0x14010ae10]
vmaxss xmm1, xmm1, xmm0
vmulss xmm1, xmm1, dword [0x14010ce70]
vaddss xmm1, xmm1, dword [0x14010b520]
vcvttss2si r9d, xmm1
shl r9d, 0x18
or r9d, ecx
mov rcx, qword [rdi + 0x298]
xor edx, edx
mov eax, 0xc0
vmovss xmm1, dword [rdi + 0x20]
vmovss xmm2, dword [rdi + 0x24]
vmovsd xmm3, qword [rdi + 0x28]
vmovsd xmm4, qword [rdi + 0x20]
vaddps xmm3, xmm3, xmm4
vmovlps qword [rsp + 0xc0], xmm3
test bl, 1
cmovne eax, edx
jne 0x14003f200
mov rdx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rdx + 0x3c24]
mov r8, qword [rdi + 0x368]
test r8, r8
je 0x14003f1f0
vmulss xmm0, xmm0, dword [r8 + 0x290]
vmovss xmm3, dword [rdx + 0x3810]
vaddss xmm0, xmm3, xmm0
vaddss xmm0, xmm3, xmm0
vaddss xmm0, xmm0, xmm2
vmovss dword [rsp + 0x60], xmm1
vmovss dword [rsp + 0x64], xmm0
mov dword [rsp + 0x28], eax
vmovss dword [rsp + 0x20], xmm6
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0xc0]
call fcn.140051740
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [r12 + 0x38ac]
jae 0x14003f3a8
mov eax, ebx
and eax, 0x5000000
cmp eax, 0x1000000
je 0x14003f3a8
vucomiss xmm0, dword [r12 + 0x3c14]
jae 0x14003f3a8
mov rax, qword [0x1402055d0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x3c14]
vmovss xmm2, dword [0x14010ae10]
vminss xmm3, xmm2, dword [rax + 0x3c08]
vmaxss xmm3, xmm3, xmm0
vmovss xmm4, dword [0x14010ce70]
vmulss xmm3, xmm3, xmm4
vmovss xmm5, dword [0x14010b520]
vaddss xmm3, xmm3, xmm5
vcvttss2si ecx, xmm3
vminss xmm2, xmm2, dword [rax + 0x3c0c]
vmaxss xmm0, xmm2, xmm0
vmulss xmm0, xmm0, xmm4
vaddss xmm0, xmm0, xmm5
vcvttss2si edx, xmm0
shl edx, 8
vmovss xmm0, dword [rax + 0x3c10]
vinsertps xmm0, xmm0, xmm1, 0x10
vminps xmm0, xmm0, xmmword [0x14010b490]
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vmulps xmm0, xmm0, xmmword [0x14010ce60]
vaddps xmm0, xmm0, xmmword [0x14010ae00]
or edx, ecx
vcvttps2dq xmm0, xmm0
vpslld xmm1, xmm0, 0x18
vpslld xmm0, xmm0, 0x10
vmovd ecx, xmm0
or ecx, edx
vpextrd r15d, xmm1, 1
vmovss xmm9, dword [rax + 0x38ac]
or r15d, ecx
vmovss xmm10, dword [rax + 0x38b0]
vmovss xmm7, dword [rax + 0x38b4]
vmovaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm8, xmm0
vmovaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm1, xmm8, xmm10
vmulss xmm0, xmm10, xmm0
vmovss dword [rsp + 0xc0], xmm0
vmovss dword [rsp + 0xc4], xmm1
mov rcx, qword [rdi + 0x298]
vmovss xmm0, dword [rdi + 0x58]
vmovsd xmm1, qword [rdi + 0x20]
vmovsd xmm2, qword [rdi + 0x28]
vaddps xmm1, xmm2, xmm1
vmovlps qword [rsp + 0x60], xmm1
vmovss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x28], r13
vmovss dword [rsp + 0x20], xmm9
mov dword [rsp + 0x30], 0x200
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x118]
mov r9d, r15d
call fcn.1400537a0
test bl, 1
jne 0x14003f49d
mov rax, qword [0x1402055d0]
movzx ecx, bpl
shl rcx, 4
vmovss xmm0, dword [rax + 0x37d0]
vmulss xmm0, xmm0, dword [rcx + rax + 0x3964]
lea r8, [rsp + 0xa8]
vmovss xmm1, dword [0x14010ae10]
vminss xmm2, xmm1, dword [rcx + rax + 0x3958]
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmovss xmm4, dword [0x14010ce70]
vmulss xmm2, xmm2, xmm4
vmovss xmm5, dword [0x14010b520]
vaddss xmm2, xmm2, xmm5
vcvttss2si edx, xmm2
vminss xmm1, xmm1, dword [rcx + rax + 0x395c]
vmaxss xmm1, xmm1, xmm3
vmulss xmm1, xmm1, xmm4
vaddss xmm1, xmm1, xmm5
vcvttss2si r9d, xmm1
shl r9d, 8
vmovss xmm1, dword [rcx + rax + 0x3960]
vinsertps xmm0, xmm1, xmm0, 0x10
vminps xmm0, xmm0, xmmword [0x14010b490]
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vmulps xmm0, xmm0, xmmword [0x14010ce60]
or r9d, edx
vaddps xmm0, xmm0, xmmword [0x14010ae00]
vcvttps2dq xmm0, xmm0
vpslld xmm1, xmm0, 0x18
vpslld xmm0, xmm0, 0x10
vmovd eax, xmm0
or eax, r9d
vpextrd r9d, xmm1, 1
or r9d, eax
mov rcx, qword [rdi + 0x298]
vmovss dword [rsp + 0x20], xmm6
mov dword [rsp + 0x28], 0x30
lea rdx, [rsp + 0xa0]
call fcn.140051740
test ebx, 0x400
je 0x14003f7a0
mov eax, dword [rdi + 0x14]
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
test al, 1
jne 0x14003f4ef
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rcx + 0x3c24]
mov rdx, qword [rdi + 0x368]
test rdx, rdx
je 0x14003f4df
vmulss xmm0, xmm0, dword [rdx + 0x290]
vmovss xmm2, dword [rcx + 0x3810]
vaddss xmm0, xmm2, xmm0
vaddss xmm0, xmm2, xmm0
vmovss xmm2, dword [rdi + 0x24]
test eax, 0x400
je 0x14003f53e
mov rax, qword [rdi]
vmovss xmm1, dword [rdi + 0x168]
vmovss xmm3, dword [rdi + 0x290]
vmulss xmm3, xmm3, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003f52a
vmulss xmm3, xmm3, dword [rcx + 0x290]
vmovss xmm4, dword [rax + 0x3810]
vaddss xmm4, xmm4, xmm4
vaddss xmm1, xmm1, xmm4
vaddss xmm1, xmm3, xmm1
vmovaps xmm10, xmm15
vmovaps xmm15, xmm14
vaddss xmm3, xmm0, xmm2
vmovss xmm7, dword [rdi + 0x20]
vmaxss xmm0, xmm3, xmm2
vmovss xmm4, dword [rdi + 0x30]
vinsertps xmm1, xmm4, xmm1, 0x10
vinsertps xmm3, xmm7, xmm3, 0x10
vaddps xmm1, xmm1, xmm3
vmovsd xmm3, qword [rdi + 0x28]
vinsertps xmm2, xmm7, xmm2, 0x10
vaddps xmm2, xmm3, xmm2
vminps xmm9, xmm1, xmm2
vmovshdup xmm8, xmm9
mov rcx, qword [rdi + 0x298]
vxorps xmm14, xmm14, xmm14
vxorps xmm1, xmm1, xmm1
test bl, 1
je 0x14003f59b
vmovaps xmm1, xmm6
mov rax, qword [0x1402055d0]
vmovss xmm2, dword [rax + 0x37d0]
vmulss xmm2, xmm2, dword [rax + 0x3994]
vmovss xmm4, dword [0x14010ae10]
vminss xmm3, xmm4, dword [rax + 0x3988]
vmaxss xmm3, xmm14, xmm3
vmovss xmm12, dword [0x14010ce70]
vmulss xmm3, xmm12, xmm3
vmovss xmm13, dword [0x14010b520]
vaddss xmm3, xmm13, xmm3
vcvttss2si edx, xmm3
vminss xmm3, xmm4, dword [rax + 0x398c]
vmaxss xmm3, xmm14, xmm3
vmulss xmm3, xmm12, xmm3
vaddss xmm3, xmm13, xmm3
vcvttss2si r8d, xmm3
shl r8d, 8
or r8d, edx
vmovss xmm3, dword [rax + 0x3990]
vinsertps xmm2, xmm3, xmm2, 0x10
vminps xmm2, xmm2, xmmword [0x14010b490]
vxorps xmm3, xmm3, xmm3
vmaxps xmm2, xmm2, xmm3
vmulps xmm2, xmm2, xmmword [0x14010ce60]
vaddps xmm2, xmm2, xmmword [0x14010ae00]
vcvttps2dq xmm2, xmm2
vpslld xmm3, xmm2, 0x18
vpslld xmm2, xmm2, 0x10
vmovd eax, xmm2
vpextrd r9d, xmm3, 1
or eax, r8d
or r9d, eax
vsubss xmm2, xmm9, xmm11
vmovss dword [rsp + 0xc0], xmm2
vmovss dword [rsp + 0xc4], xmm8
vaddss xmm2, xmm11, xmm7
vmovss dword [rsp + 0x60], xmm2
vmovss dword [rsp + 0x64], xmm0
vmovss dword [rsp + 0x20], xmm1
mov dword [rsp + 0x28], 0x30
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0xc0]
call fcn.140051740
vmovss xmm0, dword [r12 + 0x3818]
vucomiss xmm14, xmm0
vmovaps xmm14, xmm15
vmovaps xmm15, xmm10
jae 0x14003f7a0
vmovss xmm1, dword [rdi + 0x2c]
vaddss xmm1, xmm1, dword [rdi + 0x24]
vucomiss xmm8, xmm1
jae 0x14003f7a0
mov rax, qword [0x1402055d0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x3914]
vmovss xmm4, dword [0x14010ae10]
vminss xmm2, xmm4, dword [rax + 0x3908]
vpxor xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmulss xmm2, xmm12, xmm2
vaddss xmm2, xmm13, xmm2
vcvttss2si edx, xmm2
vminss xmm2, xmm4, dword [rax + 0x390c]
vmaxss xmm2, xmm2, xmm3
vmulss xmm2, xmm12, xmm2
vaddss xmm2, xmm13, xmm2
vcvttss2si r8d, xmm2
mov rcx, qword [rdi + 0x298]
shl r8d, 8
vmovss xmm2, dword [rax + 0x3910]
vinsertps xmm1, xmm2, xmm1, 0x10
vminps xmm1, xmm1, xmmword [0x14010b490]
vxorps xmm2, xmm2, xmm2
vmaxps xmm1, xmm1, xmm2
vmulps xmm1, xmm1, xmmword [0x14010ce60]
vaddps xmm1, xmm1, xmmword [0x14010ae00]
or r8d, edx
vcvttps2dq xmm1, xmm1
vpslld xmm2, xmm1, 0x18
vpslld xmm1, xmm1, 0x10
vmovd eax, xmm1
or eax, r8d
vpextrd r9d, xmm2, 1
or r9d, eax
vmovlps qword [rsp + 0xc0], xmm9
vmovss dword [rsp + 0x60], xmm7
vmovss dword [rsp + 0x64], xmm8
vmovss dword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0xc0]
call fcn.1400514c0
cmp byte [rdi + 0xb4], 0
je 0x14003f7b0
xor ecx, ecx
call fcn.14006c510
cmp byte [rdi + 0xb5], 0
mov r12, qword [rsp + 0x40]
je 0x14003f7c8
mov ecx, 1
call fcn.14006c510
test bl, 2
jne 0x14003faa1
vmulss xmm0, xmm14, dword [0x14010f110]
vaddss xmm0, xmm15, xmm0
vmulss xmm1, xmm14, dword [0x14010f1a0]
vmaxss xmm0, xmm1, xmm0
vroundss xmm0, xmm0, xmm0, 0xb
vaddss xmm1, xmm11, xmm6
mov eax, dword [rsp + 0x104]
vinsertps xmm7, xmm11, xmm0, 0x10
vinsertps xmm8, xmm0, xmm11, 0x10
vmovsldup xmm9, xmm1
lea r14, [0x140110014]
xor ebp, ebp
mov qword [rsp + 0x90], rax
jmp 0x14003f8b1
mov r12, qword [rsp + 0x40]
vmulps xmm0, xmm10, xmm12
vaddps xmm0, xmm11, xmm0
mov rcx, qword [rsi + 0x80]
cdqe
vmovlps qword [rcx + rax*8], xmm0
inc dword [rsi + 0x78]
mov rcx, qword [rdi + 0x298]
mov r9d, dword [r14 - 4]
mov eax, dword [r14]
vmulps xmm0, xmm10, xmm9
vaddps xmm0, xmm11, xmm0
vmovlps qword [rsp + 0xc0], xmm0
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0xc0]
vmovaps xmm2, xmm6
call fcn.140050a20
mov r15, qword [rdi + 0x298]
mov r8d, dword [r15 + 0x78]
mov rdx, qword [r15 + 0x80]
mov rcx, r15
mov r9d, r13d
call fcn.14004ff00
mov dword [r15 + 0x78], 0
mov rax, qword [rsp + 0x90]
inc rbp
add r14, 0x18
cmp rax, rbp
je 0x14003faa1
mov r13d, dword [rsp + rbp*4 + 0x1c0]
cmp r13d, 0x1000000
jb 0x14003f8a1
mov r12, qword [rdi + 0x298]
test bpl, 1
sete sil
vmovsd xmm11, qword [rdi + 0x20]
vmovsd xmm12, qword [rdi + 0x28]
vmovsd xmm13, qword [r14 - 0x14]
vmovsd xmm10, qword [r14 - 0xc]
mov eax, dword [r12 + 0x78]
cmp eax, dword [r12 + 0x7c]
jne 0x14003f9a2
lea ebx, [rax + 1]
test eax, eax
je 0x14003f90b
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003f910
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x14003f9a2
movsxd rcx, ebx
shl rcx, 3
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003f936
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [r12 + 0x80]
test rdx, rdx
je 0x14003f990
movsxd r8, dword [r12 + 0x78]
shl r8, 3
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r12 + 0x80]
test rcx, rcx
je 0x14003f983
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003f983
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [r12 + 0x80], r15
mov dword [r12 + 0x7c], ebx
mov eax, dword [r12 + 0x78]
vmulps xmm0, xmm13, xmm12
vaddps xmm11, xmm11, xmm0
vmovd xmm0, esi
vpshufd xmm0, xmm0, 0x50
vpslld xmm0, xmm0, 0x1f
vblendvps xmm12, xmm8, xmm7, xmm0
vpermilps xmm0, xmm12, 0xe1
vmulps xmm0, xmm10, xmm0
vaddps xmm0, xmm11, xmm0
mov rcx, qword [r12 + 0x80]
cdqe
vmovlps qword [rcx + rax*8], xmm0
inc dword [r12 + 0x78]
mov rsi, qword [rdi + 0x298]
mov eax, dword [rsi + 0x78]
cmp eax, dword [rsi + 0x7c]
jne 0x14003f820
lea ebx, [rax + 1]
test eax, eax
mov r12, qword [rsp + 0x40]
je 0x14003fa0d
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003fa12
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x14003f825
movsxd rcx, ebx
shl rcx, 3
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003fa38
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [rsi + 0x80]
test rdx, rdx
je 0x14003fa8f
movsxd r8, dword [rsi + 0x78]
shl r8, 3
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x14003fa82
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14003fa82
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rsi + 0x80], r15
mov dword [rsi + 0x7c], ebx
mov eax, dword [rsi + 0x78]
jmp 0x14003f825
mov rbx, qword [0x1402055d0]
vmovss xmm6, dword [rdi + 0x58]
vmovss xmm8, dword [rdi + 0x5c]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm8
jae 0x14003fbbe
test byte [rdi + 0x14], 0x80
jne 0x14003fbbe
vmovss xmm0, dword [rbx + 0x37d0]
vmulss xmm0, xmm0, dword [rbx + 0x3914]
vmovss xmm1, dword [0x14010ae10]
vminss xmm2, xmm1, dword [rbx + 0x3908]
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmovss xmm4, dword [0x14010ce70]
vmulss xmm2, xmm2, xmm4
vmovss xmm5, dword [0x14010b520]
vaddss xmm2, xmm2, xmm5
vcvttss2si eax, xmm2
mov rcx, qword [rdi + 0x298]
vminss xmm1, xmm1, dword [rbx + 0x390c]
vmaxss xmm1, xmm1, xmm3
vmulss xmm1, xmm1, xmm4
vaddss xmm1, xmm1, xmm5
vcvttss2si edx, xmm1
shl edx, 8
or edx, eax
vmovss xmm1, dword [rbx + 0x3910]
vinsertps xmm0, xmm1, xmm0, 0x10
vminps xmm0, xmm0, xmmword [0x14010b490]
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vmulps xmm0, xmm0, xmmword [0x14010ce60]
vaddps xmm0, xmm0, xmmword [0x14010ae00]
vcvttps2dq xmm0, xmm0
vpslld xmm1, xmm0, 0x18
vpslld xmm0, xmm0, 0x10
vmovd eax, xmm0
or eax, edx
vpextrd r9d, xmm1, 1
or r9d, eax
vmovsd xmm0, qword [rdi + 0x20]
vmovsd xmm1, qword [rdi + 0x28]
vaddps xmm0, xmm1, xmm0
vmovlps qword [rsp + 0xc0], xmm0
vmovss dword [rsp + 0x30], xmm8
vmovss dword [rsp + 0x20], xmm6
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0xc0]
mov rdx, qword [rsp + 0x118]
call fcn.140051660
mov rax, qword [rsp + 0x108]
movsx edx, byte [rax]
cmp edx, 0xffffffff
mov r13, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x98]
je 0x14003fe5c
movsx rax, dl
lea rcx, [rax + rax*8]
lea rsi, [rcx + rcx*2]
lea r14, [0x140110060]
lea rcx, [r14 + rax]
add rcx, rsi
vxorps xmm9, xmm9, xmm9
vxorps xmm2, xmm2, xmm2
vxorps xmm0, xmm0, xmm0
vxorps xmm4, xmm4, xmm4
vxorps xmm1, xmm1, xmm1
cmp edx, 3
ja case.default.0x14003fc4a
vmovss xmm0, dword [rdi + 0x20]
vmovss xmm3, dword [0x14010b544]
vaddss xmm1, xmm0, xmm3
vaddss xmm1, xmm1, dword [rdi + 0x28]
vmovss xmm2, dword [rdi + 0x24]
vaddss xmm3, xmm2, xmm3
vaddss xmm4, xmm3, dword [rdi + 0x2c]
mov edx, edx
lea r8, [0x140041ccc]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
vsubss xmm1, xmm4, xmm6
vaddss xmm4, xmm2, xmm6
vmovaps xmm2, xmm1
vmovaps xmm1, xmm0
jmp case.default.0x14003fc4a
vsubss xmm0, xmm4, xmm6
vaddss xmm4, xmm2, xmm6
vmovaps xmm2, xmm0
vmovaps xmm0, xmm1
jmp case.default.0x14003fc4a
vsubss xmm3, xmm1, xmm6
vaddss xmm1, xmm0, xmm6
vmovaps xmm0, xmm3
vmovaps xmm4, xmm2
jmp case.default.0x14003fc4a
vsubss xmm3, xmm1, xmm6
vaddss xmm1, xmm0, xmm6
vmovaps xmm2, xmm4
vmovaps xmm0, xmm3
add rsi, rax
vmovss xmm7, dword [r14 + rsi + 0x18]
vaddss xmm3, xmm7, dword [0x14010f228]
vmulss xmm5, xmm6, dword [rcx + 4]
vmulss xmm11, xmm6, dword [rcx]
mov rcx, qword [rdi + 0x298]
vsubss xmm12, xmm2, xmm4
vmulss xmm2, xmm12, dword [r14 + rsi + 0xc]
vsubss xmm13, xmm0, xmm1
vmulss xmm0, xmm13, dword [r14 + rsi + 8]
vmovss xmm10, dword [0x14010b520]
vaddss xmm4, xmm10, xmm4
vaddss xmm14, xmm4, xmm5
vaddss xmm2, xmm14, xmm2
vaddss xmm1, xmm10, xmm1
vaddss xmm11, xmm11, xmm1
vaddss xmm0, xmm11, xmm0
vmovss dword [rsp + 0xc0], xmm0
vmovss dword [rsp + 0xc4], xmm2
vmovss dword [rsp + 0x20], xmm7
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0xc0]
vmovaps xmm2, xmm6
call fcn.140050af0
mov rcx, qword [rdi + 0x298]
vaddss xmm0, xmm7, dword [0x14010f22c]
vmulss xmm1, xmm12, dword [r14 + rsi + 0x14]
vmulss xmm2, xmm13, dword [r14 + rsi + 0x10]
vaddss xmm1, xmm14, xmm1
vaddss xmm2, xmm11, xmm2
vmovss dword [rsp + 0xc0], xmm2
vmovss dword [rsp + 0xc4], xmm1
vmovss dword [rsp + 0x20], xmm0
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0xc0]
vmovaps xmm2, xmm6
vmovaps xmm3, xmm7
call fcn.140050af0
vmaxss xmm0, xmm8, dword [0x14010b510]
mov rax, qword [0x1402055d0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x3a94]
vmovss xmm2, dword [0x14010ae10]
vminss xmm3, xmm2, dword [rax + 0x3a88]
vmaxss xmm3, xmm9, xmm3
vmovss xmm4, dword [0x14010ce70]
vmulss xmm3, xmm3, xmm4
vaddss xmm3, xmm10, xmm3
vcvttss2si ecx, xmm3
vminss xmm2, xmm2, dword [rax + 0x3a8c]
mov r12, qword [rdi + 0x298]
vmaxss xmm2, xmm9, xmm2
vmulss xmm2, xmm2, xmm4
vaddss xmm2, xmm10, xmm2
vcvttss2si edx, xmm2
shl edx, 8
or edx, ecx
vmovss xmm2, dword [rax + 0x3a90]
vinsertps xmm1, xmm2, xmm1, 0x10
vminps xmm1, xmm1, xmmword [0x14010b490]
vxorps xmm2, xmm2, xmm2
vmaxps xmm1, xmm1, xmm2
vmulps xmm1, xmm1, xmmword [0x14010ce60]
vaddps xmm1, xmm1, xmmword [0x14010ae00]
vcvttps2dq xmm1, xmm1
vpslld xmm2, xmm1, 0x18
vpslld xmm1, xmm1, 0x10
vmovd eax, xmm1
vpextrd r9d, xmm2, 1
or eax, edx
or r9d, eax
mov r8d, dword [r12 + 0x78]
mov rdx, qword [r12 + 0x80]
vmovss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.14004f350
mov dword [r12 + 0x78], 0
mov r12, qword [rsp + 0x40]
vmovss xmm0, dword [rbx + 0x3818]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
mov esi, dword [rsp + 0x58]
mov r14d, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x48]
jae 0x14003ffda
test byte [rdi + 0x14], 1
jne 0x14003ffda
vmovss xmm1, dword [rdi + 0x24]
mov rax, qword [rdi]
vmovss xmm2, dword [rdi + 0x290]
vmulss xmm2, xmm2, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003feb8
vmulss xmm2, xmm2, dword [rcx + 0x290]
vmovss xmm3, dword [rax + 0x3810]
vaddss xmm3, xmm3, xmm3
vaddss xmm2, xmm2, xmm3
vaddss xmm1, xmm1, dword [0x14010b544]
vaddss xmm1, xmm1, xmm2
mov rax, qword [0x1402055d0]
vmovss xmm2, dword [rax + 0x37d0]
vmulss xmm2, xmm2, dword [rax + 0x3914]
mov rcx, qword [rdi + 0x298]
vmovss xmm3, dword [0x14010ae10]
vminss xmm4, xmm3, dword [rax + 0x3908]
vxorps xmm5, xmm5, xmm5
vmaxss xmm4, xmm4, xmm5
vmovss xmm6, dword [0x14010ce70]
vmulss xmm4, xmm4, xmm6
vmovss xmm7, dword [0x14010b520]
vaddss xmm4, xmm4, xmm7
vcvttss2si edx, xmm4
vminss xmm3, xmm3, dword [rax + 0x390c]
vmaxss xmm3, xmm3, xmm5
vmulss xmm3, xmm3, xmm6
vaddss xmm3, xmm3, xmm7
vcvttss2si r8d, xmm3
shl r8d, 8
vmovss xmm3, dword [rax + 0x3910]
vinsertps xmm2, xmm3, xmm2, 0x10
vminps xmm2, xmm2, xmmword [0x14010b490]
vxorps xmm3, xmm3, xmm3
vmaxps xmm2, xmm2, xmm3
vmulps xmm2, xmm2, xmmword [0x14010ce60]
or r8d, edx
vaddps xmm2, xmm2, xmmword [0x14010ae00]
vcvttps2dq xmm2, xmm2
vpslld xmm3, xmm2, 0x18
vpslld xmm2, xmm2, 0x10
vmovd eax, xmm2
or eax, r8d
vpextrd r9d, xmm3, 1
or r9d, eax
vmovss xmm2, dword [rdi + 0x20]
vsubss xmm3, xmm2, xmm8
vaddss xmm3, xmm3, dword [rdi + 0x28]
vmovss dword [rsp + 0xc0], xmm3
vmovss dword [rsp + 0xc4], xmm1
vaddss xmm2, xmm8, xmm2
vmovss dword [rsp + 0x60], xmm2
vmovss dword [rsp + 0x64], xmm1
vmovss dword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0xc0]
call fcn.1400514c0
test bl, bl
je 0x14003ffec
lea rax, [rdi + 0x2a0]
mov qword [rdi + 0x298], rax
vmovss xmm0, dword [rdi + 0x48]
vpxor xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
vmovaps xmm4, xmm0
jne 0x14004003d
mov eax, esi
and eax, 0x808
vmovss xmm2, dword [rdi + 0x28]
vmovss xmm3, dword [rdi + 0x50]
vmovss xmm4, dword [rdi + 0x60]
vaddss xmm3, xmm3, xmm3
vsubss xmm2, xmm2, xmm3
vaddss xmm3, xmm4, dword [rdi + 0x68]
vsubss xmm2, xmm2, xmm3
cmp eax, 0x800
jne 0x140040039
mov rax, qword [rsp + 0x158]
vmovss xmm1, dword [rax]
vmaxss xmm4, xmm1, xmm2
vmovss xmm2, dword [rdi + 0x4c]
vxorps xmm5, xmm5, xmm5
vucomiss xmm5, xmm2
je 0x14004005c
vmovss xmm3, dword [rdi + 0x54]
vmovss xmm1, dword [rdi + 0x64]
vmovaps xmm5, xmm2
jmp 0x14004008b
vmovss xmm6, dword [rdi + 0x2c]
vmovss xmm3, dword [rdi + 0x54]
vmovss xmm1, dword [rdi + 0x64]
vaddss xmm7, xmm3, xmm3
vsubss xmm6, xmm6, xmm7
vaddss xmm7, xmm1, dword [rdi + 0x6c]
vsubss xmm6, xmm6, xmm7
test sil, 8
jne 0x140040087
vmovss xmm5, dword [rdi + 0x3c]
vmaxss xmm5, xmm5, xmm6
vinsertps xmm6, xmm4, xmm5, 0x10
vxorps xmm9, xmm9, xmm9
vucomiss xmm0, xmm9
vmovss xmm11, dword [rdi + 0x50]
vmovsd xmm4, qword [rdi + 0x84]
vmovshdup xmm12, xmm4
vmovsd xmm7, qword [rdi + 0x1f8]
vinsertps xmm5, xmm11, xmm3, 0x10
vbroadcastss xmm8, dword [rdi + 0x5c]
vmaxps xmm8, xmm8, xmm5
vsubps xmm7, xmm7, xmm4
vaddps xmm7, xmm8, xmm7
vroundps xmm7, xmm7, 0xb
vaddps xmm6, xmm6, xmm7
vmovlhps xmm6, xmm7, xmm6
vmovups xmmword [rdi + 0x218], xmm6
vmovups xmm6, xmmword [rdi + 0x218]
vmovups xmmword [rdi + 0x228], xmm6
vmovss xmm7, dword [rdi + 0x20]
vmovss xmm8, dword [rdi + 0x24]
vmovss xmm6, dword [rdi + 0x60]
vaddss xmm10, xmm11, xmm6
vsubss xmm10, xmm10, xmm4
vaddss xmm13, xmm10, xmm7
vmovss dword [rdi + 0x248], xmm13
vsubss xmm12, xmm3, xmm12
vaddss xmm14, xmm8, xmm1
vaddss xmm12, xmm12, xmm14
vmovss dword [rdi + 0x24c], xmm12
jne 0x140040146
vmovss xmm0, dword [rdi + 0x28]
vaddss xmm11, xmm11, xmm11
vsubss xmm0, xmm0, xmm11
vaddss xmm11, xmm6, dword [rdi + 0x68]
vsubss xmm0, xmm0, xmm11
vucomiss xmm2, xmm9
vaddss xmm0, xmm13, xmm0
vmovss dword [rdi + 0x250], xmm0
jne 0x14004016f
vmovss xmm0, dword [rdi + 0x2c]
vaddss xmm2, xmm3, xmm3
vsubss xmm0, xmm0, xmm2
vaddss xmm2, xmm1, dword [rdi + 0x6c]
vsubss xmm2, xmm0, xmm2
vaddss xmm0, xmm12, xmm2
vmovss dword [rdi + 0x254], xmm0
vmovss dword [rdi + 0x144], xmm10
vinsertps xmm0, xmm7, xmm8, 0x10
vcvtps2pd xmm0, xmm0
vcvtps2pd xmm2, xmm5
vcvtps2pd xmm3, xmm4
vsubpd xmm2, xmm2, xmm3
vinsertps xmm1, xmm6, xmm1, 0x10
vcvtps2pd xmm1, xmm1
vaddpd xmm0, xmm0, xmm1
vaddpd xmm0, xmm2, xmm0
vcvtpd2ps xmm1, xmm0
vxorpd xmm2, xmm2, xmm2
vcvtps2pd xmm3, xmm1
vsubpd xmm0, xmm0, xmm3
vcvtpd2ps xmm0, xmm0
vunpcklpd xmm0, xmm2, xmm0
vmovupd xmmword [rdi + 0x148], xmm0
vmovlpd qword [rdi + 0x110], xmm1
mov rax, qword [rdi + 0x110]
mov qword [rdi + 0x100], rax
mov qword [rdi + 0x108], rax
mov qword [rdi + 0x118], rax
mov qword [rdi + 0x120], rax
mov dword [rdi + 0x158], 0
vmovupd xmmword [rdi + 0x128], xmm2
vmovupd xmmword [rdi + 0x132], xmm2
movzx eax, word [rdi + 0x15e]
mov word [rdi + 0x15c], ax
mov dword [rdi + 0x15e], 0x10000
vxorpd xmm0, xmm0, xmm0
vucomiss xmm0, dword [rdi + 0x90]
setb byte [rdi + 0x162]
mov byte [rdi + 0x163], 0
lea rcx, [rdi + 0x16c]
vmovss xmm1, dword [r12 + 0x381c]
mov r8d, dword [rsp + 0x8c]
call fcn.140080340
mov qword [rdi + 0x188], 0
cmp dword [rdi + 0x194], 0
jns 0x1400402f3
mov rax, qword [0x1402055d0]
test rax, rax
je 0x140040286
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
xor ecx, ecx
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [rdi + 0x198]
test rdx, rdx
je 0x1400402e2
movsxd r8, dword [rdi + 0x190]
shl r8, 3
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x198]
test rcx, rcx
je 0x1400402d5
mov rax, qword [0x1402055d0]
test rax, rax
je 0x1400402d5
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rdi + 0x198], r15
mov dword [rdi + 0x194], 0
mov dword [rdi + 0x190], 0
lea rax, [rdi + 0x270]
mov qword [rdi + 0x1a0], rax
mov qword [rdi + 0x1a8], 0
mov dword [rdi + 0x1b4], 1
test rbp, rbp
je 0x14004032d
mov eax, dword [rbp + 0x1b4]
jmp 0x140040332
mov eax, 1
mov dword [rdi + 0x1b8], eax
vmovss xmm0, dword [rdi + 0x268]
vmovss dword [rdi + 0x1bc], xmm0
mov dword [rdi + 0x1c0], 0xbf800000
cmp dword [rdi + 0x1cc], 0
jns 0x1400403da
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14004036d
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
xor ecx, ecx
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [rdi + 0x1d0]
test rdx, rdx
je 0x1400403c9
movsxd r8, dword [rdi + 0x1c8]
shl r8, 2
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x1d0]
test rcx, rcx
je 0x1400403bc
mov rax, qword [0x1402055d0]
test rax, rax
je 0x1400403bc
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rdi + 0x1d0], r15
mov dword [rdi + 0x1cc], 0
mov dword [rdi + 0x1c8], 0
cmp dword [rdi + 0x1dc], 0
jns 0x14004046c
mov rax, qword [0x1402055d0]
test rax, rax
je 0x1400403ff
inc dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
xor ecx, ecx
call qword [0x1401e7378]
mov r15, rax
mov rdx, qword [rdi + 0x1e0]
test rdx, rdx
je 0x14004045b
movsxd r8, dword [rdi + 0x1d8]
shl r8, 2
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x1e0]
test rcx, rcx
je 0x14004044e
mov rax, qword [0x1402055d0]
test rax, rax
je 0x14004044e
dec dword [rax + 0xf4]
mov rdx, qword [0x1402055e0]
call qword [0x1401e7380]
mov qword [rdi + 0x1e0], r15
mov dword [rdi + 0x1dc], 0
mov dword [rdi + 0x1d8], 0
movzx eax, byte [rdi + 0xd0]
test al, al
jle 0x140040489
dec al
mov byte [rdi + 0xd0], al
movzx eax, byte [rdi + 0xd1]
test al, al
jle 0x14004049c
dec al
mov byte [rdi + 0xd1], al
test r14b, 1
je 0x1400404c3
mov rcx, rdi
mov edx, 2
call fcn.140035f40
cmp rdi, qword [r12 + 0x48d8]
jne 0x1400404c3
mov rcx, rdi
xor edx, edx
call fcn.140043ef0
test sil, 1
jne 0x140040afd
vmovss xmm0, dword [rsp + 0xa8]
vmovss xmm1, dword [rdi + 0x5c]
mov rbx, qword [0x1402055d0]
mov r14d, dword [rdi + 0x14]
test r14b, 0x20
jne 0x1400404f8
cmp dword [rbx + 0x37f8], 0xffffffff
setne al
jmp 0x1400404fa
xor eax, eax
vmovss xmm6, dword [rsp + 0xac]
vmovss xmm7, dword [rsp + 0xa4]
vsubss xmm8, xmm0, xmm1
vaddss xmm9, xmm1, dword [rsp + 0xa0]
mov r15d, dword [rbx + 0x4778]
mov ecx, r15d
or ecx, 0x10
mov dword [rbx + 0x4778], ecx
mov dword [rdi + 0x158], 1
vmovss xmm10, dword [rbx + 0x380c]
vmovss xmm12, dword [rbx + 0x3c20]
vxorps xmm0, xmm0, xmm0
vmovlps qword [rsp + 0xb8], xmm0
vmovlps qword [rsp + 0xb0], xmm0
vmovaps xmm11, xmm10
cmp qword [rsp + 0x160], 0
je 0x14004058c
vaddss xmm11, xmm12, xmm10
vaddss xmm0, xmm10, xmm11
vsubss xmm0, xmm8, xmm0
vmovss dword [rsp + 0xb8], xmm0
vmovss dword [rsp + 0xbc], xmm7
test al, al
je 0x14004068e
mov eax, dword [rbx + 0x37f8]
test eax, eax
je 0x1400405c5
cmp eax, 1
jne 0x1400405dc
vaddss xmm11, xmm11, xmm12
vaddss xmm0, xmm10, xmm11
vsubss xmm0, xmm8, xmm0
vmovss dword [rsp + 0xb0], xmm0
vmovss dword [rsp + 0xb4], xmm7
jmp 0x1400405dc
vmovss dword [rsp + 0xb0], xmm9
vmovss dword [rsp + 0xb4], xmm7
vaddss xmm10, xmm12, xmm10
mov rax, qword [rdi + 0xf8]
movsxd rcx, dword [rdi + 0xf0]
mov eax, dword [rax + rcx*4 - 4]
not eax
mov r8b, 0x23
lea rcx, [0x140110cd4]
lea rdx, [0x14010f370]
mov ebp, eax
jmp 0x14004062d
movzx r8d, r8b
movzx r10d, bpl
shr ebp, 8
xor r10d, r8d
xor ebp, dword [rdx + r10*4]
inc rcx
mov r8d, r9d
test r9b, r9b
je 0x140040649
movzx r9d, byte [rcx - 1]
cmp r8b, 0x23
jne 0x140040610
cmp r9b, 0x23
jne 0x140040610
cmp byte [rcx], 0x23
cmove ebp, eax
mov r9b, 0x23
jmp 0x140040610
not ebp
mov rax, qword [rdi]
cmp dword [rax + 0x3f40], ebp
jne 0x14004066c
lea r8, str.COLLAPSE
mov ecx, ebp
mov edx, 0xb
xor r9d, r9d
call fcn.140034db0
lea rdx, [rsp + 0xb0]
mov ecx, ebp
call fcn.14006c340
test al, al
je 0x140040686
mov byte [rdi + 0xba], 1
mov rbp, qword [rsp + 0x98]
cmp qword [rsp + 0x160], 0
je 0x140040752
mov rax, qword [rdi + 0xf8]
movsxd rcx, dword [rdi + 0xf0]
mov eax, dword [rax + rcx*4 - 4]
not eax
mov r8b, 0x23
lea rcx, [0x140110cde]
lea rdx, [0x14010f370]
mov ebp, eax
jmp 0x1400406ed
movzx r8d, r8b
movzx r10d, bpl
shr ebp, 8
xor r10d, r8d
xor ebp, dword [rdx + r10*4]
inc rcx
mov r8d, r9d
test r9b, r9b
je 0x140040709
movzx r9d, byte [rcx - 1]
cmp r8b, 0x23
jne 0x1400406d0
cmp r9b, 0x23
jne 0x1400406d0
cmp byte [rcx], 0x23
cmove ebp, eax
mov r9b, 0x23
jmp 0x1400406d0
not ebp
mov rax, qword [rdi]
cmp dword [rax + 0x3f40], ebp
jne 0x14004072c
lea r8, str.CLOSE
mov ecx, ebp
mov edx, 0xb
xor r9d, r9d
call fcn.140034db0
lea rdx, [rsp + 0xb8]
mov ecx, ebp
call fcn.14006c0d0
test al, al
mov rbp, qword [rsp + 0x98]
je 0x140040752
mov rax, qword [rsp + 0x160]
mov byte [rax], 0
mov dword [rdi + 0x158], 0
mov dword [rbx + 0x4778], r15d
vxorps xmm13, xmm13, xmm13
test r14d, 0x100000
je 0x140040779
vmulss xmm13, xmm12, dword [0x14010f230]
mov rax, qword [0x1402055d0]
cmp r13, 0xffffffffffffffff
je 0x1400407ad
mov rdx, r13
jmp 0x14004079f
cmp byte [rdx + 1], 0x23
je 0x1400407be
inc rdx
cmp rdx, 0xffffffffffffffff
je 0x1400407b7
movzx ecx, byte [rdx]
cmp ecx, 0x23
je 0x140040790
test ecx, ecx
jne 0x140040796
jmp 0x1400407be
vmovss xmm2, dword [rax + 0x3c20]
jmp 0x140040824
mov rdx, 0xffffffffffffffff
vmovss xmm2, dword [rax + 0x3c20]
cmp rdx, r13
je 0x140040824
mov rcx, qword [rax + 0x3c18]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 0xbf800000
lea rdx, [rsp + 0xc0]
vmovss xmm3, dword [0x14010efd0]
call fcn.140060090
vmovss xmm0, dword [rsp + 0xc0]
vmovss xmm2, dword [rsp + 0xc4]
vaddss xmm0, xmm0, dword [0x14010f060]
vroundss xmm0, xmm0, xmm0, 0xb
jmp 0x140040828
vxorps xmm0, xmm0, xmm0
vaddss xmm0, xmm13, xmm0
vmovss dword [rsp + 0x1a8], xmm0
vmovss dword [rsp + 0x1ac], xmm2
vmovss xmm1, dword [rbx + 0x380c]
vucomiss xmm10, xmm1
jbe 0x140040854
vaddss xmm10, xmm10, dword [rbx + 0x3824]
vucomiss xmm11, xmm1
jbe 0x140040862
vaddss xmm11, xmm11, dword [rbx + 0x3824]
vmovss xmm1, dword [rbx + 0x37f0]
vxorps xmm2, xmm2, xmm2
vucomiss xmm2, xmm1
jae 0x1400408d0
vucomiss xmm1, dword [0x14010ae10]
jae 0x1400408d0
vaddss xmm2, xmm1, dword [0x14010b570]
vandps xmm2, xmm2, xmmword [0x14010b500]
vaddss xmm2, xmm2, xmm2
vmovss xmm3, dword [0x14010ae10]
vsubss xmm2, xmm3, xmm2
vminss xmm2, xmm2, xmm3
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vaddss xmm3, xmm9, xmm0
vaddss xmm4, xmm10, xmm11
vaddss xmm3, xmm3, xmm4
vsubss xmm3, xmm8, xmm3
vmaxss xmm4, xmm10, xmm11
vminss xmm3, xmm4, xmm3
vmulss xmm2, xmm2, xmm3
vmaxss xmm10, xmm10, xmm2
vmaxss xmm11, xmm11, xmm2
vsubss xmm3, xmm8, xmm11
vaddss xmm2, xmm10, xmm9
vmovss dword [rsp + 0xc0], xmm2
vmovss dword [rsp + 0xc4], xmm7
vmovss dword [rsp + 0xc8], xmm3
vmovss dword [rsp + 0xcc], xmm6
vaddss xmm4, xmm3, dword [rbx + 0x3824]
vminss xmm8, xmm8, xmm4
vmovss dword [rsp + 0x60], xmm2
vmovss dword [rsp + 0x64], xmm7
vmovss dword [rsp + 0x68], xmm8
vmovss dword [rsp + 0x6c], xmm6
test r14d, 0x100000
je 0x140040a46
vaddss xmm0, xmm2, xmm0
vsubss xmm4, xmm3, xmm0
vmulss xmm1, xmm4, xmm1
vaddss xmm0, xmm1, xmm0
vminss xmm1, xmm3, xmm0
vcmpltss xmm0, xmm0, xmm2
vblendvps xmm9, xmm1, xmm2, xmm0
vucomiss xmm9, xmm2
jbe 0x140040a46
vaddss xmm0, xmm7, xmm6
mov rax, qword [0x1402055d0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x38c4]
vmovss xmm6, dword [0x14010b520]
vmovss xmm2, dword [0x14010ae10]
vminss xmm3, xmm2, dword [rax + 0x38b8]
vmulss xmm0, xmm0, xmm6
vxorps xmm4, xmm4, xmm4
vmaxss xmm3, xmm3, xmm4
vmovss xmm5, dword [0x14010ce70]
vmulss xmm3, xmm3, xmm5
vaddss xmm3, xmm3, xmm6
vcvttss2si ecx, xmm3
vminss xmm2, xmm2, dword [rax + 0x38bc]
vmaxss xmm2, xmm2, xmm4
vmulss xmm2, xmm2, xmm5
vaddss xmm2, xmm2, xmm6
vcvttss2si edx, xmm2
shl edx, 8
vmovss xmm2, dword [rax + 0x38c0]
vinsertps xmm1, xmm2, xmm1, 0x10
vminps xmm1, xmm1, xmmword [0x14010b490]
vxorps xmm2, xmm2, xmm2
vmaxps xmm1, xmm1, xmm2
vmulps xmm1, xmm1, xmmword [0x14010ce60]
or edx, ecx
vaddps xmm1, xmm1, xmmword [0x14010ae00]
vcvttps2dq xmm1, xmm1
vpslld xmm2, xmm1, 0x18
vpslld xmm1, xmm1, 0x10
vmovd eax, xmm1
or eax, edx
vpextrd r8d, xmm2, 1
or r8d, eax
vmovd edx, xmm9
vmovd eax, xmm0
shl rax, 0x20
or rdx, rax
mov rcx, qword [rdi + 0x298]
call fcn.140060670
vmulss xmm0, xmm13, xmm6
vroundss xmm0, xmm0, xmm0, 0xb
vsubss xmm0, xmm9, xmm0
vminss xmm0, xmm8, xmm0
vmovss dword [rsp + 0x68], xmm0
cmp r13, 0xffffffffffffffff
je 0x140040afd
add rbx, 0x37f0
lea r8, [rsp + 0xc8]
mov r14, r13
jmp 0x140040a80
cmp byte [r14 + 1], 0x23
je 0x140040a96
inc r14
cmp r14, 0xffffffffffffffff
je 0x140040a8f
movzx eax, byte [r14]
cmp eax, 0x23
je 0x140040a70
test eax, eax
jne 0x140040a77
jmp 0x140040a96
mov r14, 0xffffffffffffffff
cmp r14d, r13d
je 0x140040afd
mov rsi, qword [0x1402055d0]
mov rax, qword [rsi + 0x3ef8]
mov rcx, qword [rax + 0x298]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0xc0]
mov r9, r13
call fcn.14002ff90
cmp byte [rsi + 0x5ca0], 0
je 0x140040afd
lea rcx, [rsp + 0xc0]
mov rdx, r13
mov r8, r14
call fcn.14002fbf0
mov dword [rdi + 0x258], 0
mov r14, qword [0x1402055d0]
vmovss xmm0, dword [rsp + 0xa0]
vmovss xmm1, dword [r14 + 0x3834]
vsubss xmm2, xmm0, xmm1
vmovss xmm0, dword [r14 + 0xe08]
vucomiss xmm2, xmm0
jbe 0x140040b37
xor eax, eax
jmp 0x140040b83
vmovss xmm2, dword [rsp + 0xa4]
vmovss xmm3, dword [r14 + 0x3838]
vsubss xmm2, xmm2, xmm3
vaddss xmm1, xmm1, dword [rsp + 0xa8]
vaddss xmm3, xmm3, dword [rsp + 0xac]
vmovss xmm4, dword [r14 + 0xe0c]
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 ecx, dword [r12 + 0x4778]
mov edx, dword [rdi + 0x7c]
mov dword [r14 + 0x4794], edx
mov dword [r14 + 0x4798], ecx
mov dword [r14 + 0x479c], eax
vmovups xmm0, xmmword [rsp + 0xa0]
vmovups xmmword [r14 + 0x47b0], xmm0
vmovups xmm0, xmmword [rsp + 0xa0]
vmovups xmmword [r14 + 0x47a0], xmm0
mov eax, dword [r12 + 0x477c]
test eax, eax
je 0x140040ce8
cmp dword [rdi + 0x10], eax
je 0x140040be8
cmp dword [rdi + 0x7c], eax
jne 0x140040ce8
lea rax, [r14 + 0x4794]
vmovups ymm0, ymmword [rax]
vmovups ymm1, ymmword [rax + 0x1c]
vmovups ymmword [rsp + 0xdc], ymm1
vmovups ymmword [rsp + 0xc0], ymm0
mov dword [r14 + 0x477c], 0
mov rax, qword [r14 + 0x48d0]
mov rcx, qword [rax]
lea r8, str.Foreground
mov edx, 1
vzeroupper
call fcn.140035d80
mov rbx, rax
vmovups xmm0, xmmword [rsp + 0xcc]
vmovaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x68]
vmovaps xmm0, xmmword [rsp + 0x60]
vaddps xmm0, xmm0, xmmword [0x14010f240]
vmovaps xmmword [rsp + 0x60], xmm0
mov rax, qword [r14 + 0xe08]
vmovq xmm1, rax
mov qword [rsp + 0xb8], rax
vcmpltps xmm2, xmm1, xmm0
vpermilpd xmm3, xmm0, 1
vminps xmm1, xmm3, xmm1
vblendvps xmm0, xmm1, xmm0, xmm2
vmovlps qword [rsp + 0xb0], xmm0
mov dword [rsp + 0x30], 0x3f800000
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x60]
mov rcx, rbx
mov r9d, 0xff00ff00
call fcn.140051660
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rsp + 0xb8]
lea r8, [rsp + 0xb0]
mov rcx, rbx
mov r9d, 0xff00ff00
call fcn.1400514c0
mov r14, qword [0x1402055d0]
lea rdx, [rdi + 0x208]
lea r8, [rdi + 0x210]
mov rax, qword [r14 + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rsi, qword [r14 + 0x3ef8]
mov rcx, qword [rsi + 0x298]
mov r9b, 1
vzeroupper
call fcn.14004eed0
mov rax, qword [rsi + 0x298]
mov rcx, qword [rax + 0x60]
movsxd rax, dword [rax + 0x58]
shl rax, 4
vmovups xmm0, xmmword [rax + rcx - 0x10]
vmovups xmmword [rsi + 0x238], xmm0
inc word [rdi + 0xc2]
mov byte [rdi + 0xb8], 0
mov dword [r12 + 0x47d0], 0
mov eax, dword [rsp + 0x80]
cmp eax, dword [rsp + 0x110]
je 0x140040e60
mov eax, dword [rsp + 0x58]
test eax, 0x1000000
je 0x140040dc8
test al, 0x40
jne 0x140040d91
cmp byte [rdi + 0xd0], 0
jg 0x140040d91
cmp byte [rdi + 0xd1], 0
jle 0x140040f4a
test rbp, rbp
je 0x140040dc8
cmp byte [rbp + 0xb9], 0
jne 0x140040da8
cmp byte [rbp + 0xd8], 0
jle 0x140040db8
mov byte [rdi + 0xd8], 1
cmp byte [rbp + 0xb9], 0
jne 0x140040dc1
cmp byte [rbp + 0xd9], 0
jle 0x140040dc8
mov byte [rdi + 0xd9], 1
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [r12 + 0x37d0]
jae 0x140040dfe
mov al, 1
cmp byte [rdi + 0xd8], 0
mov cl, 1
jg 0x140040e09
mov al, 1
cmp byte [rdi + 0xd9], 0
jg 0x140040e09
cmp byte [rdi + 0xda], 0
setg cl
xor eax, eax
jmp 0x140040e09
mov byte [rdi + 0xd8], 1
mov al, 1
mov cl, 1
mov byte [rdi + 0xbd], cl
movzx ecx, byte [rdi + 0xdb]
test cl, cl
jle 0x140040e29
dec cl
mov byte [rdi + 0xdb], cl
or dword [rdi + 0x14], 0xc0200
cmp byte [rdi + 0xb9], 0
jne 0x140040e42
cmp byte [rdi + 0xb6], 0
setne cl
not al
test al, cl
jne 0x140040e58
cmp byte [rdi + 0xd0], 0
jg 0x140040e58
cmp byte [rdi + 0xd1], 0
jle 0x140040f3b
xor eax, eax
mov byte [rdi + 0xbb], al
cmp byte [rdi + 0xbe], 0
je 0x140040e75
cmp byte [rdi + 0xbb], 0
sete al
jmp 0x140040ecd
cmp byte [r12 + 0x84], 0
setne al
test byte [rsp + 0x7c], al
jne 0x140040ea5
cmp byte [r12 + 0x85], 0
je 0x140040e69
movsx eax, byte [r12 + 0x5d12]
cmp dword [r12 + 0x3ec8], eax
jne 0x140040e69
movzx eax, byte [rdi + 0xd0]
test al, al
jle 0x140040eb8
inc al
mov byte [rdi + 0xd0], al
movzx eax, byte [rdi + 0xd1]
test al, al
jle 0x140040ecb
inc al
mov byte [rdi + 0xd1], al
xor eax, eax
vmovaps xmm6, xmmword [rsp + 0x240]
vmovaps xmm7, xmmword [rsp + 0x250]
vmovaps xmm8, xmmword [rsp + 0x260]
vmovaps xmm9, xmmword [rsp + 0x270]
vmovaps xmm10, xmmword [rsp + 0x280]
vmovaps xmm11, xmmword [rsp + 0x290]
vmovaps xmm12, xmmword [rsp + 0x2a0]
vmovaps xmm13, xmmword [rsp + 0x2b0]
vmovaps xmm14, xmmword [rsp + 0x2c0]
vmovaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rdi + 0xd9], 0
setle al
jmp 0x140040e5a
test eax, 0x800000
je 0x140040f8d
cmp byte [r12 + 0x4918], 0
je 0x140040f8d
mov rax, qword [r12 + 0x48d8]
test rax, rax
je 0x140040f8d
mov rax, qword [rax + 0x390]
cmp rax, qword [rdi + 0x390]
sete al
jmp 0x140040f8f
vxorps xmm3, xmm3, xmm3
test al, al
jne 0x14003eb3a
jmp 0x14003eb25
xor eax, eax
cmp byte [r12 + 0x5ca0], 0
jne 0x140040d91
test al, al
jne 0x140040d91
vmovss xmm0, dword [rdi + 0x1e8]
vucomiss xmm0, dword [rdi + 0x1f0]
jae 0x140040fce
vmovss xmm0, dword [rdi + 0x1ec]
vucomiss xmm0, dword [rdi + 0x1f4]
jb 0x140040d91
mov byte [rdi + 0xd8], 1
jmp 0x140040d91
cmp byte [rdi + 0xb7], 0
je 0x14003e8ec
vmovss dword [rsp + 0x16c], xmm6
vmovss dword [rsp + 0x130], xmm9
mov rdx, qword [0x1402055d0]
movzx eax, byte [rdx + 0x7e]
vmovss xmm0, dword [rdx + 0x3c20]
vmulss xmm1, xmm0, dword [0x14010f110]
vaddss xmm1, xmm15, xmm1
vmulss xmm0, xmm0, dword [0x14010f1a4]
vmaxss xmm0, xmm0, xmm1
vroundss xmm0, xmm0, xmm0, 0xb
vmulss xmm0, xmm0, dword [0x14010b728]
vxorps xmm9, xmm9, xmm9
mov byte [rsp + 0x87], al
test al, al
je 0x14004104a
vmovss xmm9, dword [0x14010b51c]
vroundss xmm0, xmm0, xmm0, 0xb
vmovaps xmmword [rsp + 0x170], xmm0
cmp byte [rdx + 0x7f], 0
sete al
or r8b, al
vmovshdup xmm6, xmm8
test r8b, 1
jne 0x1400410a9
mov rax, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x140041095
vmulss xmm0, xmm0, dword [rcx + 0x290]
vmovss xmm1, dword [rax + 0x3810]
vsubss xmm0, xmm6, xmm0
vaddss xmm1, xmm1, xmm1
vsubss xmm6, xmm0, xmm1
mov dword [rsp + 0x13c], r8d
mov qword [rsp + 0x48], rdx
mov byte [rsp + 0x57], r15b
vmovss dword [rsp + 0x134], xmm14
vmovss dword [rsp + 0x138], xmm15
mov dword [rdi + 0x158], 1
lea rcx, str.RESIZE
call fcn.140046ba0
mov eax, dword [rsp + 0x104]
mov qword [rsp + 0x108], rax
vmovaps xmm0, xmmword [0x14010f1b0]
vmovaps xmmword [rsp + 0x1b0], xmm6
vinsertps xmm0, xmm0, xmm6, 0x10
vmovaps xmmword [rsp + 0x180], xmm0
vmovsldup xmm15, xmmword [rsp + 0x170]
vxorps xmm0, xmm15, xmmword [0x14010bdf0]
vmovaps xmmword [rsp + 0x1e0], xmm0
vblendps xmm0, xmm8, xmmword [0x14010f1c0], 0xe
vmovaps xmmword [rsp + 0x1d0], xmm0
vmovsldup xmm14, xmm9
vmovaps xmm6, xmmword [0x14010f090]
lea r12, [0x140110008]
xor r13d, r13d
vmovss xmm13, dword [0x14010ae10]
vxorps xmm7, xmm7, xmm7
xor eax, eax
mov qword [rsp + 0x1a0], rax
vmovaps xmmword [rsp + 0x190], xmm6
jmp 0x140041266
xor edx, edx
test cl, cl
sete dl
xor rdx, 0x1f
test al, al
mov rax, qword [0x1402055d0]
mov ecx, 0x20
cmovne rdx, rcx
shl rdx, 4
vmovss xmm0, dword [rax + 0x37d0]
vmulss xmm0, xmm0, dword [rax + rdx + 0x38c4]
vminss xmm1, xmm13, dword [rax + rdx + 0x38b8]
vxorps xmm2, xmm2, xmm2
vmaxss xmm1, xmm1, xmm2
vmovss xmm3, dword [0x14010ce70]
vmulss xmm1, xmm1, xmm3
vmovss xmm4, dword [0x14010b520]
vaddss xmm1, xmm1, xmm4
vcvttss2si ecx, xmm1
vminss xmm1, xmm13, dword [rax + rdx + 0x38bc]
vxorps xmm7, xmm7, xmm7
vmaxss xmm1, xmm1, xmm2
vmulss xmm1, xmm1, xmm3
vaddss xmm1, xmm1, xmm4
vcvttss2si r8d, xmm1
shl r8d, 8
or r8d, ecx
vmovss xmm1, dword [rax + rdx + 0x38c0]
vinsertps xmm0, xmm1, xmm0, 0x10
vminps xmm0, xmm0, xmmword [0x14010b490]
vmaxps xmm0, xmm0, xmmword [0x14010be50]
vmulps xmm0, xmm0, xmmword [0x14010ce60]
vaddps xmm0, xmm0, xmmword [0x14010ae00]
vcvttps2dq xmm0, xmm0
vpslld xmm1, xmm0, 0x18
vpslld xmm0, xmm0, 0x10
vmovd eax, xmm0
or eax, r8d
vpextrd ecx, xmm1, 1
or ecx, eax
mov dword [rsp + r13*4 + 0x1c0], ecx
inc r13
add r12, 0x18
cmp qword [rsp + 0x108], r13
je 0x14004156d
vmovsd xmm9, qword [r12 - 8]
vmovsd xmm10, qword [r12]
vmovsd xmm0, qword [rdi + 0x20]
vmovsd xmm1, qword [rdi + 0x28]
vmulps xmm1, xmm9, xmm1
vaddps xmm1, xmm1, xmm0
vmulps xmm12, xmm10, xmm14
vsubps xmm0, xmm1, xmm12
vmulps xmm2, xmm10, xmm15
vaddps xmm1, xmm2, xmm1
vmovlhps xmm2, xmm0, xmm1
vmovups xmmword [rsp + 0xc0], xmm2
vucomiss xmm0, xmm1
jbe 0x1400412bd
vmovss dword [rsp + 0xc0], xmm1
vmovss dword [rsp + 0xc8], xmm0
vmovshdup xmm0, xmm0
vmovshdup xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x1400412dd
vmovss dword [rsp + 0xc4], xmm1
vmovss dword [rsp + 0xcc], xmm0
mov ecx, r13d
shr ecx, 8
mov eax, r13d
shr eax, 0x10
mov rdx, qword [rdi + 0xf8]
movsxd r8, dword [rdi + 0xf0]
mov edx, dword [rdx + r8*4 - 4]
not edx
mov r8d, edx
shr r8d, 8
xor edx, r13d
mov r9d, r13d
shr r9d, 0x18
movzx edx, dl
lea r10, [0x14010f370]
xor r8d, dword [r10 + rdx*4]
mov edx, r8d
shr edx, 8
xor r8d, ecx
movzx ecx, r8b
xor edx, dword [r10 + rcx*4]
mov r15d, edx
shr r15d, 8
xor edx, eax
movzx eax, dl
xor r15d, dword [r10 + rax*4]
movzx eax, r15b
shr r15d, 8
xor eax, r9d
xor r15d, dword [r10 + rax*4]
mov rax, qword [rdi]
not r15d
cmp dword [rax + 0x3f40], r15d
jne 0x14004136f
mov ecx, r15d
mov edx, 4
mov r8, r13
xor r9d, r9d
call fcn.140034db0
lea rbx, [rsp + 0xc0]
mov rcx, rbx
mov edx, r15d
xor r8d, r8d
mov r9d, 8
call fcn.1400444a0
mov dword [rsp + 0x20], 0x40800
mov rcx, rbx
mov edx, r15d
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0xb8]
call fcn.14006b5d0
movzx eax, byte [rsp + 0xb8]
movzx ecx, byte [rsp + 0xa0]
or cl, al
je 0x14004153f
mov ecx, r13d
and ecx, 1
mov edx, 6
sub edx, ecx
mov r8, qword [rsp + 0x48]
mov dword [r8 + 0x4a98], edx
test al, al
je 0x14004153f
cmp word [r8 + 0x3752], 2
jne 0x140041433
test r13, r13
jne 0x140041433
lea rcx, [rsp + 0x60]
mov rdx, rdi
lea r8, [rsp + 0x128]
call fcn.140045460
vmovsd xmm0, qword [rsp + 0x60]
vmovaps xmmword [rsp + 0x190], xmm0
xor ecx, ecx
xor edx, edx
call fcn.140035570
mov al, 1
mov qword [rsp + 0x1a0], rax
jmp 0x14004153f
vmovshdup xmm0, xmm9
vucomiss xmm0, xmm13
setne al
vucomiss xmm0, xmm7
setne cl
or cl, byte [rsp + 0x13c]
and cl, al
vucomiss xmm9, xmm13
sete al
vcmpeqps xmm6, xmm9, xmmword [0x14010be50]
vmovaps xmm0, xmmword [0x14010f090]
vblendvps xmm0, xmm0, xmm11, xmm6
vmulps xmm1, xmm10, xmmword [rsp + 0x1e0]
vsubps xmm1, xmm1, xmm12
vmulps xmm1, xmm9, xmm1
vmovsd xmm2, qword [r8 + 0xe08]
vmovsd xmm3, qword [r8 + 0x3f6c]
vsubps xmm2, xmm2, xmm3
vaddps xmm2, xmm12, xmm2
vmovd xmm3, eax
vpinsrb xmm3, xmm3, ecx, 4
vaddps xmm1, xmm1, xmm2
vpslld xmm2, xmm3, 0x1f
vmovaps xmm3, xmmword [rsp + 0x180]
vblendvps xmm2, xmm3, xmmword [rsp + 0x1d0], xmm2
vcmpltps xmm3, xmm1, xmm2
vminps xmm0, xmm0, xmm1
vblendvps xmm0, xmm0, xmm2, xmm3
vmovsd xmm1, qword [rdi + 0x20]
vmovsd xmm2, qword [rdi + 0x28]
vsubps xmm3, xmm1, xmm0
vmulps xmm3, xmm9, xmm3
vaddps xmm10, xmm3, xmm0
vaddps xmm1, xmm2, xmm1
vsubps xmm0, xmm0, xmm1
vmulps xmm0, xmm9, xmm0
vsubps xmm1, xmm1, xmm10
vaddps xmm9, xmm1, xmm0
vmovlps qword [rsp + 0x60], xmm9
lea rcx, [rsp + 0x140]
mov rdx, rdi
lea r8, [rsp + 0x60]
call fcn.140045460
vmovsd xmm0, qword [rsp + 0x140]
vmovaps xmmword [rsp + 0x190], xmm0
vsubps xmm0, xmm9, xmm0
vmovaps xmm1, xmmword [0x14010f1d0]
vblendvps xmm0, xmm1, xmm0, xmm6
vaddps xmm6, xmm10, xmm0
movzx eax, byte [rsp + 0xb8]
movzx ecx, byte [rsp + 0xa0]
test r13, r13
je 0x14004117a
test al, al
jne 0x14004117a
test cl, cl
je 0x140041251
jmp 0x14004117a
cmp byte [rsp + 0x87], 0
je 0x140041979
vmovaps xmm0, xmmword [rsp + 0x170]
vblendps xmm9, xmm0, xmmword [0x14010f1e0], 0xe
vblendps xmm13, xmm0, xmmword [0x14010f1f0], 0xe
mov dword [rsp + 0x180], 0xffffffff
lea r12, [0x140110070]
xor r13d, r13d
vxorps xmm7, xmm7, xmm7
lea rbx, [rsp + 0xc0]
vmovss xmm15, dword [0x14010f040]
vmovss xmm14, dword [0x14010b51c]
jmp 0x1400416e3
vinsertps xmm0, xmm1, xmm0, 0x10
xor ecx, ecx
cmp r13, 2
setae cl
sete dl
mov r8, qword [rdi + 0x20]
mov qword [rsp + 0xa0], r8
vaddss xmm1, xmm14, dword [r9 + rcx*4 + 0xe08]
vmovq xmm2, r8
vsubss xmm1, xmm1, dword [r9 + rcx*4 + 0x3f6c]
vmovss dword [rsp + rcx*4 + 0xa0], xmm1
vmovd xmm1, eax
vpinsrb xmm1, xmm1, edx, 4
vpslld xmm1, xmm1, 0x1f
vmovaps xmm3, xmmword [0x14010f090]
vblendvps xmm1, xmm3, xmm11, xmm1
vmovsd xmm3, qword [rsp + 0xa0]
vcmpltps xmm4, xmm3, xmm0
vminps xmm1, xmm1, xmm3
vblendvps xmm0, xmm1, xmm0, xmm4
vmovsd xmm1, qword [r12 - 8]
vmovsd xmm3, qword [r12]
vminps xmm6, xmm1, xmm3
vsubps xmm1, xmm2, xmm0
vmulps xmm1, xmm6, xmm1
vaddps xmm10, xmm1, xmm0
vmovsd xmm1, qword [rdi + 0x28]
vaddps xmm1, xmm1, xmm2
vsubps xmm0, xmm0, xmm1
vmulps xmm0, xmm0, xmm6
vsubps xmm1, xmm1, xmm10
vaddps xmm12, xmm0, xmm1
vmovlps qword [rsp + 0x60], xmm12
lea rcx, [rsp + 0x140]
mov rdx, rdi
lea r8, [rsp + 0x60]
call fcn.140045460
mov r9, qword [rsp + 0x48]
vcmpeqps xmm0, xmm6, xmm7
vmovsd xmm1, qword [rsp + 0x140]
vmovaps xmmword [rsp + 0x190], xmm1
vsubps xmm1, xmm12, xmm1
vmovaps xmm2, xmmword [0x14010f1d0]
vblendvps xmm0, xmm2, xmm1, xmm0
vaddps xmm6, xmm10, xmm0
mov eax, r13d
mov dword [rsp + 0x180], r13d
inc r13
add r12, 0x1c
cmp r13, 4
je 0x140041989
cmp r13d, 3
ja case.default.0x14004170e
vmovss xmm0, dword [rdi + 0x20]
vmovss xmm1, dword [rdi + 0x24]
vaddss xmm3, xmm1, dword [rdi + 0x2c]
vaddss xmm2, xmm0, dword [rdi + 0x28]
mov eax, r13d
lea rcx, [0x140041cbc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
vsubss xmm2, xmm3, dword [rsp + 0x170]
vinsertps xmm1, xmm1, xmm0, 0x10
vaddps xmm1, xmm9, xmm1
vaddss xmm0, xmm0, dword [0x14010f118]
vmovss dword [rsp + 0xc0], xmm0
vmovlps qword [rsp + 0xc4], xmm1
vmovss dword [rsp + 0xcc], xmm2
jmp 0x1400417f7
vmovaps xmmword [rsp + 0xc0], xmm7
jmp 0x1400417f7
vsubss xmm0, xmm3, dword [rsp + 0x170]
vinsertps xmm1, xmm1, xmm2, 0x10
vaddps xmm1, xmm9, xmm1
vaddss xmm2, xmm2, dword [0x14010f118]
vmovss dword [rsp + 0xc0], xmm2
vmovlps qword [rsp + 0xc4], xmm1
vmovss dword [rsp + 0xcc], xmm0
jmp 0x1400417f7
vaddss xmm3, xmm14, xmm1
vsubss xmm2, xmm2, dword [rsp + 0x170]
vinsertps xmm0, xmm0, xmm1, 0x10
vaddps xmm0, xmm13, xmm0
vmovlps qword [rsp + 0xc0], xmm0
vmovss dword [rsp + 0xc8], xmm2
vmovss dword [rsp + 0xcc], xmm3
jmp 0x1400417f7
vaddss xmm1, xmm14, xmm3
vsubss xmm2, xmm2, dword [rsp + 0x170]
vinsertps xmm0, xmm0, xmm3, 0x10
vaddps xmm0, xmm13, xmm0
vmovlps qword [rsp + 0xc0], xmm0
vmovss dword [rsp + 0xc8], xmm2
vmovss dword [rsp + 0xcc], xmm1
lea r8, [r13 + 4]
mov ecx, r8d
shr ecx, 8
mov eax, r8d
shr eax, 0x10
mov rdx, qword [rdi + 0xf8]
movsxd r9, dword [rdi + 0xf0]
mov edx, dword [rdx + r9*4 - 4]
not edx
mov r9d, edx
shr r9d, 8
xor edx, r8d
mov r10d, r8d
shr r10d, 0x18
movzx edx, dl
lea r11, [0x14010f370]
xor r9d, dword [r11 + rdx*4]
mov edx, r9d
shr edx, 8
xor r9d, ecx
movzx ecx, r9b
xor edx, dword [r11 + rcx*4]
mov r15d, edx
shr r15d, 8
xor edx, eax
movzx eax, dl
xor r15d, dword [r11 + rax*4]
movzx eax, r15b
shr r15d, 8
xor eax, r10d
xor r15d, dword [r11 + rax*4]
mov rax, qword [rdi]
not r15d
cmp dword [rax + 0x3f40], r15d
jne 0x14004188a
mov ecx, r15d
mov edx, 4
xor r9d, r9d
call fcn.140034db0
mov rcx, rbx
mov edx, r15d
xor r8d, r8d
mov r9d, 8
call fcn.1400444a0
mov dword [rsp + 0x20], 0x40800
mov rcx, rbx
mov edx, r15d
lea r8, [rsp + 0xb8]
lea r9, [rsp + 0xb0]
call fcn.14006b5d0
cmp byte [rsp + 0xb8], 0
je 0x14004190f
mov r9, qword [rsp + 0x48]
vmovss xmm0, dword [0x14010f200]
vucomiss xmm0, dword [r9 + 0x3f50]
movzx eax, byte [rsp + 0xb0]
jb 0x1400418f3
test al, al
je 0x1400416d2
cmp r13, 2
mov ecx, 0
adc ecx, 3
mov dword [r9 + 0x4a98], ecx
test al, al
jne 0x140041935
jmp 0x1400416d2
cmp byte [rsp + 0xb0], 0
mov r9, qword [rsp + 0x48]
je 0x1400416d2
cmp r13, 2
mov eax, 0
adc eax, 3
mov dword [r9 + 0x4a98], eax
cmp r13d, 3
je 0x140041953
vmovaps xmm0, xmm15
cmp r13d, 2
jne 0x14004195c
vmovaps xmm0, xmm15
test byte [rsp + 0x13c], 1
jne 0x14004195c
vmovaps xmm0, xmmword [rsp + 0x1b0]
test r13, r13
sete al
vmovaps xmm1, xmm8
cmp r13, 1
je 0x1400415ce
vmovaps xmm1, xmm15
jmp 0x1400415ce
mov dword [rsp + 0x180], 0xffffffff
mov r9, qword [rsp + 0x48]
mov rax, qword [0x1402055d0]
mov rcx, qword [rax + 0x3ef8]
dec dword [rcx + 0xf0]
mov dword [rdi + 0x158], 0
mov rcx, qword [r9 + 0x4a60]
test rcx, rcx
je 0x140041a49
cmp qword [rcx + 0x378], rdi
mov r12, qword [rsp + 0x40]
vmovss xmm15, dword [rsp + 0x138]
vmovss xmm14, dword [rsp + 0x134]
mov ebx, dword [rsp + 0x90]
vmovss xmm9, dword [rsp + 0x130]
movzx r15d, byte [rsp + 0x57]
vmovaps xmm10, xmmword [rsp + 0x190]
jne 0x140041bd6
mov ecx, dword [r9 + 0x490c]
cmp ecx, 3
je 0x140041a84
vxorps xmm0, xmm0, xmm0
cmp ecx, 2
vmovaps xmm3, xmmword [rsp + 0x1b0]
jne 0x140041ab8
cmp byte [r9 + 0xe25], 0
je 0x140041ab8
vmovss xmm0, dword [rax + 0x2e78]
lea rcx, [rax + 0x2e58]
vsubss xmm0, xmm0, dword [rax + 0x2e68]
add rax, 0x2e48
jmp 0x140041aaa
mov r12, qword [rsp + 0x40]
vmovss xmm15, dword [rsp + 0x138]
vmovss xmm14, dword [rsp + 0x134]
mov ebx, dword [rsp + 0x90]
vmovss xmm9, dword [rsp + 0x130]
movzx r15d, byte [rsp + 0x57]
vmovaps xmm10, xmmword [rsp + 0x190]
jmp 0x140041bd6
vmovss xmm0, dword [rax + 0x3558]
lea rcx, [rax + 0x3538]
vsubss xmm0, xmm0, dword [rax + 0x3548]
add rax, 0x3528
vmovaps xmm3, xmmword [rsp + 0x1b0]
vmovss xmm1, dword [rcx]
vsubss xmm1, xmm1, dword [rax]
vinsertps xmm0, xmm1, xmm0, 0x10
vxorps xmm1, xmm1, xmm1
vmovshdup xmm2, xmm0
vcmpneqps xmm2, xmm2, xmm1
vcmpneqps xmm1, xmm0, xmm1
vorps xmm1, xmm1, xmm2
vmovd eax, xmm1
test al, 1
je 0x140041bd6
vmovss xmm1, dword [r9 + 0x18]
vmovss xmm2, dword [r9 + 0x70]
vmulss xmm1, xmm1, dword [0x14010f204]
vminss xmm2, xmm2, dword [r9 + 0x74]
vmulss xmm1, xmm1, xmm2
vmovsldup xmm1, xmm1
vmulps xmm0, xmm1, xmm0
vmovsd xmm1, qword [r9 + 0x4a8c]
vaddps xmm0, xmm0, xmm1
vmovlps qword [r9 + 0x4a8c], xmm0
vmovsd xmm1, qword [rdi + 0x20]
vmovsd xmm2, qword [rdi + 0x28]
vaddps xmm1, xmm1, xmm2
vinsertps xmm2, xmm8, xmm3, 0x10
vsubps xmm1, xmm2, xmm1
vmaxps xmm0, xmm0, xmm1
vmovlps qword [r9 + 0x4a8c], xmm0
mov byte [r9 + 0x4a80], 0
mov byte [r9 + 0x4917], 1
vmovss xmm1, dword [0x14010ae10]
mov ecx, 0x20
call fcn.14002f2d0
mov r9, qword [rsp + 0x48]
mov dword [rsp + 0x1c0], eax
vmovsd xmm0, qword [r9 + 0x4a8c]
vcvttps2dq xmm0, xmm0
vpextrd eax, xmm0, 1
vmovd ecx, xmm0
or ecx, eax
je 0x140041bd6
vmovaps xmm8, xmm6
vcvtdq2ps xmm6, xmm0
vmovsd xmm0, qword [rdi + 0x30]
vaddps xmm0, xmm0, xmm6
vmovlps qword [rsp + 0x60], xmm0
lea rcx, [rsp + 0xc0]
lea r8, [rsp + 0x60]
mov rdx, rdi
mov r13, r9
call fcn.140045460
vmovsd xmm10, qword [rsp + 0xc0]
vmovsd xmm0, qword [r13 + 0x4a8c]
vsubps xmm0, xmm0, xmm6
vmovaps xmm6, xmm8
vmovlps qword [r13 + 0x4a8c], xmm0
vucomiss xmm10, dword [0x14010efd0]
je 0x140041c0d
vmovlps qword [rdi + 0x30], xmm10
test byte [rdi + 0x15], 1
jne 0x140041c0d
mov rax, qword [0x1402055d0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x140041c0d
vmovss xmm0, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm0
vucomiss xmm6, dword [0x14010efd0]
je 0x140041c59
vmovshdup xmm0, xmm6
vroundss xmm0, xmm0, xmm0, 0xb
vroundss xmm1, xmm6, xmm6, 0xb
vmovss dword [rdi + 0x20], xmm1
vmovss dword [rdi + 0x24], xmm0
test byte [rdi + 0x15], 1
jne 0x140041c59
mov rax, qword [0x1402055d0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x140041c59
vmovss xmm0, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm0
mov rax, qword [rdi + 0x30]
test byte [rsp + 0x1a0], 1
movzx ebx, bl
mov ecx, 1
cmovne ebx, ecx
mov qword [rdi + 0x28], rax
mov eax, dword [rsp + 0x5c]
movzx eax, al
cmovne eax, ecx
lea rcx, [rdi + 0xc1]
mov qword [rsp + 0x108], rcx
mov ecx, dword [rsp + 0x180]
mov byte [rdi + 0xc1], cl
cmp byte [rdi + 0xb9], 0
jne 0x14003eb67
mov dword [rsp + 0x5c], eax
vmovss xmm6, dword [rsp + 0x16c]
jmp 0x14003e909