Function at 0x140045390
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x428]
sub rsp, 0x520
mov edx, dword [0x1400dfc30]
lea r8, [rbp - 0x30]
mov rcx, qword [0x1400dfc38]
add edx, 0xfca1fc
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x88], xmm9
mov qword [rax - 0x18], rsi
mov esi, 4
mov qword [rax - 0x40], r15
mov r9d, esi
xor r15d, r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x30]
movsd xmm9, qword [0x1400c8180]
mov dword [rbp - 0x4c], eax
test eax, eax
je 0x140046363
mov edx, dword [0x1400dfc30]
lea r8, [rbp - 0x2c]
mov rcx, qword [0x1400dfc38]
add edx, 0xfc0640
mov qword [rsp + 0x518], rbx
mov r9d, esi
mov qword [rsp + 0x508], rdi
mov qword [rsp + 0x500], r12
mov qword [rsp + 0x4f8], r13
mov qword [rsp + 0x4f0], r14
movaps xmmword [rsp + 0x4c0], xmm7
movaps xmmword [rsp + 0x4b0], xmm8
movaps xmmword [rsp + 0x490], xmm10
movaps xmmword [rsp + 0x480], xmm11
movaps xmmword [rsp + 0x450], xmm14
movaps xmmword [rsp + 0x440], xmm15
mov byte [0x1400dfbce], r15b
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [0x1400dfc30]
lea r8, [rsp + 0x70]
mov rcx, qword [0x1400dfc38]
add edx, 0xfc0630
mov edi, dword [rbp - 0x2c]
mov r9d, esi
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [0x1400dfc30]
lea r8, [rsp + 0x74]
mov rcx, qword [0x1400dfc38]
add edx, 0xfc062c
mov ebx, dword [rsp + 0x70]
mov r9d, esi
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rsp + 0x74]
sub edi, ebx
movss xmm10, dword [rbp - 0x20]
mov esi, r15d
movss xmm11, dword [rbp - 0x24]
mov ebx, 4
movsd xmm6, qword [rbp - 0x18]
movss xmm14, dword [rbp - 0x28]
movss xmm7, dword [rbp + 0x40]
mov r14d, dword [rbp - 0x10]
mov r13d, dword [0x1400da008]
movss xmm15, dword [0x1400c81c0]
mov dword [rbp - 0x54], eax
add eax, 0x4e8
add eax, edi
movaps xmmword [rsp + 0x470], xmm12
mov qword [rbp + 0x58], rax
movss dword [rbp + 0x440], xmm10
movss dword [rbp + 0x448], xmm11
movss dword [rbp + 0x430], xmm7
mov dword [rbp - 0x40], edi
mov dword [rbp + 0x438], r14d
movsd qword [rbp - 0x38], xmm6
movd r12d, xmm10
unpcklps xmm14, xmm11
movaps xmmword [rsp + 0x460], xmm13
nop word [rax + rax]
mov rcx, qword [0x1400dfc38]
lea r8, [rsp + 0x78]
mov r9, rbx
mov qword [rsp + 0x20], r15
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rsp + 0x78]
and eax, 0x80000001
jge 0x14004559f
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
mov ecx, r15d
mov eax, esi
setne cl
and eax, 1
cmp eax, ecx
je 0x1400462d3
mov edx, dword [0x1400dfc30]
lea r8, [rsp + 0x7c]
mov rcx, qword [0x1400dfc38]
add edx, 0xfc0a98
mov r9, rbx
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [0x1400dfc30]
lea r8, [rbp - 0x80]
mov rcx, qword [0x1400dfc38]
add edx, 0xfc0b08
mov ebx, dword [rsp + 0x7c]
mov r9d, 4
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp esi, 0x11
ja 0x1400462ce
mov eax, dword [rbp - 0x80]
lea r8, [rbp - 0x7c]
mov rcx, qword [0x1400dfc38]
add ebx, 0x12a0
mov qword [rsp + 0x20], r15
lea edx, [rax + rsi*4]
add edx, ebx
mov ebx, 4
mov r9d, ebx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, dword [rbp - 0x7c]
test edi, edi
je 0x1400462d3
mov rcx, qword [0x1400dfc38]
lea edx, [rdi + 0x28]
mov r9d, ebx
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1400dfc38]
lea edx, [rdi + 0x10]
mov ebx, dword [rbp - 0x78]
lea r8, [rbp - 0x74]
mov r9d, 4
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, dword [rbp - 0x74]
xor edi, ebx
cmp ebx, dword [rbp - 0x74]
mov ebx, 4
je 0x1400462d3
mov rcx, qword [0x1400dfc38]
lea edx, [rdi + 0xd6c]
mov r9d, ebx
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x70]
test eax, eax
je 0x1400462d3
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0x14]
mov r9d, ebx
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x6c]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cvttss2si ebx, dword [rbp - 0x6c]
test ebx, ebx
je 0x1400462ce
mov rcx, qword [0x1400dfc38]
lea edx, [rdi + 0xa78]
mov r9d, 4
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x68]
test eax, eax
je 0x14004579a
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0x38]
mov r9d, 4
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x64]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x64]
test eax, eax
je 0x14004579a
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0x20]
mov r9d, 4
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x60]
test eax, eax
je 0x14004579a
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0xe8]
mov r9d, recv
mov qword [rsp + 0x20], r15
lea r8, [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm6, qword [rbp + 0x60]
mov r14d, dword [rbp + 0x68]
movsd qword [rbp - 0x38], xmm6
mov dword [rbp + 0x438], r14d
mov rcx, qword [0x1400dfc38]
lea edx, [rdi + 0x6e4]
mov r9d, 4
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x5c]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x5c]
test eax, eax
je 0x14004583a
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0x50]
mov r9d, 4
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x58]
test eax, eax
je 0x14004583a
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0x40]
mov r9d, recv
mov qword [rsp + 0x20], r15
lea r8, [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm14, qword [rbp + 0x70]
mov r12d, dword [rbp + 0x78]
movaps xmm0, xmm14
shufps xmm0, xmm0, 0x55
movss dword [rbp + 0x448], xmm0
movaps xmm11, xmm0
movsd qword [rbp - 0x28], xmm14
movd xmm10, r12d
movss dword [rbp + 0x440], xmm10
mov r9d, dword [0x1400dfc34]
lea rdx, [rbp - 0x18]
mov r8d, dword [0x1400dfc5c]
lea rcx, [rbp + 0x80]
movsd qword [rbp + 0x80], xmm6
mov dword [rbp + 0x88], r14d
call fcn.140044880
test al, al
je 0x1400462ce
mov r9d, dword [0x1400dfc34]
lea rdx, [rbp + 0x90]
mov r8d, dword [0x1400dfc5c]
lea rcx, [rbp + 0xb0]
movsd qword [rbp + 0xb0], xmm14
mov dword [rbp + 0xb8], r12d
call fcn.140044880
test al, al
je 0x1400462ce
cmp byte [0x1400dfbae], 0
mov r15d, 1
movss xmm12, dword [rbp + 0x94]
mov r14d, ebx
movss xmm13, dword [rbp + 0x90]
je 0x140045ad6
cmp byte [0x1400c7a8f], 0
mov rax, qword [0x1400c7a88]
mov qword [rsp + 0x50], rax
je 0x1400459fd
cmp r13d, 2
jl 0x140045a8f
movdqa xmm2, xmmword [0x1400c82b0]
mov eax, 4
movdqa xmm4, xmmword [0x1400c8370]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1400c82c0]
movdqa xmm0, xmm2
movss xmm7, dword [rbp + 0x430]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movd xmm5, eax
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400c82e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x50]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1400c82f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rsp + 0x50], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400c82e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x54]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400c82f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
xorps xmm2, xmm0
movd dword [rsp + 0x54], xmm2
xor ebx, ebx
mov r8d, r14d
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x140]
call fcn.140056b90
xorps xmm0, xmm0
mov qword [rbp + 0xd0], rbx
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd8], rbx
lea rax, [rbp + 0x140]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140045a40
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0xc0]
call fcn.140031a20
movaps xmm0, xmm12
lea r9, [rbp + 0xc0]
addss xmm0, dword [0x1400c81a8]
movaps xmm1, xmm13
lea r8, [0x1400daef0]
subss xmm1, xmm15
cvttss2si edx, xmm0
cvttss2si ecx, xmm1
call fcn.14003d5f0
jmp 0x140045ad8
xor ebx, ebx
lea r9, [rsp + 0x50]
mov r8d, ebx
nop dword [rax]
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x140045aa0
jmp 0x1400459ff
xor ebx, ebx
cmp byte [0x1400dfbcf], 0
je 0x140045c2a
mov edx, dword [rbp - 0x54]
lea r8, [rbp - 0x50]
mov rcx, qword [0x1400dfc38]
add edx, 0x1530
mov r9d, 4
mov qword [rsp + 0x20], rbx
lea edx, [rdx + rsi*4]
add edx, dword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [rbp - 0x50]
lea r8, [rbp + 0x100]
mov rcx, qword [0x1400dfc38]
add edx, 8
mov r9d, 0x40
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movzx ecx, word [0x1400c7cb8]
lea r8, [rbp + 0x100]
movsd xmm0, qword [0x1400c7cb0]
lea rdx, [rsp + 0x40]
movzx eax, byte [0x1400c7cba]
mov r9d, r15d
movsd qword [rsp + 0x40], xmm0
xor al, 0x3b
xor byte [rsp + 0x41], 0x32
xor byte [rsp + 0x42], 0x33
xor byte [rsp + 0x43], 0x34
xor byte [rsp + 0x44], 0x35
xor byte [rsp + 0x45], 0x36
xor byte [rsp + 0x46], 0x37
xor byte [rsp + 0x47], 0x38
mov word [rsp + 0x48], cx
xor cl, 0x39
xor byte [rsp + 0x49], 0x3a
mov byte [rsp + 0x48], cl
lea rcx, [rbp + 0x140]
mov byte [rsp + 0x40], 0x4e
mov byte [rsp + 0x4a], al
call fcn.140056b90
xorps xmm0, xmm0
mov qword [rbp + 0xf0], rbx
movups xmmword [rbp + 0xe0], xmm0
mov r15d, 2
mov qword [rbp + 0xf8], rbx
lea rax, [rbp + 0x140]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140045be0
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0xe0]
call fcn.140031a20
movaps xmm0, xmm12
lea r9, [rbp + 0xe0]
movaps xmm1, xmm13
addss xmm0, xmm15
subss xmm1, xmm15
lea r8, [0x1400daef0]
cvttss2si edx, xmm0
cvttss2si ecx, xmm1
call fcn.14003d5f0
cmp byte [0x1400dfbc9], 0
je 0x140045f5e
mov edx, dword [rbp - 0x4c]
lea r8, [rbp - 0x48]
mov rcx, qword [0x1400dfc38]
add edx, 0x6e4
mov r9d, 4
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x48]
test eax, eax
je 0x140045cc8
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0x50]
mov r9d, 4
mov qword [rsp + 0x20], rbx
lea r8, [rbp - 0x44]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x44]
test eax, eax
je 0x140045cc8
mov rcx, qword [0x1400dfc38]
lea edx, [rax + 0x40]
mov r9d, recv
mov qword [rsp + 0x20], rbx
lea r8, [rbp + 0xa0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rbp + 0xa0]
movss xmm7, dword [rbp + 0xa8]
movsd qword [rbp + 0x38], xmm0
movss dword [rbp + 0x430], xmm7
movss xmm1, dword [rbp + 0x38]
movaps xmm0, xmm7
movss xmm2, dword [rbp + 0x3c]
subss xmm0, xmm10
subss xmm1, dword [rbp - 0x28]
subss xmm2, xmm11
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140045d09
xorps xmm5, xmm5
sqrtss xmm5, xmm2
jmp 0x140045d14
movaps xmm0, xmm2
call fcn.1400951e8
movaps xmm5, xmm0
movzx eax, byte [0x1400c6de0]
mov r8d, ebx
mov byte [rbp + 0x28], al
movups xmm1, xmmword [str.u___TXT_]
movups xmmword [rbp + 0x18], xmm1
cmp r13d, 2
jl 0x140045e87
movdqa xmm0, xmmword [str.1111111111111111]
lea rcx, [rbp + 0x1c]
movdqa xmm6, xmmword [0x1400c82b0]
mov eax, 4
movdqa xmm4, xmmword [0x1400c8370]
movdqa xmm8, xmmword [0x1400c82e0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
movd xmm7, eax
mov eax, 0x1f
movd xmm9, eax
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm6
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm6
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm9
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1400c82f0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm0, xmm9
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400c82f0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x140045d80
cmp r8d, 0x11
jge 0x140045ec2
movsxd rax, r8d
lea r9, [rbp + 0x18]
add r9, rax
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0x11
jl 0x140045e91
xorps xmm2, xmm2
lea rdx, [rbp + 0x18]
cvtss2sd xmm2, xmm5
mov r9d, r15d
lea rcx, [rbp + 0x140]
movq r8, xmm2
call fcn.140056b90
xorps xmm0, xmm0
mov qword [rbp + 0x28], rbx
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x30], rbx
lea rax, [rbp + 0x140]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140045f00
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x18]
call fcn.140031a20
lea eax, [r15 + 1]
movaps xmm1, xmm13
lea ecx, [rax + rax*4]
add ecx, ecx
subss xmm1, xmm15
lea rbx, [0x1400daef0]
lea r9, [rbp + 0x18]
mov r8, rbx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm1
addss xmm0, xmm12
cvttss2si edx, xmm0
call fcn.14003d5f0
movsd xmm9, qword [0x1400c8180]
jmp 0x140045f65
lea rbx, [0x1400daef0]
cmp byte [0x1400dfbac], 0
movss xmm11, dword [rbp - 0x14]
movss xmm6, dword [rbp - 0x18]
je 0x14004604e
movaps xmm0, xmm11
xorps xmm1, xmm1
subss xmm0, xmm12
comiss xmm1, xmm0
jbe 0x140045f96
mulss xmm0, dword [0x1400c8204]
mov ecx, dword [0x1400daef0]
xorps xmm1, xmm1
cvttss2si r9d, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mov ecx, dword [0x1400daef4]
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm1, rcx
mov ecx, dword [0x1400daef8]
mov r8d, eax
mov eax, dword [0x1400daefc]
divsd xmm0, xmm9
divsd xmm1, qword [0x1400c8178]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x48], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
lea rcx, [rbp + 0x48]
movss dword [rbp + 0x4c], xmm0
divsd xmm1, qword [0x1400c8168]
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
movss dword [rbp + 0x50], xmm0
divsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x54], xmm0
call fcn.140003e80
mov dword [rsp + 0x50], eax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
cvttss2si ecx, xmm6
cvttss2si r10d, xmm11
sub ecx, eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov edx, r10d
call fcn.14003de00
cmp byte [0x1400dfbcc], 0
je 0x140046061
mov rdx, rbx
mov ecx, edi
call fcn.140044d50
cmp byte [0x1400dfbcd], 0
je 0x140046282
movss xmm2, dword [0x1400c814c]
movaps xmm0, xmm11
movss xmm4, dword [0x1400c8160]
subss xmm0, xmm12
cmp r14d, 0x64
mov edi, 0xff
mov eax, r14d
mov r10d, 0x64
cmovg eax, r10d
movaps xmm10, xmm12
xor r15d, r15d
subss xmm10, xmm11
andps xmm0, xmmword [0x1400c8390]
test eax, eax
cvtps2pd xmm3, xmm0
mov r8d, r15d
cmovg r8d, eax
mov eax, 0x51eb851f
imul ecx, r8d, 0x1fe
mulsd xmm3, qword [0x1400c8138]
imul ecx
movaps xmm0, xmm3
mulsd xmm3, qword [0x1400c8130]
divsd xmm0, qword [0x1400c8158]
mov r9d, edx
sar r9d, 5
mov eax, r9d
shr eax, 0x1f
add r9d, eax
mov eax, r10d
sub eax, r8d
imul ecx, eax, 0x1fe
mov eax, 0x51eb851f
cvtpd2ps xmm1, xmm0
imul ecx
maxss xmm2, xmm1
movaps xmm1, xmm10
cvtps2pd xmm0, xmm6
lea rcx, [rsp + 0x50]
sar edx, 5
mov eax, edx
shr eax, 0x1f
addss xmm1, xmm11
subsd xmm0, xmm3
add edx, eax
minss xmm4, xmm2
cmp edx, edi
movss xmm2, dword [0x1400c8120]
cmovg edx, edi
cmp r9d, edi
addss xmm1, xmm2
cvtpd2ps xmm9, xmm0
cmovg r9d, edi
movaps xmm0, xmmword [0x1400c8310]
movups xmmword [rsp + 0x50], xmm0
movss dword [rbp + 0xc], xmm1
movaps xmm6, xmm9
addss xmm6, xmm4
movd xmm8, edx
movaps xmm1, xmm11
movd xmm7, r9d
subss xmm1, xmm2
cvtdq2ps xmm8, xmm8
movaps xmm0, xmm6
movss dword [rbp + 0x14], xmm1
mulss xmm8, dword [0x1400c80cc]
addss xmm0, xmm2
cvtdq2ps xmm7, xmm7
movss dword [rbp + 8], xmm0
movaps xmm0, xmm9
mulss xmm7, dword [0x1400c80cc]
subss xmm0, xmm2
movss dword [rbp + 0x10], xmm0
call fcn.140003e80
movss xmm0, dword [0x1400c8120]
mov r9d, eax
mov rcx, qword [0x1400dfbb0]
movss dword [rsp + 0x30], xmm0
add rcx, 0x1cc8
mov dword [rsp + 0x28], r15d
xorps xmm0, xmm0
lea r8, [rbp + 8]
movss dword [rsp + 0x20], xmm0
lea rdx, [rbp + 0x10]
call fcn.1400205a0
divss xmm10, dword [0x1400c81d4]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x68], 0x3dc8c8ca
mov dword [rsp + 0x6c], 0x3f800000
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x60], xmm8
mulss xmm10, xmm0
movss dword [rsp + 0x64], xmm7
movss dword [rbp - 8], xmm6
cvttss2si eax, xmm10
movss dword [rbp], xmm9
movss dword [rbp + 4], xmm11
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm11
movss dword [rbp - 4], xmm1
call fcn.140003e80
mov rcx, qword [0x1400dfbb0]
lea r8, [rbp - 8]
xorps xmm0, xmm0
mov dword [rsp + 0x28], r15d
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea rdx, [rbp]
call fcn.1400206e0
jmp 0x140046285
xor r15d, r15d
cmp byte [0x1400dfc24], 0
je 0x1400462b1
mov eax, dword [0x1400dfc5c]
cdq
mov qword [rsp + 0x20], rbx
sub eax, edx
xor edx, edx
sar eax, 1
cvttss2si r9d, xmm12
mov ecx, eax
cvttss2si r8d, xmm13
call fcn.14003dd00
mov r14d, dword [rbp + 0x438]
movss xmm7, dword [rbp + 0x430]
movsd xmm6, qword [rbp - 0x38]
movsd xmm9, qword [0x1400c8180]
mov ebx, 4
movss xmm10, dword [rbp + 0x440]
inc esi
movss xmm11, dword [rbp + 0x448]
mov rax, qword [rbp + 0x58]
cmp esi, 0xf
jle 0x140045570
movaps xmm15, xmmword [rsp + 0x440]
movaps xmm14, xmmword [rsp + 0x450]
movaps xmm13, xmmword [rsp + 0x460]
movaps xmm12, xmmword [rsp + 0x470]
movaps xmm11, xmmword [rsp + 0x480]
movaps xmm10, xmmword [rsp + 0x490]
movaps xmm8, xmmword [rsp + 0x4b0]
movaps xmm7, xmmword [rsp + 0x4c0]
mov r14, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x4f8]
mov r12, qword [rsp + 0x500]
mov rdi, qword [rsp + 0x508]
mov rbx, qword [rsp + 0x518]
cmp byte [0x1400dfbcb], 0
mov r15, qword [rsp + 0x4e8]
mov rsi, qword [rsp + 0x510]
je 0x140046485
mov eax, dword [0x1400dad30]
lea rcx, [rsp + 0x60]
movss xmm6, dword [0x1400dad18]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [0x1400dad34]
cvtsi2sd xmm1, rax
mov eax, dword [0x1400dad38]
divsd xmm0, xmm9
divsd xmm1, xmm9
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x60], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x1400dad3c]
movss dword [rsp + 0x64], xmm0
divsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x1400dfc5c]
cdq
sub eax, edx
sar eax, 1
movss dword [rsp + 0x68], xmm0
divsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm6
mulss xmm1, dword [0x1400c80fc]
movss dword [rsp + 0x6c], xmm0
movd xmm0, eax
mov eax, dword [0x1400dfc34]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
cvttss2si r8d, xmm1
movss dword [rbp + 0x430], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x434], xmm0
call fcn.140003e80
mov rcx, qword [0x1400dfbb0]
lea rdx, [rbp + 0x430]
movss xmm0, dword [0x1400c8120]
mov r9d, eax
cvttss2si eax, xmm6
add rcx, 0x1cc8
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r8d
movd xmm2, eax
cvtdq2ps xmm2, xmm2
call fcn.140020a00
movaps xmm6, xmmword [rsp + 0x4d0]
movaps xmm9, xmmword [rsp + 0x4a0]
add rsp, 0x520
pop rbp
ret