Function at 0x14003d740
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, 0x2f8
vmovaps xmmword [rsp + 0x2e0], xmm15
vmovaps xmmword [rsp + 0x2d0], xmm14
vmovaps xmmword [rsp + 0x2c0], xmm13
vmovaps xmmword [rsp + 0x2b0], xmm12
vmovaps xmmword [rsp + 0x2a0], xmm11
vmovaps xmmword [rsp + 0x290], xmm10
vmovaps xmmword [rsp + 0x280], xmm9
vmovaps xmmword [rsp + 0x270], xmm8
vmovaps xmmword [rsp + 0x260], xmm7
vmovaps xmmword [rsp + 0x250], xmm6
mov ebp, r8d
mov qword [rsp + 0x168], rdx
mov r13, rcx
mov r14, qword [0x1402095c0]
movzx ecx, byte [rcx]
test cl, cl
je 0x14003d828
lea rdx, [r13 + 2]
mov r8d, 0xffffffff
lea r9, [0x140110980]
mov eax, 0xffffffff
jmp 0x14003d809
movzx r10d, r10b
movzx r11d, al
shr eax, 8
xor r11d, r10d
xor eax, dword [r9 + r11*4]
inc rdx
test cl, cl
je 0x14003d824
mov r10d, ecx
movzx ecx, byte [rdx - 1]
cmp r10b, 0x23
jne 0x14003d7f0
cmp cl, 0x23
jne 0x14003d7f0
cmp byte [rdx], 0x23
cmove eax, r8d
jmp 0x14003d7f0
not eax
jmp 0x14003d82a
xor eax, eax
mov rcx, qword [r14 + 0x3ee0]
movsxd r8, dword [r14 + 0x3ed8]
test r8, r8
je 0x14003d877
mov rdx, rcx
mov r10, r8
mov r9, r8
jmp 0x14003d858
mov r10, r9
test r9, r9
je 0x14003d87d
shr r9, 1
mov r11, r9
shl r11, 4
cmp dword [rdx + r11], eax
jae 0x14003d850
not r9
add r9, r10
add rdx, r11
add rdx, 0x10
jmp 0x14003d850
xor r8d, r8d
mov rdx, rcx
shl r8, 4
add rcx, r8
cmp rdx, rcx
je 0x14003d8a4
cmp dword [rdx], eax
jne 0x14003d8a4
mov rdi, qword [rdx + 8]
xor ecx, ecx
mov dword [rsp + 0x7c], 0
test rdi, rdi
jne 0x14003da8c
lea r15, [r14 + 0x3ed8]
test r14, r14
je 0x14003d8b7
inc dword [r14 + 0xf4]
mov rdx, qword [0x1402095d0]
mov ecx, 0x3e8
call qword [0x1401eb348]
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, r13
call fcn.140034aa0
mov qword [rsp + 0xb0], rdi
mov dword [rdi + 0x14], ebp
mov edx, dword [rdi + 0x10]
mov rcx, r15
mov r8, rdi
call fcn.14002e440
test ebp, 0x100
jne 0x14003d983
movsxd rax, dword [rdi + 0x294]
cmp rax, 0xffffffffffffffff
je 0x14003d935
mov rcx, qword [0x1402095c0]
mov rdx, qword [rcx + 0x5c38]
test rdx, rdx
je 0x14003d983
add rdx, rax
mov eax, dword [r14 + 0x5c38]
mov ecx, edx
sub ecx, eax
mov dword [rdi + 0x294], ecx
jmp 0x14003d985
mov rax, qword [0x1402095c0]
mov rcx, qword [rax + 0x5c38]
test rcx, rcx
je 0x14003d983
mov r8d, dword [rdi + 0x10]
add rcx, 4
mov rdx, rcx
jmp 0x14003d976
movsxd r9, dword [rdx - 4]
add rdx, r9
movsxd r9, dword [rax + 0x5c30]
add r9, rcx
cmp rdx, r9
je 0x14003d983
cmp dword [rdx], r8d
jne 0x14003d960
cmp byte [rdx + 0xe], 0
jne 0x14003d960
jmp 0x14003d922
xor edx, edx
mov rcx, rdi
call fcn.14004c280
lea r15, [r14 + 0x3e98]
test ebp, 0x2000
jne 0x14003d9c0
mov eax, dword [r14 + 0x3e98]
cmp eax, dword [r14 + 0x3e9c]
jne 0x14003d9d5
lea esi, [rax + 1]
test eax, eax
je 0x14003d9e1
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003d9e6
lea rdx, [rsp + 0xb0]
mov rcx, r15
call fcn.14004cfb0
jmp 0x14003da7c
mov r12, qword [r14 + 0x3ea0]
jmp 0x14003da73
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
movsxd rcx, esi
shl rcx, 3
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003da04
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb348]
mov r12, rax
mov rdx, qword [r14 + 0x3ea0]
test rdx, rdx
je 0x14003da5e
movsxd r8, dword [r14 + 0x3e98]
shl r8, 3
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r14 + 0x3ea0]
test rcx, rcx
je 0x14003da51
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003da51
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [r14 + 0x3ea0], r12
mov dword [r14 + 0x3e9c], esi
mov eax, dword [r14 + 0x3e98]
cdqe
mov qword [r12 + rax*8], rdi
inc dword [r15]
mov rdi, qword [rsp + 0xb0]
mov cl, 1
mov al, 1
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0xf0], ecx
mov eax, ebp
not eax
mov esi, ebp
or esi, 6
test eax, 0xc0200
cmovne esi, ebp
mov r9d, dword [r14 + 0x3e50]
cmp dword [r14 + 0x3ec8], 0
je 0x14003dab9
xor eax, eax
jmp 0x14003dac1
movzx eax, byte [r14 + 0x3e5d]
mov r10d, dword [rdi + 0x260]
mov byte [rdi + 0xbe], al
lea eax, [r9 - 1]
test esi, 0x4000000
jne 0x14003db02
lea rcx, [rdi + 0xbc]
mov qword [rsp + 0x108], rcx
cmp r10d, eax
setl byte [rdi + 0xbc]
jl 0x14003db4f
mov dword [rsp + 0x84], 0
jmp 0x14003db62
cmp r10d, eax
setl al
movsxd rcx, dword [r14 + 0x48b0]
mov rdx, qword [r14 + 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 + 0x108], rax
mov byte [rdi + 0xbc], cl
test cl, cl
je 0x14003daf5
or dword [rdi + 0xdc], 0x80808
mov al, 1
mov dword [rsp + 0x84], eax
cmp r10d, r9d
mov qword [rsp + 0x178], r9
mov dword [rsp + 0x4c], r10d
jne 0x14003db7c
mov esi, dword [rdi + 0x14]
jmp 0x14003dd9c
mov r12, qword [0x1402095c0]
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 0x14003dbe9
mov edx, dword [rsp + 0x7c]
xor dl, 1
and cl, dl
jne 0x14003dbe9
mov eax, dword [r12 + 0x3ea8]
cmp eax, dword [r12 + 0x3eac]
jne 0x14003dc8c
mov ebp, esi
lea esi, [rax + 1]
test eax, eax
je 0x14003dc99
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003dc9e
mov ecx, ebx
xor cl, 1
or cl, byte [rsp + 0x7c]
jne 0x14003dd4e
cmp al, bl
je 0x14003dd4e
movsx ecx, word [rdi + 0xca]
lea edx, [rcx + 1]
movsxd rax, dword [r12 + 0x3ea8]
cmp edx, eax
jge 0x14003dc4a
movsxd rcx, ecx
inc rcx
nop dword [rax]
mov rax, qword [r12 + 0x3eb0]
mov rax, qword [rax + rcx*8]
dec word [rax + 0xca]
inc rcx
movsxd rax, dword [r12 + 0x3ea8]
cmp rcx, rax
jl 0x14003dc20
movzx ecx, word [rdi + 0xca]
mov rdx, qword [r12 + 0x3eb0]
movsx r8, cx
lea rcx, [rdx + r8*8]
lea rdx, [rdx + r8*8]
add rdx, 8
not r8
add r8, rax
shl r8, 3
call sub.VCRUNTIME140.dll_memmove
dec dword [r12 + 0x3ea8]
mov word [rdi + 0xca], 0xffff
mov r10d, dword [rsp + 0x4c]
jmp 0x14003dd4e
mov r15, qword [r12 + 0x3eb0]
jmp 0x14003dd2e
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
movsxd rcx, esi
shl rcx, 3
inc dword [r12 + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [r12 + 0x3eb0]
test rdx, rdx
je 0x14003dd0f
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 0x14003dd02
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003dd02
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [r12 + 0x3eb0], r15
mov dword [r12 + 0x3eac], esi
mov eax, dword [r12 + 0x3ea8]
mov esi, ebp
mov r10d, dword [rsp + 0x4c]
cdqe
mov qword [r15 + rax*8], rdi
mov eax, dword [r12 + 0x3ea8]
lea ecx, [rax + 1]
mov dword [r12 + 0x3ea8], ecx
mov word [rdi + 0xca], ax
mov byte [rdi + 0xbf], bl
mov dword [rdi + 0x14], esi
mov r9, qword [rsp + 0x178]
mov dword [rdi + 0x260], r9d
vmovsd xmm0, qword [r14 + 0x3e48]
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [rdi + 0x264], xmm0
mov word [rdi + 0xc6], 0
mov eax, dword [r14 + 0x3ee8]
lea ecx, [rax + 1]
mov dword [r14 + 0x3ee8], ecx
mov word [rdi + 0xc8], ax
movsxd rax, dword [r14 + 0x3ec8]
test rax, rax
je 0x14003ddc6
mov rcx, qword [r14 + 0x3ed0]
imul rdx, rax, 0x58
mov rdx, qword [rdx + rcx - 0x58]
cmp r10d, r9d
jne 0x14003ddcd
mov rcx, qword [rdi + 0x368]
jmp 0x14003ddd9
xor edx, edx
cmp r10d, r9d
je 0x14003ddbd
xor ecx, ecx
test esi, 0x5000000
cmovne rcx, rdx
mov qword [rsp + 0x70], rcx
cmp dword [rdi + 0xf0], 0
mov qword [rsp + 0x58], rdx
jne 0x14003deaf
cmp dword [rdi + 0xf4], 0
je 0x14003de07
mov r15, qword [rdi + 0xf8]
xor eax, eax
jmp 0x14003de99
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003de19
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
mov ecx, 0x20
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [rdi + 0xf8]
test rdx, rdx
je 0x14003de78
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 0x14003de6b
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003de6b
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [rdi + 0xf8], r15
mov dword [rdi + 0xf4], 8
mov eax, dword [rdi + 0xf0]
mov r10d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
cdqe
mov ecx, dword [rdi + 0x10]
mov dword [r15 + rax*4], ecx
inc dword [rdi + 0xf0]
mov eax, dword [r14 + 0x3ec8]
mov qword [rsp + 0x118], r13
mov qword [r14 + 0x3ef8], rdi
vmovups ymm0, ymmword [r14 + 0x4794]
vmovups ymm1, ymmword [r14 + 0x47b0]
vmovups ymmword [rsp + 0x22c], ymm1
vmovups ymmword [rsp + 0x210], ymm0
movzx ebp, word [rdi + 0xf0]
movzx r12d, word [r14 + 0x4840]
movzx r13d, word [r14 + 0x4850]
movzx ecx, word [r14 + 0x4860]
movzx ebx, word [r14 + 0x4870]
movzx r8d, word [r14 + 0x4890]
movzx r9d, word [r14 + 0x4880]
movzx r11d, word [r14 + 0x48b0]
movzx r15d, word [r14 + 0x5bc0]
mov word [rsp + 0x98], r15w
cmp eax, dword [r14 + 0x3ecc]
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x48], esi
jne 0x14003df60
mov word [rsp + 0x100], cx
lea esi, [rax + 1]
test eax, eax
je 0x14003df6c
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003df71
mov r15, qword [r14 + 0x3ed0]
jmp 0x14003e057
mov ecx, 8
mov word [rsp + 0x140], r11w
mov word [rsp + 0x110], r9w
mov word [rsp + 0x170], r8w
cmp ecx, esi
cmovg esi, ecx
movsxd rax, esi
imul rcx, rax, 0x58
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003dfaa
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
vzeroupper
call qword [0x1401eb348]
mov r15, rax
mov r14, qword [rsp + 0x50]
mov rdx, qword [r14 + 0x3ed0]
test rdx, rdx
je 0x14003e011
movsxd rax, dword [r14 + 0x3ec8]
imul r8, rax, 0x58
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r14 + 0x3ed0]
test rcx, rcx
je 0x14003dfff
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003dfff
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov r14, qword [rsp + 0x50]
mov qword [r14 + 0x3ed0], r15
mov dword [r14 + 0x3ecc], esi
mov eax, dword [r14 + 0x3ec8]
mov esi, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
movzx ecx, word [rsp + 0x100]
movzx r8d, word [rsp + 0x170]
movzx r9d, word [rsp + 0x110]
movzx r11d, word [rsp + 0x140]
cdqe
imul rax, rax, 0x58
mov qword [r15 + rax], rdi
vmovdqu ymm0, ymmword [rsp + 0x210]
vmovups ymm1, ymmword [rsp + 0x22c]
vmovdqu ymmword [r15 + rax + 8], ymm0
vmovups ymmword [r15 + rax + 0x24], ymm1
mov word [r15 + rax + 0x44], bp
mov word [r15 + rax + 0x46], r12w
mov word [r15 + rax + 0x48], r13w
mov word [r15 + rax + 0x4a], cx
mov word [r15 + rax + 0x4c], bx
mov word [r15 + rax + 0x4e], r8w
mov word [r15 + rax + 0x50], r9w
mov word [r15 + rax + 0x52], r11w
movzx ecx, word [rsp + 0x98]
mov word [r15 + rax + 0x54], cx
inc dword [r14 + 0x3ec8]
test esi, 0x10000000
je 0x14003e0d5
inc dword [r14 + 0x48c0]
mov r12, qword [rsp + 0x178]
cmp r10d, r12d
mov rcx, qword [rsp + 0x70]
je 0x14003e18b
mov qword [rdi + 0x368], rcx
vmovq xmm0, rdi
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rdi + 0x378], ymm0
mov eax, esi
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x14003e125
test rcx, rcx
je 0x14003e125
mov rax, qword [rcx + 0x378]
mov qword [rdi + 0x378], rax
test esi, 0x4000000
je 0x14003e140
test rcx, rcx
je 0x14003e140
mov rax, qword [rcx + 0x380]
mov qword [rdi + 0x380], rax
test esi, 0x8000000
jne 0x14003e164
mov eax, esi
and eax, 0x5000000
je 0x14003e164
test rcx, rcx
je 0x14003e164
mov rax, qword [rcx + 0x388]
mov qword [rdi + 0x388], rax
test byte [rdi + 0x16], 0x80
je 0x14003e184
mov rax, rdi
nop dword [rax]
mov rax, qword [rax + 0x368]
mov qword [rdi + 0x390], rax
test byte [rax + 0x16], 0x80
jne 0x14003e170
mov qword [rdi + 0x370], rdx
mov esi, dword [rdi + 0x10]
mov rbx, qword [0x1402095c0]
mov eax, dword [rbx + 0x4870]
cmp eax, dword [rbx + 0x4874]
jne 0x14003e1b7
lea ebp, [rax + 1]
test eax, eax
je 0x14003e1c3
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003e1c8
mov r15, qword [rbx + 0x4878]
jmp 0x14003e254
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
movsxd rcx, ebp
shl rcx, 2
inc dword [rbx + 0xf4]
mov rdx, qword [0x1402095d0]
vzeroupper
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [rbx + 0x4878]
test rdx, rdx
je 0x14003e237
movsxd r8, dword [rbx + 0x4870]
shl r8, 2
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x4878]
test rcx, rcx
je 0x14003e22a
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003e22a
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [rbx + 0x4878], r15
mov dword [rbx + 0x4874], ebp
mov eax, dword [rbx + 0x4870]
mov r10d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
cdqe
mov dword [r15 + rax*4], esi
inc dword [rbx + 0x4870]
mov dword [rbx + 0x4774], esi
mov eax, dword [r14 + 0x4774]
mov dword [rdi + 0x3d8], eax
mov qword [r14 + 0x3ef8], 0
mov esi, dword [rsp + 0x48]
test esi, 0x4000000
je 0x14003e3ac
movsxd rax, dword [r14 + 0x48b0]
mov rcx, qword [r14 + 0x48a8]
imul rax, rax, 0x38
lea rsi, [rcx + rax]
mov qword [rcx + rax + 8], rdi
mov edx, dword [rdx + 0x158]
mov dword [rcx + rax + 0x18], edx
mov eax, dword [r14 + 0x48b0]
cmp eax, dword [r14 + 0x48b4]
jne 0x14003e2d7
lea ebx, [rax + 1]
test eax, eax
je 0x14003e2e3
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003e2e8
mov r15, qword [r14 + 0x48b8]
jmp 0x14003e37d
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
movsxd rax, ebx
imul rcx, rax, 0x38
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003e306
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
vzeroupper
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [r14 + 0x48b8]
test rdx, rdx
je 0x14003e363
movsxd rax, dword [r14 + 0x48b0]
imul r8, rax, 0x38
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r14 + 0x48b8]
test rcx, rcx
je 0x14003e356
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003e356
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [r14 + 0x48b8], r15
mov dword [r14 + 0x48b4], ebx
mov eax, dword [r14 + 0x48b0]
mov r10d, dword [rsp + 0x4c]
cdqe
imul rax, rax, 0x38
vmovdqu ymm0, ymmword [rsi]
vmovups ymm1, ymmword [rsi + 0x18]
vmovups ymmword [r15 + rax + 0x18], ymm1
vmovdqu ymmword [r15 + rax], ymm0
inc dword [r14 + 0x48b0]
mov eax, dword [rsi]
mov dword [rdi + 0xcc], eax
mov esi, dword [rsp + 0x48]
test byte [r14 + 0x47d0], 1
jne 0x14003e3d6
mov dword [rsp + 0x58], 0
test byte [r14 + 0x47d0], 2
jne 0x14003e46d
xor r13d, r13d
xor ebx, ebx
jmp 0x14003e586
mov eax, dword [rdi + 0xdc]
movsx ecx, al
mov r8d, dword [r14 + 0x47d4]
test ecx, r8d
setne cl
mov dword [rsp + 0x58], ecx
je 0x14003e448
vmovsd xmm0, qword [r14 + 0x47e8]
vmulps xmm0, xmm0, xmm0
vmovshdup xmm1, xmm0
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, dword [0x140111af4]
jbe 0x14003e448
mov rcx, qword [r14 + 0x47e0]
mov qword [rdi + 0xe0], rcx
mov rcx, qword [r14 + 0x47e8]
mov qword [rdi + 0xe8], rcx
and eax, 0xfffffff1
mov dword [rdi + 0xdc], eax
mov al, 1
mov dword [rsp + 0x58], eax
test byte [r14 + 0x47d0], 2
je 0x14003e3cc
jmp 0x14003e46d
lea rdx, [r14 + 0x47e0]
mov rcx, rdi
vzeroupper
call fcn.140036da0
mov r10d, dword [rsp + 0x4c]
test byte [r14 + 0x47d0], 2
je 0x14003e3cc
mov eax, dword [rdi + 0xdc]
mov ecx, eax
shr ecx, 8
movsx edx, cl
mov ecx, dword [r14 + 0x47d8]
test edx, ecx
je 0x14003e576
vpxor xmm0, xmm0, xmm0
vucomiss xmm0, dword [r14 + 0x47f0]
setb bl
vucomiss xmm0, dword [r14 + 0x47f4]
setb r13b
and eax, 0xfffff1ff
mov dword [rdi + 0xdc], eax
vxorps xmm3, xmm3, xmm3
vucomiss xmm3, dword [r14 + 0x47f0]
vmovss xmm1, dword [rdi + 0x30]
vmovss xmm0, dword [rdi + 0x34]
setae al
add al, al
mov byte [rdi + 0xd0], al
vucomiss xmm3, dword [r14 + 0x47f4]
setae al
add al, al
mov byte [rdi + 0xd1], al
vmovss xmm2, dword [r14 + 0x47f0]
vucomiss xmm3, xmm2
jae 0x14003e504
vroundss xmm2, xmm2, xmm2, 0xb
vmovss dword [rdi + 0x30], xmm2
jmp 0x14003e50f
mov byte [rdi + 0xd3], 0
vmovaps xmm2, xmm1
vmovss xmm3, dword [r14 + 0x47f4]
vxorps xmm4, xmm4, xmm4
vucomiss xmm4, xmm3
jae 0x14003e535
vroundss xmm3, xmm3, xmm3, 0xb
vmovss dword [rdi + 0x34], xmm3
vucomiss xmm1, xmm2
je 0x14003e546
jmp 0x14003e54c
mov byte [rdi + 0xd3], 0
vmovaps xmm3, xmm0
vucomiss xmm1, xmm2
jne 0x14003e54c
vucomiss xmm0, xmm3
je 0x14003e586
test byte [rdi + 0x15], 1
jne 0x14003e586
mov rax, qword [0x1402095c0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x14003e586
vmovd xmm0, dword [rax + 0x1c]
vmovd dword [rax + 0x5c0c], xmm0
jmp 0x14003e586
xor r13d, r13d
mov ebx, 0
test ecx, ecx
je 0x14003e4a7
test byte [r14 + 0x47d0], 0x80
je 0x14003e5d6
vmovss xmm1, dword [r14 + 0x4800]
vpxor xmm0, xmm0, xmm0
vucomiss xmm0, xmm1
ja 0x14003e5b5
vmovss dword [rdi + 0x94], xmm1
mov dword [rdi + 0x9c], 0
vmovss xmm1, dword [r14 + 0x4804]
vucomiss xmm0, xmm1
ja 0x14003e5d6
vmovss dword [rdi + 0x98], xmm1
mov dword [rdi + 0xa0], 0
test byte [r14 + 0x47d0], 4
jne 0x14003e5ef
cmp r10d, r12d
je 0x14003e5fa
mov qword [rdi + 0x48], 0
jmp 0x14003e5fa
mov rax, qword [r14 + 0x47f8]
mov qword [rdi + 0x48], rax
mov eax, dword [r14 + 0x47d0]
test al, 8
je 0x14003e648
mov r8d, dword [r14 + 0x47dc]
movzx ecx, byte [r14 + 0x4808]
mov edx, dword [rdi + 0xdc]
test r8d, r8d
je 0x14003e62f
mov r9d, edx
shr r9d, 0x10
movsx r9d, r9b
test r9d, r8d
je 0x14003e648
and edx, 0xfff1ffff
mov dword [rdi + 0xdc], edx
mov byte [rdi + 0xb9], cl
mov eax, dword [r14 + 0x47d0]
test al, 0x20
je 0x14003e65e
mov rcx, rdi
xor edx, edx
vzeroupper
call fcn.140036790
mov r10d, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x108]
cmp byte [rax], 0
je 0x14003e675
and dword [rdi + 0xdc], 0xfff7f7f7
cmp r10d, r12d
jne 0x14003e6ac
mov r15, qword [0x1402095c0]
mov qword [r15 + 0x3ef8], rdi
movsxd rax, dword [rdi + 0x1b0]
cmp rax, 0xffffffffffffffff
je 0x14003e984
imul rax, rax, 0x238
add rax, qword [r15 + 0x4b80]
jmp 0x14003e986
movzx eax, byte [rdi + 0xd9]
mov byte [rsp + 0x108], al
mov byte [rdi + 0xb6], 1
cmp qword [rsp + 0x168], 0
setne byte [rdi + 0xc0]
vmovaps xmm0, xmmword [0x140111b00]
vmovups xmmword [rdi + 0x238], xmm0
mov eax, dword [rdi + 0xf4]
test eax, eax
jg 0x14003e796
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 [0x1402095c0]
test rax, rax
je 0x14003e728
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
vzeroupper
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [rdi + 0xf8]
test rdx, rdx
je 0x14003e785
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 0x14003e778
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003e778
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [rdi + 0xf8], r15
mov dword [rdi + 0xf4], esi
mov esi, dword [rsp + 0x48]
mov dword [rdi + 0xf0], 1
mov rcx, qword [rdi + 0x298]
vzeroupper
call fcn.14004ecb0
mov dword [rdi + 0x1b0], 0xffffffff
cmp byte [rdi + 0x3e4], 0
je 0x14003e7ca
mov rcx, rdi
call fcn.140035c90
cmp qword [r14 + 0x4a70], 0
je 0x14003e890
movzx eax, byte [rdi + 0x16]
and al, 8
shr al, 3
or al, byte [rsp + 0x7c]
jne 0x14003e890
mov r15, qword [rdi + 8]
mov rcx, qword [rsp + 0x118]
mov rdx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14003e890
movsxd rsi, dword [rdi + 0x78]
mov rcx, qword [rsp + 0x118]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r12, rax
inc r12
cmp r12, rsi
jbe 0x14003e872
test r15, r15
je 0x14003e83a
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003e83a
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
mov rcx, r15
call qword [0x1401eb350]
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003e85c
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
mov rcx, r12
call qword [0x1401eb348]
mov r15, rax
mov rsi, r12
mov rcx, r15
mov rdx, qword [rsp + 0x118]
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 8], r15
mov dword [rdi + 0x78], esi
mov esi, dword [rsp + 0x48]
lea r12, [rdi + 0x40]
lea r14, [rdi + 0x38]
mov rcx, rdi
mov rdx, r14
mov r8, r12
call fcn.140045ba0
movzx eax, byte [rdi + 0xd8]
test al, al
jle 0x14003e8b9
dec al
mov byte [rdi + 0xd8], al
movzx eax, byte [rdi + 0xd9]
test al, al
jle 0x14003e8cc
dec al
mov byte [rdi + 0xd9], al
movzx eax, byte [rdi + 0xda]
test al, al
jle 0x14003e8df
dec al
mov byte [rdi + 0xda], al
cmp byte [rsp + 0x7c], 0
je 0x14003e8f4
mov eax, ebx
and al, r13b
jne 0x14003e8f4
mov byte [rdi + 0xd9], 1
test esi, 0x6000000
setne al
and al, byte [rsp + 0x84]
cmp al, 1
jne 0x14003e943
mov byte [rdi + 0xd9], 1
test sil, 0x40
je 0x14003e943
test bl, bl
jne 0x14003e927
mov dword [rdi + 0x30], 0
mov dword [rdi + 0x28], 0
test r13b, r13b
jne 0x14003e93a
mov dword [rdi + 0x34], 0
mov dword [rdi + 0x2c], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [r14], xmm0
mov qword [rsp + 0x170], r14
mov r15, qword [0x1402095c0]
mov rax, qword [r15 + 0x48d0]
mov r14, qword [rax]
mov qword [rdi + 0x18], r14
mov qword [r15 + 0x3ef8], rdi
movsxd rax, dword [rdi + 0x1b0]
cmp rax, 0xffffffffffffffff
je 0x14003e9d4
imul rax, rax, 0x238
add rax, qword [r15 + 0x4b80]
jmp 0x14003e9d6
xor eax, eax
mov r13, qword [rsp + 0x70]
mov qword [r15 + 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 0x14003e9b9
vmulss xmm0, xmm0, dword [rcx + 0x290]
vmovss dword [r15 + 0x3c38], xmm0
vmovss dword [r15 + 0x3c20], xmm0
test rax, rax
je 0x14003ea1f
xor eax, eax
jmp 0x14003ea2a
xor eax, eax
mov qword [r15 + 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 0x14003ea04
vmulss xmm0, xmm0, dword [rcx + 0x290]
vmovss dword [r15 + 0x3c38], xmm0
vmovss dword [r15 + 0x3c20], xmm0
test rax, rax
je 0x14003ea35
xor eax, eax
jmp 0x14003ea40
cmp qword [rdi + 0x1a8], 0
sete al
mov byte [rdi + 0x160], al
jmp 0x1400416a2
cmp qword [rdi + 0x1a8], 0
sete al
mov byte [rdi + 0x160], al
test esi, 0x1000000
jne 0x14003ea8c
test esi, 0x8000000
mov eax, 0x3808
mov ecx, 0x37e4
cmovne rax, rcx
test esi, 0x6000000
cmove rax, rcx
mov rcx, qword [rsp + 0x50]
vmovss xmm0, dword [rcx + rax]
vmovss dword [rdi + 0x5c], xmm0
mov rax, qword [rcx + 0x37d8]
mov qword [rdi + 0x50], rax
vmovd xmm0, eax
jmp 0x14003eae4
mov rax, qword [rsp + 0x50]
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 0x14003eae4
vxorps xmm1, xmm1, xmm1
vucomiss xmm2, xmm1
jne 0x14003eae4
test esi, 0x400
je 0x14003ead4
mov rax, qword [rsp + 0x50]
vmovss xmm1, dword [rax + 0x37dc]
mov dword [rdi + 0x50], 0
vmovss dword [rdi + 0x54], xmm1
vpxor xmm0, xmm0, xmm0
mov rax, qword [rsp + 0x50]
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 0x14003eb2c
mov byte [rdi + 0xb9], 0
mov eax, dword [rsp + 0xf0]
mov ebp, eax
jmp 0x14003ec5e
vmovss xmm0, dword [rdi + 0x24]
mov esi, dword [rdi + 0x14]
vxorps xmm2, xmm2, xmm2
test sil, 1
jne 0x14003eb76
mov rax, qword [rdi]
vmovss xmm1, dword [rdi + 0x290]
vmulss xmm1, xmm1, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003eb65
vmulss xmm1, xmm1, dword [rcx + 0x290]
vmovss xmm2, dword [rax + 0x3810]
vfmadd132ss xmm2, xmm1, dword [0x14010e5a4]
vaddss xmm0, xmm2, xmm0
vmovss xmm1, dword [rdi + 0x30]
vaddss xmm1, xmm1, dword [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0xb0], rax
vmovss dword [rsp + 0xb8], xmm1
vmovss dword [rsp + 0xbc], xmm0
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x3f00], rdi
jne 0x14003ebfe
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x3f44], 0
jne 0x14003ebfe
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x3f48], 0
jne 0x14003ebfe
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xb0]
mov r8b, 1
call fcn.1400363e0
test al, al
je 0x14003ebfe
mov rax, qword [rsp + 0x50]
cmp word [rax + 0x3752], 2
jne 0x14003ebfe
mov byte [rdi + 0xba], 1
cmp byte [rdi + 0xba], 0
mov eax, dword [rsp + 0xf0]
mov ebp, eax
je 0x14003ec5a
movzx eax, byte [rdi + 0xb9]
mov ecx, eax
xor cl, 1
mov byte [rdi + 0xb9], cl
test al, al
movzx eax, byte [rsp + 0xf0]
mov ebp, 1
cmove ebp, eax
test esi, 0x100
jne 0x14003ec5a
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [r15 + 0x5c0c]
jb 0x14003ec5a
vmovss xmm0, dword [r15 + 0x1c]
vmovss dword [r15 + 0x5c0c], xmm0
mov esi, dword [rsp + 0x48]
mov byte [rdi + 0xba], 0
vmovss xmm7, dword [rdi + 0xac]
vmovss xmm10, 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 0x14003ecca
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm2, xmm0, dword [rcx + 0x3c24]
mov rdx, qword [rdi + 0x368]
test rdx, rdx
je 0x14003ecb9
vmulss xmm2, xmm2, dword [rdx + 0x290]
vmovss xmm0, dword [rcx + 0x3810]
vfmadd132ss xmm0, xmm2, dword [0x14010e5a4]
test eax, 0x400
je 0x14003ed15
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 0x14003ed00
vmulss xmm2, xmm2, dword [rcx + 0x290]
vaddss xmm2, xmm2, xmm1
vmovss xmm1, dword [rax + 0x3810]
vfmadd132ss xmm1, xmm2, dword [0x14010e5a4]
vaddss xmm0, xmm1, xmm0
vmovss dword [rdi + 0x64], xmm0
mov dword [rdi + 0x6c], 0
mov qword [rdi + 0xac], 0
lea rcx, [rsp + 0x138]
mov rdx, rdi
mov r8, r12
call fcn.140045cb0
test sil, 0x40
je 0x14003ed56
cmp byte [rdi + 0xb9], 0
je 0x14003ee03
cmp byte [rdi + 0xd0], 0
jle 0x14003ed8a
test bl, bl
jne 0x14003ed97
cmp byte [rdi + 0xd3], 0
vmovss xmm0, dword [rsp + 0x138]
je 0x14003ed7a
vmaxss xmm0, xmm0, dword [rdi + 0x30]
vmovss dword [rdi + 0x30], xmm0
mov al, 1
mov dword [rsp + 0xf0], eax
jmp 0x14003ed97
cmp byte [rdi + 0xd1], 0
jle 0x14003ee34
test r13b, r13b
je 0x14003eda3
mov r13, qword [rsp + 0x70]
jmp 0x14003edd0
cmp byte [rdi + 0xd1], 0
mov r13, qword [rsp + 0x70]
jle 0x14003edd0
cmp byte [rdi + 0xd3], 0
vmovss xmm0, dword [rsp + 0x13c]
je 0x14003edc8
vmaxss xmm0, xmm0, dword [rdi + 0x34]
vmovss dword [rdi + 0x34], xmm0
mov bpl, 1
cmp byte [rdi + 0xb9], 0
jne 0x14003ee39
test byte [rdi + 0x15], 1
jne 0x14003ee39
mov rax, qword [0x1402095c0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x14003ee39
vmovss xmm0, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm0
jmp 0x14003ee39
test bl, bl
jne 0x14003ee1e
vmovss xmm0, dword [rsp + 0x138]
vmovss dword [rdi + 0x30], xmm0
mov al, 1
mov dword [rsp + 0xf0], eax
test r13b, r13b
jne 0x14003ee34
vmovss xmm0, dword [rsp + 0x13c]
vmovss dword [rdi + 0x34], xmm0
mov bpl, 1
mov r13, qword [rsp + 0x70]
mov ebx, esi
and ebx, 0x1000000
lea r8, [rdi + 0x30]
lea rcx, [rsp + 0xb0]
mov rdx, rdi
call fcn.140045e60
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x30], rax
cmp byte [rdi + 0xb9], 0
je 0x14003eeb2
test ebx, ebx
jne 0x14003eeb2
vxorps xmm0, xmm0, xmm0
test byte [rdi + 0x14], 1
jne 0x14003eebd
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm1, xmm0, dword [rcx + 0x3c24]
mov rdx, qword [rdi + 0x368]
test rdx, rdx
je 0x14003ee9f
vmulss xmm1, xmm1, dword [rdx + 0x290]
vmovss xmm0, dword [rcx + 0x3810]
vfmadd132ss xmm0, xmm1, dword [0x14010e5a4]
jmp 0x14003eebd
mov rcx, rax
shr rcx, 0x20
vmovd xmm0, ecx
mov dword [rdi + 0x28], eax
vmovd dword [rdi + 0x2c], xmm0
cmp byte [rsp + 0x84], 0
je 0x14003ef0e
mov dword [rdi + 0xd4], 0xffffffff
mov eax, esi
and eax, 0xc000000
cmp eax, 0x4000000
setne al
or al, byte [rsp + 0x58]
jne 0x14003ef0e
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0x48b8]
movsxd rcx, dword [rcx + 0x48b0]
imul rcx, rcx, 0x38
mov rax, qword [rcx + rax - 0x14]
mov qword [rdi + 0x20], rax
mov r12d, esi
and r12d, 0x3000000
test esi, 0x1000000
je 0x14003f028
movzx eax, word [r13 + 0x190]
mov word [rdi + 0xc6], ax
mov eax, dword [r13 + 0x190]
cmp eax, dword [r13 + 0x194]
jne 0x14003ef57
lea esi, [rax + 1]
test eax, eax
je 0x14003ef63
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x14003ef68
mov r15, qword [r13 + 0x198]
jmp 0x14003eff9
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
movsxd rcx, esi
shl rcx, 3
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003ef86
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [r13 + 0x198]
test rdx, rdx
je 0x14003efe0
movsxd r8, dword [r13 + 0x190]
shl r8, 3
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r13 + 0x198]
test rcx, rcx
je 0x14003efd3
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14003efd3
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [r13 + 0x198], r15
mov dword [r13 + 0x194], esi
mov eax, dword [r13 + 0x190]
mov esi, dword [rsp + 0x48]
mov ecx, esi
shr ecx, 0x1a
and ecx, 1
cdqe
mov qword [r15 + rax*8], rdi
inc dword [r13 + 0x190]
or cl, byte [rsp + 0x58]
jne 0x14003f028
cmp r12d, 0x3000000
je 0x14003f028
mov rax, qword [r13 + 0x100]
mov qword [rdi + 0x20], rax
vmovss xmm0, dword [rdi + 0xe0]
vmovss xmm1, dword [0x140111990]
vucomiss xmm1, xmm0
movabs r15, 0x7f7fffff7f7fffff
je 0x14003f055
cmp byte [rdi + 0xd9], 0
je 0x14003f31c
test esi, 0x10000000
jne 0x14003f08e
test esi, 0x4000000
sete al
or al, byte [rsp + 0x58]
jne 0x14003f076
cmp byte [rsp + 0x108], 0
jg 0x14003f08e
test esi, 0x2000000
sete al
or al, byte [rsp + 0x58]
jne 0x14003f0aa
cmp r12d, 0x3000000
je 0x14003f0aa
lea rcx, [rsp + 0xb0]
mov rdx, rdi
call fcn.140046070
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x20], rax
vmovsd xmm1, qword [r14 + 4]
vmovsd xmm0, qword [r14 + 0xc]
vaddps xmm2, xmm0, xmm1
vmovlhps xmm1, xmm1, xmm2
vmovups xmmword [rsp + 0x200], xmm1
vmovsd xmm1, qword [r14 + 0x14]
vmovsd xmm2, qword [r14 + 0x1c]
vaddps xmm2, xmm2, xmm1
mov rdx, qword [rsp + 0x50]
vmovsd xmm3, qword [rdx + 0x388c]
vmovsd xmm4, qword [rdx + 0x3894]
vmaxps xmm3, xmm3, xmm4
vsubps xmm9, xmm2, xmm3
vaddps xmm8, xmm3, xmm1
cmp byte [rsp + 0x58], 0
jne 0x14003f1b3
test ebx, ebx
jne 0x14003f1b3
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x14003f1b3
vmovshdup xmm0, xmm0
vucomiss xmm0, xmm1
jbe 0x14003f1b3
mov rax, qword [0x1402095c0]
vmovss xmm0, dword [rdi + 0x28]
vmovss xmm1, dword [rdi + 0x2c]
cmp byte [rax + 0x7f], 0
je 0x14003f17c
test byte [rdi + 0x14], 1
jne 0x14003f17c
mov rax, qword [rdi]
vmovss xmm1, dword [rdi + 0x290]
vmulss xmm2, xmm1, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003f16b
vmulss xmm2, xmm2, dword [rcx + 0x290]
vmovss xmm1, dword [rax + 0x3810]
vfmadd132ss xmm1, xmm2, dword [0x14010e5a4]
vinsertps xmm0, xmm0, xmm1, 0x10
vsubps xmm0, xmm8, xmm0
lea rax, [rdi + 0x20]
mov qword [rsp + 0x110], rax
vmovsd xmm1, qword [rdi + 0x20]
vcmpltps xmm2, xmm1, xmm0
vminps xmm1, xmm9, xmm1
vblendvps xmm0, xmm1, xmm0, xmm2
vroundps xmm0, xmm0, 0xb
vmovlps qword [rdi + 0x20], xmm0
jmp 0x14003f1d7
lea rax, [rdi + 0x20]
mov qword [rsp + 0x110], rax
vmovsd xmm0, qword [rdi + 0x20]
vroundps xmm0, xmm0, 0xb
vmovlps qword [rdi + 0x20], xmm0
test esi, 0x1000000
jne 0x14003f1f7
mov eax, esi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x14003f1ee
lea rax, [rdx + 0x3804]
jmp 0x14003f1fe
lea rax, [rdx + 0x37e0]
jmp 0x14003f1fe
lea rax, [rdx + 0x37fc]
mov r9, rdx
mov ecx, esi
and ecx, 0x4000000
mov r14d, ecx
shr r14d, 0x1a
mov edx, esi
shr edx, 0xc
and edx, 1
mov r8d, dword [rsp + 0x84]
xor r8b, 1
or r8b, dl
mov edx, r8d
xor dl, 1
xor r10d, r10d
test r12d, r12d
sete r10b
test ecx, ecx
vmovss xmm0, dword [rax]
vmovss dword [rdi + 0x58], xmm0
movzx eax, dl
cmovne r10d, eax
test r8b, r8b
cmovne r10d, eax
mov dword [rsp + 0x108], r10d
vxorps xmm1, xmm1, xmm1
vmovaps xmmword [rsp + 0x1c0], xmm1
cmp byte [r9 + 0x7e], 1
mov eax, 2
sbb eax, 0
mov dword [rsp + 0x58], eax
vaddss xmm13, xmm0, dword [section..rdata]
vmovss xmm14, dword [r9 + 0x3c20]
cmp byte [rdi + 0xb9], 0
je 0x14003f2ab
lea rax, [rdi + 0xc1]
mov qword [rsp + 0x100], rax
mov byte [rdi + 0xc1], 0xff
jmp 0x14003f54f
mov r8d, dword [rdi + 0x14]
test r8b, 0x42
jne 0x14003f2cb
cmp byte [rdi + 0xd0], 0
jg 0x14003f2cb
cmp byte [rdi + 0xd1], 0
jle 0x140041986
lea rax, [rdi + 0xc1]
mov qword [rsp + 0x100], rax
mov byte [rdi + 0xc1], 0xff
vxorps xmm1, xmm1, xmm1
cmp byte [rsp + 0x7c], 0
jne 0x14003f304
vmovsd xmm0, qword [rdi + 0x38]
vmovsd xmm2, qword [rdi + 0x50]
vbroadcastss xmm1, dword [0x14010e5a4]
vfmadd213ps xmm1, xmm2, xmm0
cmp byte [rsp + 0xf0], 0
je 0x14003f3e5
vmovss xmm3, dword [rdi + 0x30]
jmp 0x14003f3f5
and byte [rdi + 0xdc], 0xf1
vinsertps xmm0, xmm0, dword [rdi + 0xe4], 0x10
mov qword [rdi + 0xe0], r15
vmovsd xmm1, qword [rdi + 0x20]
vmovsd xmm2, qword [rdi + 0x28]
vmovsd xmm3, qword [rdi + 0xe8]
vfnmadd213ps xmm3, xmm2, xmm0
vroundps xmm0, xmm3, 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 0x14003f0aa
test byte [rdi + 0x15], 1
jne 0x14003f3a4
mov rax, qword [0x1402095c0]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, dword [rax + 0x5c0c]
jb 0x14003f3a4
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 0x14003f0aa
vaddss xmm0, xmm7, dword [rdi + 0x200]
vsubss xmm3, xmm0, dword [rdi + 0x1f8]
vmovss xmm0, dword [rdi + 0x6c]
test bpl, bpl
je 0x14003f42a
vmovss xmm2, dword [rdi + 0x34]
vaddss xmm4, xmm0, dword [rdi + 0x64]
vsubss xmm2, xmm2, xmm4
test esi, 0x4000
je 0x14003f442
mov byte [rdi + 0xb5], 1
test si, si
js 0x14003f47d
lea rcx, [rdi + 0xb5]
jmp 0x14003f46c
vaddss xmm2, xmm10, dword [rdi + 0x204]
vsubss xmm2, xmm2, dword [rdi + 0x1fc]
test esi, 0x4000
jne 0x14003f415
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 0x14003f488
test al, al
je 0x14003f495
mov rax, qword [rsp + 0x50]
vmovss xmm4, dword [rax + 0x3844]
mov al, 1
jmp 0x14003f49b
mov byte [rdi + 0xb4], 1
mov al, 1
jmp 0x14003f4f9
mov byte [rdi + 0xb4], 1
test al, al
je 0x14003f4cf
jmp 0x14003f4f9
vxorps xmm4, xmm4, xmm4
xor eax, eax
vsubss xmm3, xmm3, xmm4
vucomiss xmm1, xmm3
jbe 0x14003f510
mov edx, esi
and edx, 8
jne 0x14003f510
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 0x14003f51b
test al, al
jne 0x14003f4f1
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 0x140041929
mov rcx, qword [rsp + 0x50]
vmovss xmm3, dword [rcx + 0x3844]
test al, al
jne 0x14003f51f
vxorps xmm1, xmm1, xmm1
jmp 0x14003f52c
mov byte [rdi + 0xb4], 0
vxorps xmm3, xmm3, xmm3
test al, al
je 0x14003f50a
mov rax, qword [rsp + 0x50]
vmovss xmm1, dword [rax + 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 r12d, 0x3000000
sete al
test esi, 0x1000000
sete bl
or bl, r14b
lea rcx, [r13 + 0x238]
or bl, al
lea rax, [rsp + 0x200]
cmove rax, rcx
vmovups xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0x150], 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 r14, qword [rsp + 0x50]
jne 0x14003f5e6
mov rax, qword [rdi]
vmovss xmm5, dword [rdi + 0x290]
vmulss xmm6, xmm5, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x14003f5d5
vmulss xmm6, xmm6, dword [rcx + 0x290]
vmovss xmm5, dword [rax + 0x3810]
vfmadd132ss xmm5, xmm6, dword [0x14010e5a4]
mov ecx, esi
and ecx, 0x401
lea rax, [r14 + 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 + 0x88], rcx
vmovss dword [rsp + 0x90], xmm4
vmovss dword [rsp + 0x94], xmm5
vmovddup xmm4, qword [rsp + 0x150]
vmaxps xmm3, xmm3, xmm4
vmovlps qword [rdi + 0x1e8], xmm3
lea r12, [rsp + 0x158]
vmovsd xmm3, qword [rsp + 0x158]
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 [0x14010e058]
vmovss xmm6, dword [rdi + 0x5c]
vroundss xmm5, xmm5, xmm5, 0xb
vmaxss xmm5, xmm5, xmm6
vbroadcastss xmm8, dword [0x14010e058]
vaddps xmm3, xmm8, xmm3
vinsertps xmm7, xmm5, dword [rax], 0x10
vinsertps xmm5, xmm5, xmm6, 0x36
vshufps xmm5, xmm5, xmm5, 0xc4
vaddps xmm6, xmm3, xmm7
vsubps xmm3, xmm3, xmm5
vblendps xmm3, xmm3, xmm6, 3
vroundps xmm3, xmm3, 0xb
vmovddup xmm5, qword [rsp + 0x158]
vcmpltps xmm6, xmm3, xmm4
vminps xmm3, xmm5, xmm3
vblendvps xmm3, xmm3, xmm4, xmm6
vmovups xmmword [rdi + 0x208], xmm3
test sil, 0x40
jne 0x14003f71c
vxorps xmm3, xmm3, xmm3
vucomiss xmm0, xmm3
jbe 0x14003f71c
mov eax, esi
and eax, 0x2000000
jne 0x14003f71c
vmulss xmm0, xmm0, dword [0x140111b58]
jmp 0x14003f72d
vmovss xmm0, dword [r14 + 0x3c20]
vmulss xmm0, xmm0, dword [0x140111b5c]
vroundss xmm0, xmm0, xmm0, 0xb
vmovss dword [rdi + 0x268], xmm0
vmovsd xmm0, qword [rdi + 0x38]
vmovsd xmm3, qword [rdi + 0x50]
vbroadcastss xmm4, dword [0x14010e5a4]
vfmadd213ps xmm4, xmm3, xmm0
vsubps xmm0, xmm4, xmm2
vaddps xmm0, xmm0, xmm1
vxorps xmm6, xmm6, xmm6
vmaxps xmm0, xmm0, xmm6
vmovlps qword [rdi + 0x8c], xmm0
lea r13, [rsp + 0xb0]
mov rcx, r13
mov rdx, rdi
call fcn.1400462f0
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x84], rax
mov qword [rdi + 0x94], r15
vmovlps qword [rdi + 0x70], xmm6
mov rcx, qword [rdi + 0x298]
mov rax, qword [r14 + 0x3c18]
mov rax, qword [rax + 0x40]
mov rdx, qword [rax + 8]
call fcn.14004f920
mov rax, qword [0x1402095c0]
mov rcx, qword [rax + 0x3ef8]
mov byte [rcx + 0xb8], 1
mov rsi, qword [rax + 0x3ef8]
mov rcx, qword [rsi + 0x298]
xor ebp, ebp
lea rdx, [rsp + 0x150]
mov r8, r12
xor r9d, r9d
call fcn.14004f7c0
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
jne 0x14003f8ba
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx + 0x190]
cmp eax, 2
jl 0x14003f87d
add eax, 0xfffffffe
mov rcx, qword [rcx + 0x198]
mov rcx, qword [rcx + rax*8]
test rcx, rcx
je 0x14003f87d
vmovss xmm0, dword [rcx + 0x24]
vaddss xmm2, xmm0, dword [rcx + 0x2c]
vmovss xmm1, dword [rdi + 0x24]
xor eax, eax
vucomiss xmm2, xmm1
jbe 0x14003f87f
vaddss xmm1, xmm1, dword [rdi + 0x2c]
vucomiss xmm1, xmm0
jbe 0x14003f87f
vmovss xmm0, dword [rcx + 0x20]
vaddss xmm2, xmm0, dword [rcx + 0x28]
vmovss xmm1, dword [rdi + 0x20]
vucomiss xmm1, xmm2
jae 0x14003f87f
vaddss xmm1, xmm1, dword [rdi + 0x28]
vucomiss xmm1, xmm0
seta al
jmp 0x14003f87f
xor eax, eax
mov rcx, qword [rdi + 0x298]
mov rdx, qword [rcx + 8]
movsxd rcx, dword [rcx]
imul rcx, rcx, 0x38
xor ebp, ebp
cmp dword [rcx + rdx - 0x18], 0
jne 0x14003f8ba
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0x298]
cmp dword [rcx + 0x20], 0
je 0x14003f8ba
test al, al
jne 0x14003f8ba
mov qword [rdi + 0x298], rcx
mov bpl, 1
mov dword [rsp + 0x98], ebp
mov rax, qword [r14 + 0x4a60]
test rax, rax
jne 0x14003f8d4
mov rax, qword [r14 + 0x48d8]
mov bpl, 1
test byte [rsp + 0x108], 1
mov esi, dword [rsp + 0x48]
jne 0x14003f900
test rax, rax
je 0x14003f8fe
mov rcx, qword [rdi + 0x388]
cmp rcx, qword [rax + 0x388]
sete bpl
jmp 0x14003f900
xor ebp, ebp
mov r12, qword [0x1402095c0]
mov ebx, dword [rdi + 0x14]
mov byte [rdi + 0xbb], 0
vmovss xmm6, dword [rdi + 0x58]
vmovss xmm12, dword [rdi + 0x5c]
cmp byte [rdi + 0xb9], 0
vmovaps xmmword [rsp + 0xf0], xmm8
je 0x14003fa53
vmovss xmm7, dword [r12 + 0x3818]
vmovss dword [r12 + 0x3818], xmm12
mov eax, 0xc
test bpl, bpl
je 0x14003f95c
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 [section..rdata]
vminss xmm2, xmm1, dword [r12 + rax + 0x38b8]
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmovss xmm4, dword [0x14010e058]
vmovss xmm5, dword [0x14010f668]
vfmadd213ss xmm2, xmm5, xmm4
vcvttss2si ecx, xmm2
vminss xmm1, xmm1, dword [r12 + rax + 0x38bc]
vmaxss xmm1, xmm1, xmm3
vfmadd213ss xmm1, xmm5, xmm4
vcvttss2si edx, xmm1
shl edx, 8
vmovss xmm1, dword [r12 + rax + 0x38c0]
vinsertps xmm0, xmm1, xmm0, 0x10
vbroadcastss xmm1, dword [section..rdata]
vminps xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vbroadcastss xmm1, dword [0x14010f668]
vfmadd213ps xmm1, xmm0, xmm8
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x140111a00]
or edx, ecx
vmovd eax, xmm0
vpextrd r8d, xmm0, 1
or eax, edx
or r8d, eax
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
vmovss dword [rsp + 0x20], xmm6
mov r9b, 1
call fcn.1400312c0
vmovss dword [r12 + 0x3818], xmm7
mov r12, qword [rsp + 0x118]
mov r13, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x98]
jmp 0x140040978
test bl, bl
js 0x14003fbf9
mov eax, ebx
and eax, 0x1000000
cmp eax, 1
mov ecx, 3
sbb rcx, 0
test ebx, 0x6000000
mov eax, 4
cmove rax, rcx
shl rax, 4
vmovss xmm2, dword [section..rdata]
vminss xmm1, xmm2, dword [r12 + rax + 0x38b8]
vxorps xmm0, xmm0, xmm0
vmaxss xmm4, xmm1, xmm0
vmovss xmm3, dword [0x14010e058]
vmovss xmm1, dword [0x14010f668]
vfmadd213ss xmm4, xmm1, xmm3
vcvttss2si edx, xmm4
vmovsd xmm4, qword [r12 + rax + 0x38bc]
vbroadcastss xmm5, dword [section..rdata]
vminps xmm4, xmm4, xmm5
vxorps xmm5, xmm5, xmm5
vmaxps xmm4, xmm4, xmm5
vbroadcastss xmm5, dword [0x14010f668]
vfmadd213ps xmm5, xmm4, xmm8
vcvttps2dq xmm4, xmm5
vpsllvd xmm4, xmm4, xmmword [0x140111b60]
vmovd r8d, xmm4
vpextrd ecx, xmm4, 1
or r8d, edx
or ecx, r8d
test byte [r12 + 0x47d0], 0x40
jne 0x14003fb2d
vmovss xmm4, dword [r12 + 0x37d0]
vmulss xmm4, xmm4, dword [r12 + rax + 0x38c4]
vminss xmm2, xmm4, xmm2
vmaxss xmm2, xmm2, xmm0
vfmadd213ss xmm1, xmm2, xmm3
jmp 0x14003fb52
vmovss xmm2, dword [r12 + 0x4830]
vminss xmm2, xmm2, dword [section..rdata]
and ecx, 0xffffff
vmaxss xmm2, xmm2, xmm0
vfmadd213ss xmm1, xmm2, dword [0x14010e058]
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 + 0xb0], xmm3
test bl, 1
cmovne eax, edx
jne 0x14003fbcd
mov rdx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm3, xmm0, dword [rdx + 0x3c24]
mov r8, qword [rdi + 0x368]
test r8, r8
je 0x14003fbbc
vmulss xmm3, xmm3, dword [r8 + 0x290]
vmovss xmm0, dword [rdx + 0x3810]
vfmadd132ss xmm0, xmm3, dword [0x14010e5a4]
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 + 0xb0]
call fcn.140052000
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [r12 + 0x38ac]
jae 0x14003fd7b
mov eax, ebx
and eax, 0x5000000
cmp eax, 0x1000000
je 0x14003fd7b
vucomiss xmm0, dword [r12 + 0x3c14]
jae 0x14003fd7b
mov rax, qword [0x1402095c0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x3c14]
vmovss xmm2, dword [section..rdata]
vminss xmm3, xmm2, dword [rax + 0x3c08]
vmaxss xmm3, xmm3, xmm0
vmovss xmm4, dword [0x14010e058]
vmovss xmm5, dword [0x14010f668]
vfmadd213ss xmm3, xmm5, xmm4
vcvttss2si ecx, xmm3
vminss xmm2, xmm2, dword [rax + 0x3c0c]
vmaxss xmm0, xmm2, xmm0
vfmadd213ss xmm0, xmm5, xmm4
vcvttss2si edx, xmm0
shl edx, 8
or edx, ecx
vmovss xmm0, dword [rax + 0x3c10]
vinsertps xmm0, xmm0, xmm1, 0x10
vbroadcastss xmm1, dword [section..rdata]
vminps xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vbroadcastss xmm1, dword [0x14010f668]
vfmadd213ps xmm1, xmm0, xmm8
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x140111a00]
vmovd ecx, xmm0
or ecx, edx
vpextrd r15d, xmm0, 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 xmm11, xmm8
vmovaps xmm8, xmm0
vmovaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm1, xmm8, xmm10
vmovaps xmm8, xmm11
vmulss xmm0, xmm10, xmm0
vmovss dword [rsp + 0xb0], xmm0
vmovss dword [rsp + 0xb4], 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 + 0x110]
mov r9d, r15d
call fcn.140054030
test bl, 1
jne 0x14003fe6c
mov rax, qword [0x1402095c0]
movzx ecx, bpl
shl rcx, 4
vmovss xmm0, dword [rax + 0x37d0]
vmulss xmm0, xmm0, dword [rax + rcx + 0x3964]
vmovss xmm1, dword [section..rdata]
vminss xmm2, xmm1, dword [rax + rcx + 0x3958]
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmovss xmm4, dword [0x14010e058]
vmovss xmm5, dword [0x14010f668]
vfmadd213ss xmm2, xmm5, xmm4
vcvttss2si edx, xmm2
vminss xmm1, xmm1, dword [rax + rcx + 0x395c]
vmaxss xmm1, xmm1, xmm3
vfmadd213ss xmm1, xmm5, xmm4
vcvttss2si r9d, xmm1
lea r8, [rsp + 0x90]
shl r9d, 8
or r9d, edx
vmovss xmm1, dword [rax + rcx + 0x3960]
vinsertps xmm0, xmm1, xmm0, 0x10
vbroadcastss xmm1, dword [section..rdata]
vminps xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vbroadcastss xmm1, dword [0x14010f668]
vfmadd213ps xmm1, xmm0, xmm8
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x140111a00]
vmovd eax, xmm0
or eax, r9d
vpextrd r9d, xmm0, 1
or r9d, eax
mov rcx, qword [rdi + 0x298]
vmovss dword [rsp + 0x20], xmm6
mov dword [rsp + 0x28], 0x30
lea rdx, [rsp + 0x88]
call fcn.140052000
test ebx, 0x400
je 0x140040172
mov eax, dword [rdi + 0x14]
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
test al, 1
jne 0x14003febf
mov rcx, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm2, xmm0, dword [rcx + 0x3c24]
mov rdx, qword [rdi + 0x368]
test rdx, rdx
je 0x14003feae
vmulss xmm2, xmm2, dword [rdx + 0x290]
vmovss xmm0, dword [rcx + 0x3810]
vfmadd132ss xmm0, xmm2, dword [0x14010e5a4]
vmovss xmm2, dword [rdi + 0x24]
test eax, 0x400
je 0x14003ff0f
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 0x14003fefa
vmulss xmm3, xmm3, dword [rcx + 0x290]
vaddss xmm3, xmm3, xmm1
vmovss xmm1, dword [rax + 0x3810]
vfmadd132ss xmm1, xmm3, dword [0x14010e5a4]
vmovaps xmm15, xmm14
vmovaps xmm14, xmm13
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 xmm11, xmm1, xmm2
vmovshdup xmm8, xmm11
mov rcx, qword [rdi + 0x298]
vxorps xmm13, xmm13, xmm13
vxorps xmm1, xmm1, xmm1
test bl, 1
je 0x14003ff6c
vmovaps xmm1, xmm6
mov rax, qword [0x1402095c0]
vmovss xmm2, dword [rax + 0x37d0]
vmulss xmm2, xmm2, dword [rax + 0x3994]
vmovss xmm4, dword [section..rdata]
vminss xmm3, xmm4, dword [rax + 0x3988]
vmaxss xmm3, xmm13, xmm3
vmovss xmm5, dword [0x14010e058]
vmovss xmm9, dword [0x14010f668]
vfmadd213ss xmm3, xmm9, xmm5
vcvttss2si edx, xmm3
vminss xmm3, xmm4, dword [rax + 0x398c]
vmaxss xmm3, xmm13, xmm3
vfmadd213ss xmm3, xmm9, xmm5
vcvttss2si r8d, xmm3
shl r8d, 8
vmovss xmm3, dword [rax + 0x3990]
vinsertps xmm2, xmm3, xmm2, 0x10
vbroadcastss xmm9, dword [section..rdata]
vminps xmm2, xmm9, xmm2
vxorps xmm3, xmm3, xmm3
vmaxps xmm2, xmm2, xmm3
vbroadcastss xmm10, dword [0x14010f668]
vfmadd213ps xmm2, xmm10, xmmword [rsp + 0xf0]
vcvttps2dq xmm2, xmm2
vpsllvd xmm2, xmm2, xmmword [0x140111a00]
or r8d, edx
vmovd eax, xmm2
vpextrd r9d, xmm2, 1
or eax, r8d
or r9d, eax
vsubss xmm2, xmm11, xmm12
vmovss dword [rsp + 0xb0], xmm2
vmovss dword [rsp + 0xb4], xmm8
vaddss xmm2, xmm12, 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 + 0xb0]
call fcn.140052000
vmovss xmm0, dword [r12 + 0x3818]
vucomiss xmm13, xmm0
vmovaps xmm13, xmm14
vmovaps xmm14, xmm15
jae 0x140040172
vmovss xmm1, dword [rdi + 0x2c]
vaddss xmm1, xmm1, dword [rdi + 0x24]
vucomiss xmm8, xmm1
jae 0x140040172
mov rax, qword [0x1402095c0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x3914]
vmovss xmm4, dword [section..rdata]
vminss xmm2, xmm4, dword [rax + 0x3908]
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmovss xmm5, dword [0x14010e058]
vmovss xmm15, dword [0x14010f668]
vfmadd213ss xmm2, xmm15, xmm5
vcvttss2si edx, xmm2
vminss xmm2, xmm4, dword [rax + 0x390c]
vmaxss xmm2, xmm2, xmm3
vfmadd213ss xmm2, xmm15, xmm5
vcvttss2si r8d, xmm2
mov rcx, qword [rdi + 0x298]
shl r8d, 8
or r8d, edx
vmovss xmm2, dword [rax + 0x3910]
vinsertps xmm1, xmm2, xmm1, 0x10
vminps xmm1, xmm9, xmm1
vxorps xmm2, xmm2, xmm2
vmaxps xmm1, xmm1, xmm2
vfmadd213ps xmm10, xmm1, xmmword [rsp + 0xf0]
vcvttps2dq xmm1, xmm10
vpsllvd xmm1, xmm1, xmmword [0x140111a00]
vmovd eax, xmm1
or eax, r8d
vpextrd r9d, xmm1, 1
or r9d, eax
vmovlps qword [rsp + 0xb0], xmm11
vmovss dword [rsp + 0x60], xmm7
vmovss dword [rsp + 0x64], xmm8
vmovss dword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0xb0]
call fcn.140051d60
cmp byte [rdi + 0xb4], 0
je 0x140040182
xor ecx, ecx
call fcn.14006c850
cmp byte [rdi + 0xb5], 0
je 0x140040195
mov ecx, 1
call fcn.14006c850
test bl, 2
jne 0x140040452
vfmadd231ss xmm13, xmm14, dword [0x140111ab0]
vmulss xmm0, xmm14, dword [0x140111b10]
vmaxss xmm0, xmm13, xmm0
vroundss xmm0, xmm0, xmm0, 0xb
vaddss xmm1, xmm12, xmm6
mov eax, dword [rsp + 0x58]
vinsertps xmm7, xmm12, xmm0, 0x10
vshufps xmm8, xmm7, xmm7, 0xe1
vbroadcastss xmm10, xmm1
lea r14, [0x140111624]
xor ebp, ebp
mov qword [rsp + 0x58], rax
jmp 0x140040273
mov r15, qword [rsi + 0x80]
vfmadd213ps xmm13, xmm12, xmm11
movsxd rax, ebx
vmovlps qword [r15 + rax*8], xmm13
inc dword [rsi + 0x78]
mov rcx, qword [rdi + 0x298]
mov r9d, dword [r14 - 4]
mov eax, dword [r14]
vfmadd213ps xmm12, xmm10, xmm11
vmovlps qword [rsp + 0xb0], xmm12
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0xb0]
vmovaps xmm2, xmm6
call fcn.1400512e0
mov r15, qword [rdi + 0x298]
mov r8d, dword [r15 + 0x78]
mov rdx, qword [r15 + 0x80]
mov rcx, r15
mov r9d, r13d
call fcn.1400507e0
mov dword [r15 + 0x78], 0
mov rax, qword [rsp + 0x58]
inc rbp
add r14, 0x18
cmp rax, rbp
je 0x140040452
mov r13d, dword [rsp + rbp*4 + 0x1c0]
cmp r13d, 0x1000000
jb 0x140040263
mov r12, qword [rdi + 0x298]
test bpl, 1
sete bl
vmovsd xmm14, qword [rdi + 0x20]
vmovsd xmm11, qword [rdi + 0x28]
vmovsd xmm15, qword [r14 - 0x14]
vmovsd xmm12, qword [r14 - 0xc]
mov esi, dword [r12 + 0x78]
cmp esi, dword [r12 + 0x7c]
jne 0x1400402d0
test esi, esi
je 0x1400402dd
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
add eax, esi
jmp 0x1400402e2
mov r15, qword [r12 + 0x80]
jmp 0x14004036e
mov eax, 8
inc esi
cmp eax, esi
cmovg esi, eax
mov rax, qword [0x1402095c0]
test rax, rax
je 0x1400402fb
inc dword [rax + 0xf4]
movsxd rcx, esi
shl rcx, 3
mov rdx, qword [0x1402095d0]
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [r12 + 0x80]
test rdx, rdx
je 0x14004035c
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 0x14004034f
mov rax, qword [0x1402095c0]
test rax, rax
je 0x14004034f
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [r12 + 0x80], r15
mov dword [r12 + 0x7c], esi
mov esi, dword [r12 + 0x78]
vmovd xmm0, ebx
vpbroadcastb xmm0, xmm0
vpslld xmm0, xmm0, 0x1f
vblendvps xmm13, xmm8, xmm7, xmm0
vfmadd213ps xmm11, xmm15, xmm14
vshufps xmm0, xmm13, xmm13, 0xe1
vfmadd213ps xmm0, xmm12, xmm11
movsxd rax, esi
vmovlps qword [r15 + rax*8], xmm0
inc dword [r12 + 0x78]
mov rsi, qword [rdi + 0x298]
mov ebx, dword [rsi + 0x78]
cmp ebx, dword [rsi + 0x7c]
jne 0x1400401f0
test ebx, ebx
je 0x1400403c4
mov eax, ebx
shr eax, 0x1f
add eax, ebx
sar eax, 1
add eax, ebx
jmp 0x1400403c9
mov eax, 8
inc ebx
cmp eax, ebx
cmovg ebx, eax
mov rax, qword [0x1402095c0]
test rax, rax
je 0x1400403e2
inc dword [rax + 0xf4]
movsxd rcx, ebx
shl rcx, 3
mov rdx, qword [0x1402095d0]
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [rsi + 0x80]
test rdx, rdx
je 0x140040440
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 0x140040433
mov rax, qword [0x1402095c0]
test rax, rax
je 0x140040433
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [rsi + 0x80], r15
mov dword [rsi + 0x7c], ebx
mov ebx, dword [rsi + 0x78]
jmp 0x1400401f7
mov rbx, qword [0x1402095c0]
vmovss xmm6, dword [rdi + 0x58]
vmovss xmm8, dword [rdi + 0x5c]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm8
jae 0x140040570
test byte [rdi + 0x14], 0x80
jne 0x140040570
vmovss xmm0, dword [rbx + 0x37d0]
vmulss xmm0, xmm0, dword [rbx + 0x3914]
vmovss xmm1, dword [section..rdata]
vminss xmm2, xmm1, dword [rbx + 0x3908]
mov rcx, qword [rdi + 0x298]
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vmovss xmm4, dword [0x14010e058]
vmovss xmm5, dword [0x14010f668]
vfmadd213ss xmm2, xmm5, xmm4
vcvttss2si eax, xmm2
vminss xmm1, xmm1, dword [rbx + 0x390c]
vmaxss xmm1, xmm1, xmm3
vfmadd213ss xmm1, xmm5, xmm4
vcvttss2si edx, xmm1
shl edx, 8
or edx, eax
vmovss xmm1, dword [rbx + 0x3910]
vinsertps xmm0, xmm1, xmm0, 0x10
vbroadcastss xmm1, dword [section..rdata]
vminps xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vmaxps xmm0, xmm0, xmm1
vbroadcastss xmm1, dword [0x14010f668]
vfmadd213ps xmm1, xmm0, xmmword [rsp + 0xf0]
vcvttps2dq xmm0, xmm1
vpsllvd xmm0, xmm0, xmmword [0x140111a00]
vmovd eax, xmm0
or eax, edx
vpextrd r9d, xmm0, 1
or r9d, eax
vmovsd xmm0, qword [rdi + 0x20]
vmovsd xmm1, qword [rdi + 0x28]
vaddps xmm0, xmm1, xmm0
vmovlps qword [rsp + 0xb0], xmm0
vmovss dword [rsp + 0x30], xmm8
vmovss dword [rsp + 0x20], xmm6
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0xb0]
mov rdx, qword [rsp + 0x110]
call fcn.140051f10
mov rax, qword [rsp + 0x100]
movsx edx, byte [rax]
cmp edx, 0xffffffff
mov r12, qword [rsp + 0x118]
mov r13, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x98]
je 0x1400407ff
movsx rcx, dl
lea rax, [rcx + rcx*8]
lea rsi, [rax + rax*2]
lea r14, [0x140111670]
lea rax, [r14 + rcx]
add rax, rsi
vxorps xmm10, xmm10, xmm10
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
vxorps xmm4, xmm4, xmm4
vxorps xmm0, xmm0, xmm0
cmp edx, 3
ja case.default.0x140040600
vmovss xmm1, dword [rdi + 0x20]
vmovss xmm3, dword [0x14010e5d4]
vaddss xmm0, xmm1, xmm3
vaddss xmm0, xmm0, dword [rdi + 0x28]
vmovss xmm2, dword [rdi + 0x24]
vaddss xmm3, xmm2, xmm3
vaddss xmm4, xmm3, dword [rdi + 0x2c]
mov edx, edx
lea r8, [0x140111ca4]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
vsubss xmm0, xmm4, xmm6
vaddss xmm4, xmm2, xmm6
vmovaps xmm2, xmm0
vmovaps xmm0, xmm1
jmp case.default.0x140040600
vsubss xmm1, xmm4, xmm6
vaddss xmm4, xmm2, xmm6
vmovaps xmm2, xmm1
vmovaps xmm1, xmm0
jmp case.default.0x140040600
vsubss xmm3, xmm0, xmm6
vaddss xmm0, xmm1, xmm6
vmovaps xmm1, xmm3
vmovaps xmm4, xmm2
jmp case.default.0x140040600
vsubss xmm3, xmm0, xmm6
vaddss xmm0, xmm1, xmm6
vmovaps xmm2, xmm4
vmovaps xmm1, xmm3
add rsi, rcx
vmovss xmm7, dword [r14 + rsi + 0x18]
vaddss xmm3, xmm7, dword [0x140111b70]
mov rcx, qword [rdi + 0x298]
vsubss xmm11, xmm2, xmm4
vsubss xmm12, xmm1, xmm0
vmovss xmm9, dword [0x14010e058]
vaddss xmm13, xmm9, xmm4
vfmadd231ss xmm13, xmm6, dword [rax + 4]
vmovss xmm1, dword [r14 + rsi + 0xc]
vfmadd132ss xmm1, xmm13, xmm11
vaddss xmm14, xmm9, xmm0
vfmadd231ss xmm14, xmm6, dword [rax]
vmovss xmm0, dword [r14 + rsi + 8]
vfmadd132ss xmm0, xmm14, xmm12
vmovss dword [rsp + 0xb0], xmm0
vmovss dword [rsp + 0xb4], xmm1
vmovss dword [rsp + 0x20], xmm7
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0xb0]
vmovaps xmm2, xmm6
call fcn.1400513b0
mov rcx, qword [rdi + 0x298]
vaddss xmm0, xmm7, dword [0x140111b74]
vfmadd231ss xmm13, xmm11, dword [r14 + rsi + 0x14]
vfmadd231ss xmm14, xmm12, dword [r14 + rsi + 0x10]
vmovss dword [rsp + 0xb0], xmm14
vmovss dword [rsp + 0xb4], xmm13
vmovss dword [rsp + 0x20], xmm0
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0xb0]
vmovaps xmm2, xmm6
vmovaps xmm3, xmm7
call fcn.1400513b0
vmaxss xmm0, xmm8, dword [0x14010e5a4]
mov rax, qword [0x1402095c0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x3a94]
vmovss xmm2, dword [section..rdata]
vminss xmm3, xmm2, dword [rax + 0x3a88]
mov r15, qword [rdi + 0x298]
vmaxss xmm3, xmm10, xmm3
vmovss xmm4, dword [0x14010f668]
vfmadd213ss xmm3, xmm4, xmm9
vcvttss2si ecx, xmm3
vminss xmm2, xmm2, dword [rax + 0x3a8c]
vmaxss xmm2, xmm10, xmm2
vfmadd213ss xmm2, xmm4, xmm9
vcvttss2si edx, xmm2
shl edx, 8
vmovss xmm2, dword [rax + 0x3a90]
vinsertps xmm1, xmm2, xmm1, 0x10
vbroadcastss xmm2, dword [section..rdata]
vminps xmm1, xmm1, xmm2
vxorps xmm2, xmm2, xmm2
vmaxps xmm1, xmm1, xmm2
vbroadcastss xmm2, dword [0x14010f668]
vfmadd213ps xmm2, xmm1, xmmword [rsp + 0xf0]
vcvttps2dq xmm1, xmm2
vpsllvd xmm1, xmm1, xmmword [0x140111a00]
or edx, ecx
vmovd eax, xmm1
vpextrd r9d, xmm1, 1
or eax, edx
or r9d, eax
mov r8d, dword [r15 + 0x78]
mov rdx, qword [r15 + 0x80]
vmovss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
mov rcx, r15
call fcn.14004fc40
mov dword [r15 + 0x78], 0
vmovss xmm0, dword [rbx + 0x3818]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
mov r14, qword [rsp + 0x50]
mov esi, dword [rsp + 0x48]
jae 0x140040978
test byte [rdi + 0x14], 1
jne 0x140040978
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 0x140040854
vmulss xmm2, xmm2, dword [rcx + 0x290]
vaddss xmm1, xmm1, dword [0x14010e5d4]
vmovss xmm3, dword [rax + 0x3810]
vaddss xmm1, xmm1, xmm2
vfmadd231ss xmm1, xmm3, dword [0x14010e5a4]
mov rax, qword [0x1402095c0]
vmovss xmm2, dword [rax + 0x37d0]
vmulss xmm2, xmm2, dword [rax + 0x3914]
vmovss xmm3, dword [section..rdata]
vminss xmm4, xmm3, dword [rax + 0x3908]
vxorps xmm5, xmm5, xmm5
vmaxss xmm4, xmm4, xmm5
vmovss xmm6, dword [0x14010e058]
vmovss xmm7, dword [0x14010f668]
vfmadd213ss xmm4, xmm7, xmm6
vcvttss2si edx, xmm4
vminss xmm3, xmm3, dword [rax + 0x390c]
vmaxss xmm3, xmm3, xmm5
vfmadd213ss xmm3, xmm7, xmm6
vcvttss2si r8d, xmm3
mov rcx, qword [rdi + 0x298]
shl r8d, 8
or r8d, edx
vmovss xmm3, dword [rax + 0x3910]
vinsertps xmm2, xmm3, xmm2, 0x10
vbroadcastss xmm3, dword [section..rdata]
vminps xmm2, xmm2, xmm3
vxorps xmm3, xmm3, xmm3
vmaxps xmm2, xmm2, xmm3
vbroadcastss xmm3, dword [0x14010f668]
vfmadd213ps xmm3, xmm2, xmmword [rsp + 0xf0]
vcvttps2dq xmm2, xmm3
vpsllvd xmm2, xmm2, xmmword [0x140111a00]
vmovd eax, xmm2
or eax, r8d
vpextrd r9d, xmm2, 1
or r9d, eax
vmovss xmm2, dword [rdi + 0x20]
vsubss xmm3, xmm2, xmm8
vaddss xmm3, xmm3, dword [rdi + 0x28]
vmovss dword [rsp + 0xb0], xmm3
vmovss dword [rsp + 0xb4], 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 + 0xb0]
call fcn.140051d60
test bpl, bpl
je 0x14004098b
lea rax, [rdi + 0x2a0]
mov qword [rdi + 0x298], rax
vmovss xmm0, dword [rdi + 0x48]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
vmovaps xmm4, xmm0
jne 0x1400409dc
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 0x1400409d8
mov rax, qword [rsp + 0x170]
vmovss xmm1, dword [rax]
vmaxss xmm4, xmm1, xmm2
vmovss xmm2, dword [rdi + 0x4c]
vmovss xmm3, dword [rdi + 0x54]
vxorps xmm5, xmm5, xmm5
vucomiss xmm5, xmm2
vmovss xmm1, dword [rdi + 0x64]
vmovaps xmm6, xmm2
jne 0x140040a1e
vmovss xmm6, dword [rdi + 0x2c]
vaddss xmm7, xmm3, xmm3
vsubss xmm6, xmm6, xmm7
vaddss xmm7, xmm1, dword [rdi + 0x6c]
vsubss xmm6, xmm6, xmm7
test sil, 8
jne 0x140040a1a
vmovss xmm5, dword [rdi + 0x3c]
vmaxss xmm6, xmm5, xmm6
vinsertps xmm6, xmm4, xmm6, 0x10
vxorps xmm9, xmm9, xmm9
vucomiss xmm0, xmm9
vmovss xmm11, dword [rdi + 0x50]
vmovsd xmm4, qword [rdi + 0x84]
vmovshdup xmm12, xmm4
vmovsd xmm5, qword [rdi + 0x1f8]
vsubps xmm7, xmm5, xmm4
vinsertps xmm5, xmm11, xmm3, 0x10
vbroadcastss xmm8, dword [rdi + 0x5c]
vmaxps xmm8, xmm8, xmm5
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 0x140040ad9
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 0x140040b02
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 [r14 + 0x381c]
mov r8d, dword [rsp + 0x84]
call fcn.140080450
mov qword [rdi + 0x188], 0
cmp dword [rdi + 0x194], 0
jns 0x140040c85
mov rax, qword [0x1402095c0]
test rax, rax
je 0x140040c18
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
xor ecx, ecx
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [rdi + 0x198]
test rdx, rdx
je 0x140040c74
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 0x140040c67
mov rax, qword [0x1402095c0]
test rax, rax
je 0x140040c67
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
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 r13, r13
je 0x140040cc0
mov eax, dword [r13 + 0x1b4]
jmp 0x140040cc5
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 0x140040d6d
mov rax, qword [0x1402095c0]
test rax, rax
je 0x140040d00
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
xor ecx, ecx
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [rdi + 0x1d0]
test rdx, rdx
je 0x140040d5c
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 0x140040d4f
mov rax, qword [0x1402095c0]
test rax, rax
je 0x140040d4f
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [rdi + 0x1d0], r15
mov dword [rdi + 0x1cc], 0
mov dword [rdi + 0x1c8], 0
cmp dword [rdi + 0x1dc], 0
jns 0x140040dff
mov rax, qword [0x1402095c0]
test rax, rax
je 0x140040d92
inc dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
xor ecx, ecx
call qword [0x1401eb348]
mov r15, rax
mov rdx, qword [rdi + 0x1e0]
test rdx, rdx
je 0x140040dee
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 0x140040de1
mov rax, qword [0x1402095c0]
test rax, rax
je 0x140040de1
dec dword [rax + 0xf4]
mov rdx, qword [0x1402095d0]
call qword [0x1401eb350]
mov qword [rdi + 0x1e0], r15
mov dword [rdi + 0x1dc], 0
mov dword [rdi + 0x1d8], 0
movzx eax, byte [rdi + 0xd0]
test al, al
jle 0x140040e1c
dec al
mov byte [rdi + 0xd0], al
movzx eax, byte [rdi + 0xd1]
test al, al
jle 0x140040e2f
dec al
mov byte [rdi + 0xd1], al
test byte [rsp + 0x108], 1
je 0x140040e59
mov rcx, rdi
mov edx, 2
call fcn.140036790
cmp rdi, qword [r14 + 0x48d8]
jne 0x140040e59
mov rcx, rdi
xor edx, edx
call fcn.1400448f0
mov r15, qword [0x1402095c0]
vmovss xmm0, dword [rsp + 0x88]
test sil, 1
jne 0x1400414c2
vmovss xmm2, dword [rsp + 0x90]
vmovss xmm1, dword [rdi + 0x5c]
mov ebx, dword [rdi + 0x14]
test bl, 0x20
jne 0x140040e96
cmp dword [r15 + 0x37f8], 0xffffffff
setne al
jmp 0x140040e98
xor eax, eax
vmovss xmm7, dword [rsp + 0x94]
vmovss xmm8, dword [rsp + 0x8c]
vsubss xmm10, xmm2, xmm1
mov r14d, dword [r15 + 0x4778]
mov ecx, r14d
or ecx, 0x10
mov dword [r15 + 0x4778], ecx
mov dword [rdi + 0x158], 1
vmovss xmm11, dword [r15 + 0x380c]
vmovss xmm6, dword [r15 + 0x3c20]
vxorps xmm2, xmm2, xmm2
vmovlps qword [rsp + 0xa8], xmm2
vmovlps qword [rsp + 0xa0], xmm2
vmovaps xmm12, xmm11
cmp qword [rsp + 0x168], 0
je 0x140040f23
vaddss xmm12, xmm11, xmm6
vaddss xmm2, xmm11, xmm12
vsubss xmm2, xmm10, xmm2
vmovss dword [rsp + 0xa8], xmm2
vmovss dword [rsp + 0xac], xmm8
vaddss xmm13, xmm0, xmm1
test al, al
je 0x140041048
mov eax, dword [r15 + 0x37f8]
test eax, eax
je 0x140040f60
cmp eax, 1
jne 0x140040f76
vaddss xmm12, xmm12, xmm6
vaddss xmm0, xmm11, xmm12
vsubss xmm0, xmm10, xmm0
vmovss dword [rsp + 0xa0], xmm0
vmovss dword [rsp + 0xa4], xmm8
jmp 0x140040f76
vmovss dword [rsp + 0xa0], xmm13
vmovss dword [rsp + 0xa4], xmm8
vaddss xmm11, xmm11, xmm6
mov rax, qword [rdi + 0xf8]
movsxd rcx, dword [rdi + 0xf0]
mov eax, dword [rax + rcx*4 - 4]
movzx ecx, al
mov ebp, eax
not ebp
shr ebp, 8
xor rcx, 0xdc
lea rax, [0x140110980]
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x43
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x4f
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x4c
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x4c
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x41
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x50
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x53
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x45
xor ebp, dword [rax + rcx*4]
mov rax, qword [rdi]
not ebp
cmp dword [rax + 0x3f40], ebp
jne 0x14004102e
lea r8, str.COLLAPSE
mov ecx, ebp
mov edx, 0xb
xor r9d, r9d
call fcn.140035640
lea rdx, [rsp + 0xa0]
mov ecx, ebp
call fcn.14006c670
test al, al
je 0x140041048
mov byte [rdi + 0xba], 1
cmp qword [rsp + 0x168], 0
je 0x140041106
mov rax, qword [rdi + 0xf8]
movsxd rcx, dword [rdi + 0xf0]
mov eax, dword [rax + rcx*4 - 4]
movzx ecx, al
mov ebp, eax
not ebp
shr ebp, 8
xor rcx, 0xdc
lea rax, [0x140110980]
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x43
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x4c
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x4f
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x53
xor ebp, dword [rax + rcx*4]
movzx ecx, bpl
shr ebp, 8
xor ecx, 0x45
xor ebp, dword [rax + rcx*4]
mov rax, qword [rdi]
not ebp
cmp dword [rax + 0x3f40], ebp
jne 0x1400410e8
lea r8, str.CLOSE
mov ecx, ebp
mov edx, 0xb
xor r9d, r9d
call fcn.140035640
lea rdx, [rsp + 0xa8]
mov ecx, ebp
call fcn.14006c3e0
test al, al
je 0x140041106
mov rax, qword [rsp + 0x168]
mov byte [rax], 0
mov dword [rdi + 0x158], 0
mov dword [r15 + 0x4778], r14d
vxorps xmm14, xmm14, xmm14
test ebx, 0x100000
je 0x14004112c
vmulss xmm14, xmm6, dword [0x140111b78]
mov rax, qword [0x1402095c0]
cmp r12, 0xffffffffffffffff
je 0x14004115d
mov rdx, r12
jmp 0x14004114f
cmp byte [rdx + 1], 0x23
je 0x14004116e
inc rdx
cmp rdx, 0xffffffffffffffff
je 0x140041167
movzx ecx, byte [rdx]
cmp ecx, 0x23
je 0x140041140
test ecx, ecx
jne 0x140041146
jmp 0x14004116e
vmovss xmm2, dword [rax + 0x3c20]
jmp 0x1400411d4
mov rdx, 0xffffffffffffffff
vmovss xmm2, dword [rax + 0x3c20]
cmp rdx, r12
je 0x1400411d4
mov rcx, qword [rax + 0x3c18]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 0xbf800000
lea rdx, [rsp + 0xb0]
vmovss xmm3, dword [0x140111990]
call fcn.1400609a0
vmovss xmm0, dword [rsp + 0xb0]
vmovss xmm2, dword [rsp + 0xb4]
vaddss xmm0, xmm0, dword [0x140111a28]
vroundss xmm0, xmm0, xmm0, 0xb
jmp 0x1400411d8
vxorps xmm0, xmm0, xmm0
vaddss xmm0, xmm14, xmm0
vmovss dword [rsp + 0x1a8], xmm0
vmovss dword [rsp + 0x1ac], xmm2
vmovss xmm1, dword [r15 + 0x380c]
vucomiss xmm11, xmm1
jbe 0x140041206
vaddss xmm11, xmm11, dword [r15 + 0x3824]
vucomiss xmm12, xmm1
jbe 0x140041215
vaddss xmm12, xmm12, dword [r15 + 0x3824]
vmovss xmm1, dword [r15 + 0x37f0]
vxorps xmm2, xmm2, xmm2
vucomiss xmm2, xmm1
jae 0x14004128a
vucomiss xmm1, dword [section..rdata]
jae 0x14004128a
vaddss xmm2, xmm1, dword [0x14010e600]
vbroadcastss xmm3, dword [0x14010e5a0]
vandps xmm2, xmm2, xmm3
vmovss xmm3, dword [section..rdata]
vfmadd132ss xmm2, xmm3, dword [0x14010ee40]
vminss xmm2, xmm2, xmm3
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vaddss xmm3, xmm13, xmm0
vaddss xmm4, xmm11, xmm12
vaddss xmm3, xmm3, xmm4
vsubss xmm3, xmm10, xmm3
vmaxss xmm4, xmm11, xmm12
vminss xmm3, xmm4, xmm3
vmulss xmm2, xmm2, xmm3
vmaxss xmm11, xmm11, xmm2
vmaxss xmm12, xmm12, xmm2
vsubss xmm3, xmm10, xmm12
vaddss xmm2, xmm11, xmm13
vmovss dword [rsp + 0xb0], xmm2
vmovss dword [rsp + 0xb4], xmm8
vmovss dword [rsp + 0xb8], xmm3
vmovss dword [rsp + 0xbc], xmm7
vaddss xmm4, xmm3, dword [r15 + 0x3824]
vminss xmm10, xmm10, xmm4
vmovss dword [rsp + 0x60], xmm2
vmovss dword [rsp + 0x64], xmm8
vmovss dword [rsp + 0x68], xmm10
vmovss dword [rsp + 0x6c], xmm7
test ebx, 0x100000
je 0x140041402
vaddss xmm0, xmm2, xmm0
vsubss xmm4, xmm3, xmm0
vfmadd213ss xmm1, xmm4, xmm0
vminss xmm0, xmm3, xmm1
vcmpltss xmm1, xmm1, xmm2
vblendvps xmm9, xmm0, xmm2, xmm1
vucomiss xmm9, xmm2
jbe 0x140041402
vaddss xmm0, xmm8, xmm7
mov rax, qword [0x1402095c0]
vmovss xmm1, dword [rax + 0x37d0]
vmulss xmm1, xmm1, dword [rax + 0x38c4]
vmovss xmm2, dword [0x14010e058]
vmovss xmm3, dword [section..rdata]
vminss xmm4, xmm3, dword [rax + 0x38b8]
vxorps xmm5, xmm5, xmm5
vmaxss xmm4, xmm4, xmm5
vmovss xmm7, dword [0x14010f668]
vfmadd213ss xmm4, xmm7, xmm2
vcvttss2si ecx, xmm4
vminss xmm3, xmm3, dword [rax + 0x38bc]
vmaxss xmm3, xmm3, xmm5
vfmadd213ss xmm3, xmm7, xmm2
vcvttss2si edx, xmm3
vmulss xmm0, xmm0, xmm2
shl edx, 8
or edx, ecx
vmovss xmm2, dword [rax + 0x38c0]
vinsertps xmm1, xmm2, xmm1, 0x10
vbroadcastss xmm2, dword [section..rdata]
vminps xmm1, xmm1, xmm2
vxorps xmm2, xmm2, xmm2
vmaxps xmm1, xmm1, xmm2
vbroadcastss xmm2, dword [0x14010f668]
vfmadd213ps xmm2, xmm1, xmmword [rsp + 0xf0]
vcvttps2dq xmm1, xmm2
vpsllvd xmm1, xmm1, xmmword [0x140111a00]
vmovd eax, xmm1
or eax, edx
vpextrd r8d, xmm1, 1
or r8d, eax
vmovd edx, xmm9
vmovd eax, xmm0
shl rax, 0x20
or rdx, rax
mov rcx, qword [rdi + 0x298]
call fcn.140060f90
vmulss xmm0, xmm6, dword [0x140111b7c]
vroundss xmm0, xmm0, xmm0, 0xb
vsubss xmm0, xmm9, xmm0
vminss xmm0, xmm10, xmm0
vmovss dword [rsp + 0x68], xmm0
cmp r12, 0xffffffffffffffff
je 0x1400414ad
add r15, 0x37f0
lea r8, [rsp + 0xb8]
mov r14, r12
jmp 0x140041430
cmp byte [r14 + 1], 0x23
je 0x140041446
inc r14
cmp r14, 0xffffffffffffffff
je 0x14004143f
movzx eax, byte [r14]
cmp eax, 0x23
je 0x140041420
test eax, eax
jne 0x140041427
jmp 0x140041446
mov r14, 0xffffffffffffffff
cmp r14d, r12d
je 0x1400414ad
mov rsi, qword [0x1402095c0]
mov rax, qword [rsi + 0x3ef8]
mov rcx, qword [rax + 0x298]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0xb0]
mov r9, r12
call fcn.140030800
cmp byte [rsi + 0x5ca0], 0
je 0x1400414ad
lea rcx, [rsp + 0xb0]
mov rdx, r12
mov r8, r14
call fcn.140030460
mov r15, qword [0x1402095c0]
vmovss xmm0, dword [rsp + 0x88]
mov r14, qword [rsp + 0x50]
mov dword [rdi + 0x258], 0
vmovss xmm1, dword [r15 + 0x3834]
vsubss xmm2, xmm0, xmm1
vmovss xmm0, dword [r15 + 0xe08]
vucomiss xmm2, xmm0
mov r12, qword [rsp + 0x178]
jbe 0x1400414f4
xor eax, eax
jmp 0x140041540
vmovss xmm2, dword [rsp + 0x8c]
vmovss xmm3, dword [r15 + 0x3838]
vsubss xmm2, xmm2, xmm3
vaddss xmm1, xmm1, dword [rsp + 0x90]
vaddss xmm3, xmm3, dword [rsp + 0x94]
vmovss xmm4, dword [r15 + 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 [r14 + 0x4778]
mov edx, dword [rdi + 0x7c]
mov dword [r15 + 0x4794], edx
mov dword [r15 + 0x4798], ecx
mov dword [r15 + 0x479c], eax
vmovups xmm0, xmmword [rsp + 0x88]
vmovups xmmword [r15 + 0x47b0], xmm0
vmovups xmm0, xmmword [rsp + 0x88]
vmovups xmmword [r15 + 0x47a0], xmm0
mov eax, dword [r14 + 0x477c]
test eax, eax
je 0x1400416a2
cmp dword [rdi + 0x10], eax
je 0x1400415a3
cmp dword [rdi + 0x7c], eax
jne 0x1400416a2
lea rax, [r15 + 0x4794]
vmovups ymm0, ymmword [rax]
vmovups ymm1, ymmword [rax + 0x1c]
vmovups ymmword [rsp + 0xcc], ymm1
vmovups ymmword [rsp + 0xb0], ymm0
mov dword [r15 + 0x477c], 0
mov rax, qword [r15 + 0x48d0]
mov rcx, qword [rax]
lea r8, str.Foreground
mov edx, 1
vzeroupper
call fcn.1400365d0
mov rbx, rax
vmovups xmm0, xmmword [rsp + 0xbc]
vmovaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x68]
vmovaps xmm0, xmmword [rsp + 0x60]
vaddps xmm0, xmm0, xmmword [0x140111b80]
vmovaps xmmword [rsp + 0x60], xmm0
mov rax, qword [r15 + 0xe08]
vmovq xmm1, rax
mov qword [rsp + 0xa8], rax
vcmpltps xmm2, xmm1, xmm0
vshufpd xmm3, xmm0, xmm0, 1
vminps xmm1, xmm3, xmm1
vblendvps xmm0, xmm1, xmm0, xmm2
vmovlps qword [rsp + 0xa0], 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.140051f10
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0xa0]
mov rcx, rbx
mov r9d, 0xff00ff00
call fcn.140051d60
mov r15, qword [0x1402095c0]
lea rdx, [rdi + 0x208]
lea r8, [rdi + 0x210]
mov rax, qword [r15 + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rsi, qword [r15 + 0x3ef8]
mov rcx, qword [rsi + 0x298]
mov r9b, 1
vzeroupper
call fcn.14004f7c0
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 [r14 + 0x47d0], 0
cmp dword [rsp + 0x4c], r12d
je 0x140041813
mov eax, dword [rsp + 0x48]
test eax, 0x1000000
je 0x14004177c
test al, 0x40
jne 0x140041741
cmp byte [rdi + 0xd0], 0
jg 0x140041741
cmp byte [rdi + 0xd1], 0
jle 0x1400418f9
test r13, r13
je 0x14004177c
cmp byte [r13 + 0xb9], 0
jne 0x14004175a
cmp byte [r13 + 0xd8], 0
jle 0x14004176b
mov byte [rdi + 0xd8], 1
cmp byte [r13 + 0xb9], 0
jne 0x140041775
cmp byte [r13 + 0xd9], 0
jle 0x14004177c
mov byte [rdi + 0xd9], 1
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [r14 + 0x37d0]
jae 0x1400417b1
mov al, 1
cmp byte [rdi + 0xd8], 0
mov cl, 1
jg 0x1400417bc
mov al, 1
cmp byte [rdi + 0xd9], 0
jg 0x1400417bc
cmp byte [rdi + 0xda], 0
setg cl
xor eax, eax
jmp 0x1400417bc
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 0x1400417dc
dec cl
mov byte [rdi + 0xdb], cl
or dword [rdi + 0x14], 0xc0200
cmp byte [rdi + 0xb9], 0
jne 0x1400417f5
cmp byte [rdi + 0xb6], 0
setne cl
not al
test al, cl
jne 0x14004180b
cmp byte [rdi + 0xd0], 0
jg 0x14004180b
cmp byte [rdi + 0xd1], 0
jle 0x1400418ea
xor eax, eax
mov byte [rdi + 0xbb], al
cmp byte [rdi + 0xbe], 0
je 0x140041828
cmp byte [rdi + 0xbb], 0
sete al
jmp 0x14004187c
cmp byte [r14 + 0x84], 0
setne al
test byte [rsp + 0x7c], al
jne 0x140041854
cmp byte [r14 + 0x85], 0
je 0x14004181c
movsx eax, byte [r14 + 0x5d12]
cmp dword [r14 + 0x3ec8], eax
jne 0x14004181c
movzx eax, byte [rdi + 0xd0]
test al, al
jle 0x140041867
inc al
mov byte [rdi + 0xd0], al
movzx eax, byte [rdi + 0xd1]
test al, al
jle 0x14004187a
inc al
mov byte [rdi + 0xd1], al
xor eax, eax
vmovaps xmm6, xmmword [rsp + 0x250]
vmovaps xmm7, xmmword [rsp + 0x260]
vmovaps xmm8, xmmword [rsp + 0x270]
vmovaps xmm9, xmmword [rsp + 0x280]
vmovaps xmm10, xmmword [rsp + 0x290]
vmovaps xmm11, xmmword [rsp + 0x2a0]
vmovaps xmm12, xmmword [rsp + 0x2b0]
vmovaps xmm13, xmmword [rsp + 0x2c0]
vmovaps xmm14, xmmword [rsp + 0x2d0]
vmovaps xmm15, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
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 0x14004180d
test eax, 0x800000
je 0x14004193a
cmp byte [r14 + 0x4918], 0
je 0x14004193a
mov rax, qword [r14 + 0x48d8]
test rax, rax
je 0x14004193a
mov rax, qword [rax + 0x390]
cmp rax, qword [rdi + 0x390]
sete al
jmp 0x14004193c
vxorps xmm3, xmm3, xmm3
test al, al
jne 0x14003f51f
jmp 0x14003f50a
xor eax, eax
cmp byte [r14 + 0x5ca0], 0
jne 0x140041741
test al, al
jne 0x140041741
vmovss xmm0, dword [rdi + 0x1e8]
vucomiss xmm0, dword [rdi + 0x1f0]
jae 0x14004197a
vmovss xmm0, dword [rdi + 0x1ec]
vucomiss xmm0, dword [rdi + 0x1f4]
jb 0x140041741
mov byte [rdi + 0xd8], 1
jmp 0x140041741
cmp byte [rdi + 0xb7], 0
je 0x14003f2cb
mov rdx, qword [0x1402095c0]
movzx eax, byte [rdx + 0x7e]
vmovss xmm0, dword [rdx + 0x3c20]
vmovss xmm1, dword [0x140111ab0]
vfmadd213ss xmm1, xmm0, xmm13
vmulss xmm0, xmm0, dword [0x140111b14]
vmaxss xmm0, xmm0, xmm1
vroundss xmm0, xmm0, xmm0, 0xb
vmulss xmm0, xmm0, dword [0x14010e7a8]
vxorps xmm6, xmm6, xmm6
mov byte [rsp + 0x83], al
test al, al
je 0x1400419e4
vmovss xmm6, dword [0x14010e5b0]
vroundss xmm0, xmm0, xmm0, 0xb
vmovaps xmmword [rsp + 0x180], xmm0
cmp byte [rdx + 0x7f], 0
sete al
or r8b, al
vmovshdup xmm11, xmm8
test r8b, 1
jne 0x140041a43
mov rax, qword [rdi]
vmovss xmm0, dword [rdi + 0x290]
vmulss xmm0, xmm0, dword [rax + 0x3c24]
mov rcx, qword [rdi + 0x368]
test rcx, rcx
je 0x140041a2f
vmulss xmm0, xmm0, dword [rcx + 0x290]
vmovss xmm1, dword [rax + 0x3810]
vsubss xmm0, xmm11, xmm0
vaddss xmm1, xmm1, xmm1
vsubss xmm11, xmm0, xmm1
vmovss dword [rsp + 0x120], xmm7
mov dword [rsp + 0x134], r8d
mov qword [rsp + 0x98], rdx
mov dword [rsp + 0x124], ebp
vmovss dword [rsp + 0x128], xmm10
vmovss dword [rsp + 0x12c], xmm14
vmovss dword [rsp + 0x130], xmm13
mov dword [rdi + 0x158], 1
lea rcx, str.RESIZE
call fcn.1400474a0
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x100], rax
vbroadcastss xmm0, dword [0x1401119d0]
vmovaps xmmword [rsp + 0x1b0], xmm11
vinsertps xmm0, xmm0, xmm11, 0x10
vmovaps xmmword [rsp + 0x190], xmm0
vbroadcastss xmm0, dword [0x14010ee28]
vbroadcastss xmm12, dword [rsp + 0x180]
vxorps xmm0, xmm12, xmm0
vmovaps xmmword [rsp + 0x1f0], xmm0
vbroadcastss xmm14, xmm6
vblendps xmm0, xmm8, xmmword [0x140111b20], 0xe
vmovaps xmmword [rsp + 0x1e0], xmm0
vbroadcastss xmm10, dword [0x140111990]
lea rbx, [0x140111618]
xor r13d, r13d
vmovss xmm13, dword [section..rdata]
vxorps xmm7, xmm7, xmm7
xor eax, eax
mov qword [rsp + 0x1a0], rax
vmovaps xmmword [rsp + 0x140], xmm10
vmovaps xmmword [rsp + 0x1d0], xmm10
jmp 0x140041c2b
cmp cl, 1
mov ecx, 0x1f
sbb rcx, 0
test al, al
mov rax, qword [0x1402095c0]
mov edx, 0x20
cmovne rcx, rdx
shl rcx, 4
vmovss xmm0, dword [rax + 0x37d0]
vmulss xmm0, xmm0, dword [rax + rcx + 0x38c4]
vminss xmm1, xmm13, dword [rax + rcx + 0x38b8]
vxorps xmm2, xmm2, xmm2
vmaxss xmm1, xmm1, xmm2
vmovss xmm3, dword [0x14010e058]
vmovss xmm4, dword [0x14010f668]
vfmadd213ss xmm1, xmm4, xmm3
vcvttss2si edx, xmm1
vminss xmm1, xmm13, dword [rax + rcx + 0x38bc]
vxorps xmm7, xmm7, xmm7
vmaxss xmm1, xmm1, xmm2
vfmadd213ss xmm1, xmm4, xmm3
vcvttss2si r8d, xmm1
shl r8d, 8
or r8d, edx
vmovss xmm1, dword [rax + rcx + 0x38c0]
vinsertps xmm0, xmm1, xmm0, 0x10
vbroadcastss xmm1, dword [section..rdata]
vminps xmm0, xmm0, xmm1
vmaxps xmm0, xmm0, xmmword [0x14010ee70]
vbroadcastss xmm1, dword [0x14010f668]
vbroadcastss xmm2, dword [0x14010e058]
vfmadd231ps xmm2, xmm0, xmm1
vcvttps2dq xmm0, xmm2
vpsllvd xmm0, xmm0, xmmword [0x140111a00]
vmovd eax, xmm0
or eax, r8d
vpextrd ecx, xmm0, 1
or ecx, eax
mov dword [rsp + r13*4 + 0x1c0], ecx
inc r13
add rbx, 0x18
cmp qword [rsp + 0x100], r13
je 0x140041f46
vmovsd xmm15, qword [rbx - 8]
vmovsd xmm11, qword [rbx]
vmovsd xmm0, qword [rdi + 0x20]
vmulps xmm1, xmm11, xmm12
vmulps xmm6, xmm11, xmm14
vmovsd xmm2, qword [rdi + 0x28]
vfmadd213ps xmm2, xmm15, xmm0
vmovddup xmm0, xmm2
vmovlhps xmm2, xmm6, xmm1
vsubps xmm1, xmm0, xmm2
vaddps xmm0, xmm0, xmm2
vblendps xmm2, xmm0, xmm1, 3
vmovaps xmmword [rsp + 0xb0], xmm2
vshufpd xmm2, xmm0, xmm0, 1
vucomiss xmm1, xmm2
jbe 0x140041c89
vmovss dword [rsp + 0xb0], xmm2
vmovss dword [rsp + 0xb8], xmm1
vmovshdup xmm1, xmm1
vshufps xmm0, xmm0, xmm0, 0xff
vucomiss xmm1, xmm0
jbe 0x140041caa
vmovss dword [rsp + 0xb4], xmm0
vmovss dword [rsp + 0xbc], xmm1
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, [0x140110980]
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 0x140041d3c
mov ecx, r15d
mov edx, 4
mov r8, r13
xor r9d, r9d
call fcn.140035640
lea rbp, [rsp + 0xb0]
mov rcx, rbp
mov edx, r15d
xor r8d, r8d
mov r9d, 8
call fcn.140044ea0
mov dword [rsp + 0x20], 0x40800
mov rcx, rbp
mov edx, r15d
lea r8, [rsp + 0x88]
lea r9, [rsp + 0xa8]
call fcn.14006b8c0
movzx eax, byte [rsp + 0xa8]
movzx ecx, byte [rsp + 0x88]
or cl, al
jne 0x140041d9e
movabs r15, 0x7f7fffff7f7fffff
jmp 0x140041f18
mov ecx, r13d
and ecx, 1
mov edx, 6
sub edx, ecx
mov r8, qword [rsp + 0x98]
mov dword [r8 + 0x4a98], edx
test al, al
movabs r15, 0x7f7fffff7f7fffff
je 0x140041f18
test r13, r13
jne 0x140041e18
cmp word [r8 + 0x3752], 2
jne 0x140041e18
lea rcx, [rsp + 0x60]
mov rdx, rdi
lea r8, [rsp + 0x138]
call fcn.140045e60
vmovsd xmm0, qword [rsp + 0x60]
vmovaps xmmword [rsp + 0x140], xmm0
xor ecx, ecx
xor edx, edx
call fcn.140035dd0
mov al, 1
mov qword [rsp + 0x1a0], rax
jmp 0x140041f18
vmovshdup xmm0, xmm15
vucomiss xmm0, xmm13
setne al
vucomiss xmm0, xmm7
setne cl
or cl, byte [rsp + 0x134]
and cl, al
vucomiss xmm15, xmm13
sete al
vcmpeqps xmm10, xmm15, xmmword [0x14010ee70]
vmovaps xmm0, xmmword [rsp + 0x1d0]
vblendvps xmm0, xmm0, xmm9, xmm10
vfmsub132ps xmm11, xmm6, xmmword [rsp + 0x1f0]
vfmadd213ps xmm11, xmm15, xmm6
vmovsd xmm1, qword [r8 + 0xe08]
vmovsd xmm2, qword [r8 + 0x3f6c]
vsubps xmm1, xmm1, xmm2
vaddps xmm1, xmm11, xmm1
vmovd xmm2, eax
vpinsrb xmm2, xmm2, ecx, 4
vmovsd xmm3, qword [rdi + 0x20]
vpslld xmm2, xmm2, 0x1f
vmovaps xmm4, xmmword [rsp + 0x190]
vblendvps xmm2, xmm4, xmmword [rsp + 0x1e0], xmm2
vcmpltps xmm4, xmm1, xmm2
vminps xmm0, xmm0, xmm1
vblendvps xmm0, xmm0, xmm2, xmm4
vsubps xmm6, xmm3, xmm0
vfmadd213ps xmm6, xmm15, xmm0
vmovsd xmm1, qword [rdi + 0x28]
vaddps xmm1, xmm1, xmm3
vsubps xmm0, xmm0, xmm1
vsubps xmm11, xmm1, xmm6
vfmadd231ps xmm11, xmm15, xmm0
vmovlps qword [rsp + 0x60], xmm11
lea rcx, [rsp + 0x150]
mov rdx, rdi
lea r8, [rsp + 0x60]
call fcn.140045e60
vmovsd xmm0, qword [rsp + 0x150]
vmovaps xmmword [rsp + 0x140], xmm0
vsubps xmm0, xmm11, xmm0
vbroadcastss xmm1, dword [0x14010ee28]
vblendvps xmm0, xmm1, xmm0, xmm10
vaddps xmm10, xmm0, xmm6
movzx eax, byte [rsp + 0xa8]
movzx ecx, byte [rsp + 0x88]
test r13, r13
je 0x140041b39
test al, al
jne 0x140041b39
test cl, cl
je 0x140041c16
jmp 0x140041b39
cmp byte [rsp + 0x83], 0
je 0x140042376
vmovaps xmm0, xmmword [rsp + 0x180]
vblendps xmm12, xmm0, xmmword [0x140111b30], 0xe
vblendps xmm13, xmm0, xmmword [0x140111b40], 0xe
mov dword [rsp + 0x190], 0xffffffff
lea rbx, [0x140111680]
xor r13d, r13d
vxorps xmm15, xmm15, xmm15
lea rbp, [rsp + 0xb0]
vmovss xmm14, dword [0x14010e5b0]
vmovss xmm7, dword [rsp + 0x120]
jmp 0x1400420ba
vinsertps xmm0, xmm1, xmm0, 0x10
xor ecx, ecx
cmp r13, 2
setae cl
mov rdx, qword [rdi + 0x20]
mov qword [rsp + 0x88], rdx
vaddss xmm1, xmm14, dword [r9 + rcx*4 + 0xe08]
sete r8b
vsubss xmm1, xmm1, dword [r9 + rcx*4 + 0x3f6c]
vmovss dword [rsp + rcx*4 + 0x88], xmm1
vmovd xmm1, eax
vpinsrb xmm1, xmm1, r8d, 4
vpslld xmm1, xmm1, 0x1f
vbroadcastss xmm2, dword [0x140111990]
vblendvps xmm1, xmm2, xmm9, xmm1
vmovsd xmm2, qword [rsp + 0x88]
vcmpltps xmm3, xmm2, xmm0
vminps xmm1, xmm1, xmm2
vblendvps xmm0, xmm1, xmm0, xmm3
vmovq xmm1, rdx
vmovsd xmm2, qword [rbx - 8]
vmovsd xmm3, qword [rbx]
vminps xmm6, xmm2, xmm3
vsubps xmm10, xmm1, xmm0
vfmadd213ps xmm10, xmm6, xmm0
vmovsd xmm2, qword [rdi + 0x28]
vaddps xmm1, xmm2, xmm1
vsubps xmm0, xmm0, xmm1
vsubps xmm11, xmm1, xmm10
vfmadd231ps xmm11, xmm6, xmm0
vmovlps qword [rsp + 0x60], xmm11
lea rcx, [rsp + 0x150]
mov rdx, rdi
lea r8, [rsp + 0x60]
call fcn.140045e60
mov r9, qword [rsp + 0x98]
vcmpeqps xmm0, xmm15, xmm6
vmovsd xmm1, qword [rsp + 0x150]
vmovaps xmmword [rsp + 0x140], xmm1
vsubps xmm1, xmm11, xmm1
vbroadcastss xmm2, dword [0x14010ee28]
vblendvps xmm0, xmm2, xmm1, xmm0
vaddps xmm10, xmm10, xmm0
mov eax, r13d
mov dword [rsp + 0x190], r13d
inc r13
add rbx, 0x1c
cmp r13, 4
je 0x140042392
cmp r13d, 3
ja case.default.0x1400420e5
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, [0x140111c94]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
vsubss xmm2, xmm3, dword [rsp + 0x180]
vinsertps xmm1, xmm1, xmm0, 0x10
vaddps xmm1, xmm12, xmm1
vaddss xmm0, xmm0, dword [0x140111a38]
vmovss dword [rsp + 0xb0], xmm0
vmovlps qword [rsp + 0xb4], xmm1
vmovss dword [rsp + 0xbc], xmm2
jmp 0x1400421ce
vmovaps xmmword [rsp + 0xb0], xmm15
jmp 0x1400421ce
vsubss xmm0, xmm3, dword [rsp + 0x180]
vinsertps xmm1, xmm1, xmm2, 0x10
vaddps xmm1, xmm12, xmm1
vaddss xmm2, xmm2, dword [0x140111a38]
vmovss dword [rsp + 0xb0], xmm2
vmovlps qword [rsp + 0xb4], xmm1
vmovss dword [rsp + 0xbc], xmm0
jmp 0x1400421ce
vaddss xmm3, xmm14, xmm1
vsubss xmm2, xmm2, dword [rsp + 0x180]
vinsertps xmm0, xmm0, xmm1, 0x10
vaddps xmm0, xmm13, xmm0
vmovlps qword [rsp + 0xb0], xmm0
vmovss dword [rsp + 0xb8], xmm2
vmovss dword [rsp + 0xbc], xmm3
jmp 0x1400421ce
vaddss xmm1, xmm14, xmm3
vsubss xmm2, xmm2, dword [rsp + 0x180]
vinsertps xmm0, xmm0, xmm3, 0x10
vaddps xmm0, xmm13, xmm0
vmovlps qword [rsp + 0xb0], xmm0
vmovss dword [rsp + 0xb8], xmm2
vmovss dword [rsp + 0xbc], 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, [0x140110980]
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 0x140042261
mov ecx, r15d
mov edx, 4
xor r9d, r9d
call fcn.140035640
mov rcx, rbp
mov edx, r15d
xor r8d, r8d
mov r9d, 8
call fcn.140044ea0
mov dword [rsp + 0x20], 0x40800
mov rcx, rbp
mov edx, r15d
lea r8, [rsp + 0xa8]
lea r9, [rsp + 0xa0]
call fcn.14006b8c0
cmp byte [rsp + 0xa8], 0
je 0x1400422f3
mov r9, qword [rsp + 0x98]
vmovss xmm0, dword [0x140111b50]
vucomiss xmm0, dword [r9 + 0x3f50]
movzx eax, byte [rsp + 0xa0]
movabs r15, 0x7f7fffff7f7fffff
jb 0x1400422d7
test al, al
je 0x1400420a9
cmp r13, 2
mov ecx, 0
adc ecx, 3
mov dword [r9 + 0x4a98], ecx
test al, al
jne 0x140042326
jmp 0x1400420a9
cmp byte [rsp + 0xa0], 0
movabs r15, 0x7f7fffff7f7fffff
mov r9, qword [rsp + 0x98]
je 0x1400420a9
cmp r13, 2
mov eax, 0
adc eax, 3
mov dword [r9 + 0x4a98], eax
cmp r13d, 3
je 0x14004234c
vmovss xmm0, dword [0x1401119d0]
cmp r13d, 2
jne 0x140042355
vmovss xmm0, dword [0x1401119d0]
test byte [rsp + 0x134], 1
jne 0x140042355
vmovaps xmm0, xmmword [rsp + 0x1b0]
test r13, r13
sete al
vmovaps xmm1, xmm8
cmp r13, 1
je 0x140041fa9
vmovss xmm1, dword [0x1401119d0]
jmp 0x140041fa9
mov dword [rsp + 0x190], 0xffffffff
mov r9, qword [rsp + 0x98]
vmovss xmm7, dword [rsp + 0x120]
vmovaps xmm9, xmm10
mov rax, qword [0x1402095c0]
mov rcx, qword [rax + 0x3ef8]
dec dword [rcx + 0xf0]
mov dword [rdi + 0x158], 0
mov rcx, qword [r9 + 0x4a60]
test rcx, rcx
je 0x140042440
cmp qword [rcx + 0x378], rdi
mov r13, qword [rsp + 0x70]
vmovss xmm13, dword [rsp + 0x130]
vmovss xmm14, dword [rsp + 0x12c]
vmovss xmm10, dword [rsp + 0x128]
mov ebp, dword [rsp + 0x124]
jne 0x1400425ab
mov ecx, dword [r9 + 0x490c]
cmp ecx, 3
je 0x14004246c
vxorps xmm0, xmm0, xmm0
cmp ecx, 2
vmovaps xmm3, xmmword [rsp + 0x1b0]
jne 0x1400424a0
cmp byte [r9 + 0xe25], 0
je 0x1400424a0
vmovss xmm0, dword [rax + 0x2e78]
lea rcx, [rax + 0x2e58]
vsubss xmm0, xmm0, dword [rax + 0x2e68]
add rax, 0x2e48
jmp 0x140042492
mov r13, qword [rsp + 0x70]
vmovss xmm13, dword [rsp + 0x130]
vmovss xmm14, dword [rsp + 0x12c]
vmovss xmm10, dword [rsp + 0x128]
mov ebp, dword [rsp + 0x124]
jmp 0x1400425ab
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 0x1400425ab
vmovss xmm1, dword [r9 + 0x18]
vmovss xmm2, dword [r9 + 0x70]
vmulss xmm1, xmm1, dword [0x140111b54]
vminss xmm2, xmm2, dword [r9 + 0x74]
vmulss xmm1, xmm1, xmm2
vbroadcastss xmm1, xmm1
vmovsd xmm2, qword [r9 + 0x4a8c]
vfmadd213ps xmm0, xmm1, xmm2
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 xmm6, xmm0, xmm1
vmovlps qword [r9 + 0x4a8c], xmm6
mov byte [r9 + 0x4a80], 0
mov byte [r9 + 0x4917], 1
vmovss xmm1, dword [section..rdata]
mov ecx, 0x20
mov rbx, r9
call fcn.14002fb70
mov dword [rsp + 0x1c0], eax
vcvttps2dq xmm0, xmm6
vmovq rax, xmm0
test rax, rax
vmovaps xmm1, xmmword [rsp + 0x140]
je 0x1400425b4
vcvtdq2ps xmm6, xmm0
vmovsd xmm0, qword [rdi + 0x30]
vaddps xmm0, xmm0, xmm6
vmovlps qword [rsp + 0x60], xmm0
lea rcx, [rsp + 0xb0]
lea r8, [rsp + 0x60]
mov rdx, rdi
call fcn.140045e60
vmovsd xmm1, qword [rsp + 0xb0]
vmovsd xmm0, qword [rbx + 0x4a8c]
vsubps xmm0, xmm0, xmm6
vmovlps qword [rbx + 0x4a8c], xmm0
jmp 0x1400425b4
vmovaps xmm1, xmmword [rsp + 0x140]
vucomiss xmm1, dword [0x140111990]
je 0x1400425eb
vmovlps qword [rdi + 0x30], xmm1
test byte [rdi + 0x15], 1
jne 0x1400425eb
mov rax, qword [0x1402095c0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x1400425eb
vmovss xmm0, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm0
vucomiss xmm9, dword [0x140111990]
je 0x140042638
vmovshdup xmm0, xmm9
vroundss xmm0, xmm0, xmm0, 0xb
vroundss xmm1, xmm9, xmm9, 0xb
vmovss dword [rdi + 0x20], xmm1
vmovss dword [rdi + 0x24], xmm0
test byte [rdi + 0x15], 1
jne 0x140042638
mov rax, qword [0x1402095c0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x5c0c]
jb 0x140042638
vmovss xmm0, dword [rax + 0x1c]
vmovss dword [rax + 0x5c0c], xmm0
mov rax, qword [rdi + 0x30]
test byte [rsp + 0x1a0], 1
movzx ebp, bpl
mov ecx, 1
cmovne ebp, ecx
mov qword [rdi + 0x28], rax
mov eax, dword [rsp + 0xf0]
movzx eax, al
cmovne eax, ecx
lea rcx, [rdi + 0xc1]
mov qword [rsp + 0x100], rcx
mov ecx, dword [rsp + 0x190]
mov byte [rdi + 0xc1], cl
cmp byte [rdi + 0xb9], 0
jne 0x14003f54f
mov dword [rsp + 0xf0], eax
jmp 0x14003f2e1