Function at 0x140041c50
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x378]
sub rsp, 0x470
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x98], xmm12
mov rax, qword [0x14005f028]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
mov rdx, qword [0x140145308]
mov qword [r11 - 0x20], r14
add rdx, 0xf899cc
xor r14d, r14d
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [r11 - 0xa8], xmm13
cmp rdx, 0xffffffffffffffff
je 0x140041cdd
mov rcx, qword [0x140145310]
lea rax, [rbp + 0xb8]
lea r9d, [r14 + 4]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x68]
mov qword [rbp + 0xb8], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm12, qword [0x140055ee8]
movsd xmm10, qword [0x140055ee0]
movsd xmm13, qword [0x140055ec8]
movss xmm6, dword [0x140055f34]
movss xmm11, dword [0x140055f04]
mov qword [rsp + 0x480], rbx
mov qword [rsp + 0x490], rdi
movaps xmmword [rsp + 0x430], xmm7
movaps xmmword [rsp + 0x420], xmm8
cmp dword [rbp - 0x68], r14d
je 0x140043037
movss xmm9, dword [0x140055fb0]
mov qword [rsp + 0x488], rsi
mov esi, dword [rsp + 0x50]
mov qword [rsp + 0x460], r13
mov r13d, r14d
mov qword [rsp + 0x450], r15
mov r15d, 5
movaps xmmword [rsp + 0x3b0], xmm15
movss xmm15, dword [0x140055f1c]
mov qword [rsp + 0x468], r12
movaps xmmword [rsp + 0x3c0], xmm14
mov dword [rsp + 0x68], r14d
nop word [rax + rax]
mov rdx, qword [0x140145308]
add rdx, 0xf7fe50
cmp rdx, 0xffffffffffffffff
je 0x140041dcf
mov rcx, qword [0x140145310]
lea rax, [rbp + 0xf0]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x6c]
mov qword [rbp + 0xf0], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x140145308]
add rdx, 0xf7fe40
cmp rdx, 0xffffffffffffffff
je 0x140041e0d
mov rcx, qword [0x140145310]
lea rax, [rbp + 0xf8]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x64]
mov qword [rbp + 0xf8], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x140145308]
add rdx, 0xf7fe3c
cmp rdx, 0xffffffffffffffff
je 0x140041e4b
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x100]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x60]
mov qword [rbp + 0x100], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [rsp + 0x6c]
lea rax, [rbp + 0x120]
sub ecx, dword [rbp - 0x64]
lea r8, [rbp - 0x5c]
mov edx, dword [rbp - 0x60]
mov r9d, 4
add edx, ecx
mov dword [rsp + 0x6c], ecx
mov rcx, qword [0x140145310]
add rdx, 0x29b28
mov qword [rbp + 0x120], r14
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x5c]
and eax, 0x80000001
jge 0x140041e9d
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
mov ecx, r14d
mov eax, r13d
setne cl
and eax, 1
cmp eax, ecx
je 0x140042fd9
mov rax, qword [0x140145308]
lea rdx, [rax + 0xf802f8]
cmp rdx, 0xffffffffffffffff
je 0x140041ef2
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x40]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x58]
mov qword [rbp + 0x40], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [0x140145308]
lea rdx, [rax + 0xf8028c]
cmp rdx, 0xffffffffffffffff
je 0x140041f29
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x138]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x54]
mov qword [rbp + 0x138], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [rbp - 0x58]
mov edx, r13d
add ecx, dword [rbp - 0x54]
call fcn.14003d250
mov ebx, eax
test eax, eax
je 0x140042fd9
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x48]
lea rdx, [rbx + 0xd38]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov qword [rbp + 0x48], r14
lea r8, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [rbp - 0x50]
test ecx, ecx
je 0x140042fd9
lea rdx, [rcx + 0x44]
mov qword [rbp + 0x50], r14
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x50]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x4c]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cvttss2si r12d, dword [rbp - 0x4c]
test r12d, r12d
je 0x140042fd9
cmp byte [0x140145322], 0
jne 0x140041fc4
cmp byte [0x1401452d8], 0
je 0x1400420f4
mov rax, qword [0x140145308]
lea rdx, [rax + 0xf7fe50]
cmp rdx, 0xffffffffffffffff
je 0x140042004
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x58]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
mov qword [rbp + 0x58], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [0x140145308]
lea rdx, [rax + 0xf7fe40]
cmp rdx, 0xffffffffffffffff
je 0x14004203c
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x60]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov qword [rbp + 0x60], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [0x140145308]
lea rdx, [rax + 0xf7fe3c]
cmp rdx, 0xffffffffffffffff
je 0x14004206d
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x68]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x44]
mov qword [rbp + 0x68], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [rsp + 0x70]
lea eax, [r13*4]
sub ecx, dword [rbp - 0x48]
mov r8d, dword [rbp - 0x44]
add r8d, ecx
mov dword [rsp + 0x70], ecx
mov rcx, qword [0x1401452e0]
add rcx, r8
movsxd rdx, eax
add rdx, rcx
cmp rdx, 0xffffffffffffffff
je 0x1400420c1
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x70]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x40]
mov qword [rbp + 0x70], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [rbp - 0x40]
lea rax, [rbp + 0x138]
mov rcx, qword [0x140145310]
lea r8, [rbp + 0x1e0]
add edx, 8
mov qword [rbp + 0x138], r14
mov r9d, 0x40
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r8d, r15d
lea rcx, [rbp + 0x128]
mov edx, ebx
call fcn.14003d340
mov rcx, qword [0x140145310]
lea rdx, [rbx + 0x598]
mov r9d, 4
mov qword [rbp + 0x138], r14
lea r8, [rbp - 0x3c]
movsd xmm0, qword [rax]
mov r15d, dword [rax + 8]
lea rax, [rbp + 0x138]
mov qword [rsp + 0x20], rax
movsd qword [rbp], xmm0
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x3c]
test eax, eax
je 0x1400421a9
mov rcx, qword [0x140145310]
lea rdx, [rax + 0x50]
lea rax, [rbp + 0x78]
mov qword [rbp + 0x78], r14
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rbp - 0x38]
test eax, eax
je 0x1400421a9
mov rcx, qword [0x140145310]
lea edx, [rax + 0x40]
lea rax, [rbp + 0x80]
mov qword [rbp + 0x80], r14
mov r9d, 0xc
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0xa8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x140145308]
movsd xmm6, qword [rbp + 0xa8]
add rdx, 0xf899cc
mov edi, dword [rbp + 0xb0]
movsd qword [rbp - 0x30], xmm6
mov dword [rbp - 0x28], edi
cmp rdx, 0xffffffffffffffff
je 0x140042202
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x88]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
mov qword [rbp + 0x88], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [rsp + 0x50]
test esi, esi
je 0x1400422e8
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x90]
mov edx, esi
lea r8, [rsp + 0x50]
add rdx, 0xa00
mov qword [rbp + 0x90], r14
mov r9d, 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [rsp + 0x50]
test esi, esi
je 0x1400422e8
mov rcx, qword [0x140145310]
lea rax, [rbp + 0x98]
lea rdx, [rsi + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov qword [rbp + 0x98], r14
lea r8, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [rsp + 0x50]
test esi, esi
je 0x1400422e8
mov rcx, qword [0x140145310]
lea rax, [rbp + 0xa0]
lea rdx, [rsi + 0x20]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov qword [rbp + 0xa0], r14
lea r8, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [rsp + 0x50]
test esi, esi
je 0x1400422e8
mov rcx, qword [0x140145310]
lea rax, [rsp + 0x78]
lea edx, [rsi + 0xe8]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
mov qword [rsp + 0x78], r14
lea r8, [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [rsp + 0x50]
movsd xmm0, qword [rbp]
lea rdx, [rbp + 0xd0]
movss xmm1, dword [rbp + 4]
lea rcx, [rbp + 0x110]
addss xmm1, dword [0x140055e40]
mov r9d, dword [0x1401452dc]
mov eax, 0x64
mov r8d, dword [0x14014531c]
cmp r12d, 0x64
shufps xmm0, xmm0, 0xe1
mov r14d, r12d
cmovge r14d, eax
mov dword [rbp + 0x118], r15d
movss xmm0, xmm1
shufps xmm0, xmm0, 0xe1
movsd qword [rbp], xmm0
movsd qword [rbp + 0x110], xmm0
call fcn.14003cf90
test al, al
je 0x140042fd0
mov r9d, dword [0x1401452dc]
lea rdx, [rbp + 0xe0]
mov r8d, dword [0x14014531c]
lea rcx, [rbp + 0xc0]
movsd qword [rbp + 0xc0], xmm6
mov dword [rbp + 0xc8], edi
call fcn.14003cf90
test al, al
je 0x140042fd0
cmp byte [0x14014527b], 0
je 0x1400423a1
lea rdx, [0x140144780]
mov ecx, ebx
call fcn.14003d540
cmp byte [0x140145320], 0
xorps xmm7, xmm7
movss xmm8, dword [rbp + 0xd4]
movss xmm11, dword [rbp + 0xd0]
movss xmm6, dword [rbp + 0xe4]
je 0x140042494
movaps xmm0, xmm8
subss xmm0, xmm6
comiss xmm7, xmm0
jbe 0x1400423dd
mulss xmm0, xmm9
mov ecx, dword [0x1401446a0]
xorps xmm1, xmm1
cvttss2si r9d, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mov ecx, dword [0x1401446a4]
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
cvtsi2sd xmm1, rcx
mov ecx, dword [0x1401446a8]
mov r8d, eax
mov eax, dword [0x1401446ac]
divsd xmm0, xmm12
divsd xmm1, xmm10
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x20], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
lea rcx, [rbp + 0x20]
movss dword [rbp + 0x24], xmm0
divsd xmm1, xmm13
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
movss dword [rbp + 0x28], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x2c], xmm0
call fcn.140003070
mov dword [rbp + 0x138], eax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
cvttss2si ecx, xmm11
cvttss2si r10d, xmm8
sub ecx, eax
lea rax, [rbp + 0x138]
mov qword [rsp + 0x20], rax
mov edx, r10d
call fcn.14003c000
cmp byte [0x140145323], 0
je 0x1400424cf
mov eax, dword [0x14014531c]
cvttss2si r8d, dword [rbp + 0xe0]
cdq
sub eax, edx
mov edx, dword [0x1401452dc]
sar eax, 1
mov ecx, eax
lea rax, [0x1401446a0]
mov qword [rsp + 0x20], rax
cvttss2si r9d, xmm6
call fcn.14003bf00
movaps xmm0, xmm8
subss xmm0, xmm6
comiss xmm7, xmm0
jbe 0x1400424e1
mulss xmm0, xmm9
cvttss2si eax, xmm0
cvttss2si ebx, xmm11
test eax, eax
jns 0x1400424f0
inc eax
sar eax, 1
cmp byte [0x140145279], 0
cvttss2si r15d, xmm8
lea r13d, [rax + rbx]
je 0x1400425e3
xor ecx, ecx
movaps xmm0, xmm8
test r14w, r14w
subss xmm0, xmm6
cmovne cx, r14w
comiss xmm7, xmm0
jbe 0x140042525
mulss xmm0, xmm9
cvttss2si r9d, xmm0
subss xmm6, xmm8
mov eax, r9d
cdq
and edx, 3
add eax, edx
sar eax, 2
sub ebx, eax
movzx eax, cx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
divss xmm0, dword [0x140055f44]
cvttss2si rdi, xmm0
cmp cx, 0x64
ja 0x14004257c
cmp cx, 0x4b
ja 0x14004257c
cmp cx, 0x28
jbe 0x140042573
movups xmm0, xmmword [0x1401446b0]
jmp 0x140042583
movups xmm0, xmmword [0x1401445c0]
jmp 0x140042583
movups xmm0, xmmword [0x140144600]
lea rax, [0x140144760]
add r9d, 2
lea edx, [r15 - 1]
mov qword [rsp + 0x20], rax
lea ecx, [rbx - 6]
mov r8d, 5
movups xmmword [rsp + 0x78], xmm0
call fcn.14003c790
mov eax, edi
lea ecx, [rbx - 5]
xorps xmm0, xmm0
movd xmm1, r15d
cvtdq2ps xmm1, xmm1
mov r9d, edi
mov r8d, 3
cvtsi2ss xmm0, rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
subss xmm6, xmm0
addss xmm6, xmm1
cvttss2si edx, xmm6
call fcn.14003c790
cmp byte [0x140145322], 0
movss xmm12, dword [rbp - 0x28]
movss xmm13, dword [rbp - 0x2c]
movss xmm14, dword [rbp - 0x30]
je 0x140042b40
movaps xmm10, xmm11
mov dword [rbp + 0x30], 9
subss xmm10, dword [0x140055f40]
movaps xmm9, xmm8
mov dword [rbp + 0x34], 9
subss xmm9, dword [0x140055f38]
lea rax, [rbp + 0x30]
mov dword [rbp + 0x38], 9
mov r9d, 0x1a
mov dword [rbp + 0x3c], 0xff
cvttss2si edi, xmm10
mov r8d, 0x9b
mov dword [rbp + 0x10], 0x1c
mov dword [rbp + 0x14], 0x36
mov dword [rbp + 0x18], 0x3a
mov dword [rbp + 0x1c], 0xff
mov qword [rsp + 0x20], rax
cvttss2si ebx, xmm9
mov ecx, edi
mov edx, ebx
call fcn.14003c790
mov r9d, 0x19
lea rax, [rbp + 0x10]
mov edx, ebx
mov qword [rsp + 0x20], rax
mov ecx, edi
lea r8d, [r9 + 5]
call fcn.14003c790
movss xmm0, dword [rbp - 0x70]
movss xmm1, dword [rbp - 0x74]
subss xmm0, xmm12
movss xmm2, dword [rbp - 0x78]
subss xmm1, xmm13
subss xmm2, xmm14
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1400426db
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1400426e3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, dword [0x140055b18]
lea rdx, [rbp + 0x150]
mov dword [rbp + 0x150], eax
lea rcx, [rbp + 0x158]
movzx eax, byte [0x140055b1c]
xorps xmm2, xmm2
xor byte [rbp + 0x151], 0x38
xor al, 0x3b
xor byte [rbp + 0x152], 0x39
xor byte [rbp + 0x153], 0x3a
cvtss2sd xmm2, xmm0
mov byte [rbp + 0x150], 0x25
mov byte [rbp + 0x154], al
movq r8, xmm2
call fcn.140036e60
movaps xmm0, xmm9
mov dword [rbp - 0x10], 0
addss xmm0, dword [0x140055ef4]
movaps xmm1, xmm10
mov dword [rbp - 0xc], 0xcb
addss xmm1, dword [0x140055f10]
lea rax, [rbp + 0x158]
mov dword [rbp - 8], 0xff
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x10]
cvttss2si ebx, xmm0
mov byte [rsp + 0x28], 0
mov dword [rbp - 4], 0xff
mov byte [rsp + 0x20], 0
movaps xmm0, xmm15
cvttss2si edx, xmm1
mov r8d, ebx
movd ecx, xmm0
call fcn.14003ae10
mov eax, dword [0x140055b10]
lea rdx, [rbp + 0x140]
mov dword [rbp + 0x140], eax
lea rcx, [rbp + 0x178]
movzx eax, word [0x140055b14]
mov r8d, r12d
xor byte [rbp + 0x141], 0x38
xor byte [rbp + 0x142], 0x39
xor byte [rbp + 0x143], 0x3a
mov word [rbp + 0x144], ax
xor al, 0x3b
xor byte [rbp + 0x145], 0x3c
mov byte [rbp + 0x144], al
mov byte [rbp + 0x140], 0x25
call fcn.1400444c0
movaps xmm0, xmm9
lea rax, [rbp + 0x178]
subss xmm0, dword [0x140055ef4]
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x10]
movaps xmm1, xmm10
mov byte [rsp + 0x28], 0
addss xmm1, dword [0x140055f54]
mov byte [rsp + 0x20], 0
cvttss2si r8d, xmm0
movaps xmm0, xmm15
cvttss2si edx, xmm1
movd ecx, xmm0
call fcn.14003ae10
cmp word [0x140055a46], 0
mov rax, qword [0x140055a40]
mov qword [rbp + 0x138], rax
je 0x140042948
cmp dword [0x14005f008], 2
jl 0x1400428f9
movdqa xmm3, xmmword [0x140056070]
mov eax, 5
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140056590]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140056590]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, eax
psrad xmm2, xmm0
mov eax, 0x1f
movdqa xmm1, xmm2
movd xmm0, eax
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140056090]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x138]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x1400560a0]
pxor xmm2, xmm0
movq qword [rbp + 0x138], xmm2
jmp 0x140042948
lea r9, [rbp + 0x138]
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 2]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x37
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x140042910
lea r9, [rbp + 0x1e0]
mov edx, 0x20
lea r8, [rbp + 0x138]
lea rcx, [rbp + 0x220]
call fcn.140036da0
movaps xmm0, xmm10
mov dword [rsp + 0x58], 0xc9
addss xmm0, dword [0x140055f34]
lea rax, [rbp + 0x220]
mov dword [rsp + 0x5c], 0x10
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x58]
mov byte [rsp + 0x28], 0
mov r8d, ebx
mov dword [rsp + 0x60], 0x10
cvttss2si edx, xmm0
mov dword [rsp + 0x64], 0xff
mov byte [rsp + 0x20], 0
movaps xmm0, xmm15
movd ecx, xmm0
call fcn.14003b650
movss xmm2, dword [0x140055e7c]
lea rcx, [rsp + 0x78]
movaps xmm0, xmmword [0x140056340]
movaps xmm7, xmm10
addss xmm9, dword [0x140055f30]
addss xmm7, dword [0x140055f58]
movups xmmword [rsp + 0x78], xmm0
movaps xmm1, xmm10
movaps xmm6, xmm9
addss xmm1, xmm2
addss xmm6, dword [0x140055f04]
movaps xmm0, xmm7
subss xmm0, xmm2
movss dword [rbp - 0x18], xmm1
movss dword [rbp - 0x20], xmm0
movaps xmm0, xmm6
subss xmm0, xmm2
movss dword [rbp - 0x1c], xmm0
movaps xmm0, xmm9
addss xmm0, xmm2
movss dword [rbp - 0x14], xmm0
call fcn.140003070
movss xmm0, dword [0x140055e7c]
lea r8, [rbp - 0x20]
mov rcx, qword [0x140145280]
lea rdx, [rbp - 0x18]
movss dword [rsp + 0x30], xmm0
mov r9d, eax
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0xf
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm0
call fcn.14001ed50
movaps xmm0, xmmword [0x140056340]
lea rcx, [rsp + 0x78]
movups xmmword [rsp + 0x78], xmm0
movss dword [rsp + 0x48], xmm7
movss dword [rsp + 0x4c], xmm6
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x44], xmm9
call fcn.140003070
movss xmm0, dword [0x140055e7c]
lea r8, [rsp + 0x48]
mov rcx, qword [0x140145280]
lea rdx, [rsp + 0x40]
movss dword [rsp + 0x30], xmm0
mov r9d, eax
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0xf
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm0
call fcn.14001ed50
cmp r14d, 0x32
lea rax, [0x140144600]
lea rdx, [0x1401445e0]
cmovge rdx, rax
lea r9, [0x1401445c0]
cmp r14d, 0x14
mov eax, r14d
cmovge r9, rdx
cdq
mov qword [rsp + 0x20], r9
sub eax, edx
mov r9d, 6
sar eax, 1
mov ecx, edi
cvttss2si edx, xmm9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140055ec0]
cvttss2si r8d, xmm0
call fcn.14003c790
movsd xmm10, qword [0x140055ee0]
cmp byte [0x1401452d8], 0
je 0x140042cad
cmp word [0x140055a46], 0
mov rax, qword [0x140055a40]
mov qword [rbp + 0x138], rax
je 0x140042c48
cmp dword [0x14005f008], 2
jl 0x140042c04
movdqa xmm3, xmmword [0x140056070]
mov eax, 5
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140056590]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140056590]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, eax
psrad xmm2, xmm0
mov eax, 0x1f
movdqa xmm1, xmm2
movd xmm0, eax
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x140056090]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + 0x138]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x1400560a0]
pxor xmm2, xmm0
movq qword [rbp + 0x138], xmm2
jmp 0x140042c48
lea r9, [rbp + 0x138]
xor r8d, r8d
nop
mov eax, 0x92492493
lea r9, [r9 + 2]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x38
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x37
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x140042c10
lea r9, [rbp + 0x1e0]
mov edx, 0x20
lea r8, [rbp + 0x138]
lea rcx, [rbp + 0x260]
call fcn.140036da0
subss xmm8, dword [0x140055f24]
subss xmm11, dword [0x140055f30]
movaps xmm0, xmm15
lea rax, [rbp + 0x260]
mov qword [rsp + 0x30], rax
lea r9, [0x1401445c0]
movd ecx, xmm0
cvttss2si r8d, xmm8
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
cvttss2si edx, xmm11
call fcn.14003b650
cmp byte [0x1401452da], 0
je 0x140042d45
mov eax, dword [0x140055cdc]
lea rdx, [rbp + 0x148]
mov dword [rbp + 0x148], eax
lea rcx, [rbp + 0x198]
movzx eax, word [0x140055ce0]
mov r8d, r12d
xor byte [rbp + 0x149], 0x38
xor byte [rbp + 0x14a], 0x39
xor byte [rbp + 0x14b], 0x3a
mov word [rbp + 0x14c], ax
xor al, 0x3b
xor byte [rbp + 0x14d], 0x3c
mov byte [rbp + 0x14c], al
mov byte [rbp + 0x148], 0x25
call fcn.1400444c0
movaps xmm0, xmm15
lea rax, [rbp + 0x198]
mov qword [rsp + 0x30], rax
lea r9, [0x1401445c0]
movd ecx, xmm0
mov r8d, r15d
mov byte [rsp + 0x28], 0
mov edx, r13d
mov byte [rsp + 0x20], 0
call fcn.14003ae10
cmp byte [0x1401452d9], 0
je 0x140042fb9
movss xmm0, dword [rbp - 0x74]
movss xmm2, dword [rbp - 0x78]
subss xmm0, xmm13
movss xmm1, dword [rbp - 0x70]
subss xmm2, xmm14
subss xmm1, xmm12
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x140042d97
xorps xmm9, xmm9
sqrtss xmm9, xmm2
jmp 0x140042da3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm9, xmm0
cmp byte [0x140055dc7], 0
mov rax, qword [0x140055dc0]
mov qword [rbp + 0x138], rax
je 0x140042ee1
cmp dword [0x14005f008], 2
jl 0x140042f68
movdqa xmm2, xmmword [0x140056070]
mov eax, 5
movdqa xmm3, xmmword [0x140056080]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x140056590]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140056090]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x138]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x1400560c0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140056170]
pxor xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp + 0x138], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140056090]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x13c]
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400560c0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140056170]
pxor xmm2, xmm0
movd dword [rbp + 0x13c], xmm2
xor r14d, r14d
xorps xmm2, xmm2
lea rdx, [rbp + 0x138]
cvtss2sd xmm2, xmm9
lea rcx, [rbp + 0x1b8]
movq r8, xmm2
call fcn.140036e60
cmp byte [0x1401452da], 0
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
je 0x140042f1d
addss xmm0, dword [0x140055f20]
cvttss2si r8d, xmm0
lea rax, [rbp + 0x1b8]
mov edx, r13d
mov qword [rsp + 0x30], rax
lea r9, [0x1401445c0]
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
movaps xmm0, xmm15
movd ecx, xmm0
call fcn.14003ae10
movsd xmm12, qword [0x140055ee8]
movsd xmm13, qword [0x140055ec8]
mov r13d, dword [rsp + 0x68]
jmp 0x140042fd3
xor r14d, r14d
lea r9, [rbp + 0x138]
mov r8d, r14d
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x140042f80
jmp 0x140042ee4
movsd xmm12, qword [0x140055ee8]
movsd xmm13, qword [0x140055ec8]
mov r13d, dword [rsp + 0x68]
xor r14d, r14d
mov r15d, 5
movss xmm9, dword [0x140055fb0]
inc r13d
mov dword [rsp + 0x68], r13d
cmp r13d, 0xf
jle 0x140041d90
movaps xmm15, xmmword [rsp + 0x3b0]
movaps xmm14, xmmword [rsp + 0x3c0]
mov r15, qword [rsp + 0x450]
mov r13, qword [rsp + 0x460]
mov r12, qword [rsp + 0x468]
mov rsi, qword [rsp + 0x488]
movss xmm6, dword [0x140055f34]
movss xmm11, dword [0x140055f04]
cmp byte [0x1401452db], 0
movss xmm9, dword [0x140055e50]
mov r14, qword [rsp + 0x458]
je 0x1400433a7
mov rax, qword [0x140145280]
lea rcx, [rsp + 0x58]
xorps xmm1, xmm1
xorps xmm0, xmm0
movss xmm7, dword [rax + 0x10]
lea rdi, [rax + 0x1cc8]
movss xmm8, dword [rax + 0x14]
mov eax, dword [0x1401447c0]
mulss xmm7, xmm9
mulss xmm8, xmm9
cvtsi2sd xmm0, rax
mov eax, dword [0x1401447c4]
cvtsi2sd xmm1, rax
mov eax, dword [0x1401447c8]
divsd xmm0, xmm12
divsd xmm1, xmm10
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x58], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x1401447cc]
movss dword [rsp + 0x5c], xmm0
divsd xmm1, xmm13
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
movss dword [rsp + 0x60], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
movss dword [rsp + 0x64], xmm0
call fcn.140003070
movss xmm1, dword [0x140055e14]
xorps xmm0, xmm0
movzx ecx, al
mov r8d, eax
shr r8d, 0x18
movss dword [rsp + 0x4c], xmm8
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
movss dword [rsp + 0x44], xmm8
mulss xmm0, xmm1
movss dword [rsp + 0x58], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
lea rcx, [rsp + 0x58]
mulss xmm0, xmm1
movss dword [rsp + 0x5c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r8d
mulss xmm0, xmm1
movss dword [rsp + 0x60], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm6
movss dword [rsp + 0x64], xmm0
movaps xmm0, xmm7
addss xmm0, xmm6
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x40], xmm0
call fcn.140003070
movss xmm10, dword [0x140055e7c]
lea rdx, [rsp + 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.14001ebd0
movaps xmm0, xmm8
movss dword [rsp + 0x48], xmm7
subss xmm0, xmm6
movss dword [rsp + 0x4c], xmm0
movaps xmm1, xmm8
movss dword [rsp + 0x40], xmm7
addss xmm1, xmm6
movss dword [rsp + 0x20], xmm10
mov r9d, ebx
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, rdi
movss dword [rsp + 0x44], xmm1
call fcn.14001ebd0
movaps xmm0, xmm7
movss dword [rsp + 0x4c], xmm8
movaps xmm1, xmm7
movss dword [rsp + 0x44], xmm8
subss xmm0, xmm11
movss dword [rsp + 0x20], xmm10
addss xmm1, xmm11
mov r9d, ebx
lea r8, [rsp + 0x40]
mov rcx, rdi
lea rdx, [rsp + 0x48]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x40], xmm1
call fcn.14001ebd0
movaps xmm0, xmm8
movss dword [rsp + 0x48], xmm7
movaps xmm1, xmm8
movss dword [rsp + 0x40], xmm7
subss xmm0, xmm11
movss dword [rsp + 0x20], xmm10
addss xmm1, xmm11
mov r9d, ebx
lea r8, [rsp + 0x40]
mov rcx, rdi
lea rdx, [rsp + 0x48]
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x44], xmm1
call fcn.14001ebd0
movss xmm6, dword [0x140055ef0]
lea r8, [rsp + 0x40]
movaps xmm0, xmm7
movss dword [rsp + 0x4c], xmm8
subss xmm0, xmm6
movss dword [rsp + 0x44], xmm8
mov r9d, ebx
movss dword [rsp + 0x20], xmm10
lea rdx, [rsp + 0x48]
mov rcx, rdi
movss dword [rsp + 0x48], xmm0
movaps xmm0, xmm7
addss xmm0, xmm6
movss dword [rsp + 0x40], xmm0
call fcn.14001ebd0
movaps xmm0, xmm8
movss dword [rsp + 0x48], xmm7
movaps xmm1, xmm8
movss dword [rsp + 0x40], xmm7
subss xmm0, xmm6
movss dword [rsp + 0x20], xmm10
addss xmm1, xmm6
mov r9d, ebx
lea r8, [rsp + 0x40]
mov rcx, rdi
lea rdx, [rsp + 0x48]
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x44], xmm1
call fcn.14001ebd0
movaps xmm0, xmm7
movss dword [rsp + 0x4c], xmm8
movaps xmm1, xmm7
movss dword [rsp + 0x44], xmm8
subss xmm0, xmm10
movss dword [rsp + 0x20], xmm10
addss xmm1, xmm10
mov r9d, ebx
lea r8, [rsp + 0x40]
mov rcx, rdi
lea rdx, [rsp + 0x48]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x40], xmm1
call fcn.14001ebd0
movaps xmm0, xmm8
movss dword [rsp + 0x48], xmm7
subss xmm0, xmm10
movss dword [rsp + 0x40], xmm7
addss xmm8, xmm10
movss dword [rsp + 0x20], xmm10
mov r9d, ebx
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, rdi
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x44], xmm8
call fcn.14001ebd0
jmp 0x1400433b0
movss xmm10, dword [0x140055e7c]
cmp byte [0x14014527a], 0
movaps xmm13, xmmword [rsp + 0x3d0]
movaps xmm11, xmmword [rsp + 0x3f0]
movaps xmm8, xmmword [rsp + 0x420]
movaps xmm7, xmmword [rsp + 0x430]
mov rdi, qword [rsp + 0x490]
mov rbx, qword [rsp + 0x480]
je 0x1400434e5
mov eax, dword [0x1401445c0]
lea rcx, [rsp + 0x58]
movss xmm6, dword [0x140144b2c]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov eax, dword [0x1401445c4]
cvtsi2sd xmm1, rax
mov eax, dword [0x1401445c8]
divsd xmm0, xmm12
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x58], xmm0
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x1401445cc]
movss dword [rsp + 0x5c], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mov eax, dword [0x14014531c]
cdq
sub eax, edx
sar eax, 1
movss dword [rsp + 0x60], xmm0
divsd xmm1, xmm12
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm6
movss dword [rsp + 0x64], xmm0
movd xmm0, eax
mov eax, dword [0x1401452dc]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm9
movss dword [rsp + 0x40], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si r8d, xmm1
movss dword [rsp + 0x44], xmm0
call fcn.140003070
mov rcx, qword [0x140145280]
lea rdx, [rsp + 0x40]
mov r9d, eax
movss dword [rsp + 0x28], xmm10
cvttss2si eax, xmm6
add rcx, 0x1cc8
mov dword [rsp + 0x20], r8d
movd xmm2, eax
cvtdq2ps xmm2, xmm2
call fcn.14001f4f0
mov rcx, qword [rbp + 0x2a0]
xor rcx, rsp
call fcn.140044cf0
lea r11, [rsp + 0x470]
movaps xmm6, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x60]
movaps xmm10, xmmword [r11 - 0x70]
movaps xmm12, xmmword [r11 - 0x90]
mov rsp, r11
pop rbp
ret