Function at 0x180005664
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x6b8]
sub rsp, 0x790
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x180010010]
xor rax, rsp
mov qword [rbp + 0x5f0], rax
xor ebx, ebx
cmp qword [0x180012950], rbx
je 0x1800067ac
cmp qword [0x180012958], rbx
je 0x1800067ac
cmp qword [0x180012920], rbx
je 0x1800067ac
cmp qword [0x180012928], rbx
je 0x1800067ac
cmp qword [0x180012938], rbx
je 0x1800067ac
mov r8, qword [0x180011448]
cmp qword [0x180011440], r8
je 0x1800067ac
mov eax, dword [0x180011374]
mov r13d, 0xffc8c8c8
movss xmm1, dword [0x1800112e8]
add eax, 0xfffffe3e
cmp dword [0x180011588], 1
subss xmm1, xmm1
movss xmm12, dword [0x18000dcd0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, dword [0x18000dd90]
movss dword [0x180012968], xmm0
movss dword [0x18001296c], xmm1
jne 0x1800058c7
mov rax, qword [0x180011358]
movss xmm6, dword [0x18000dd8c]
mov qword [rsp + 0x28], rax
movaps xmm3, xmm6
movaps xmm2, xmm6
mov dword [rsp + 0x20], 0x64000000
call fcn.180003e94
mov rax, qword [0x180011358]
movaps xmm3, xmm6
movss xmm1, dword [0x18001296c]
movaps xmm2, xmm6
movss xmm0, dword [0x180012968]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm12
call fcn.180003f1c
movss xmm7, dword [0x18001296c]
movss xmm8, dword [0x180012968]
movss xmm6, dword [0x18000dd7c]
addss xmm7, xmm6
movss dword [rsp + 0x28], xmm12
addss xmm8, xmm6
mov dword [rsp + 0x20], r13d
movaps xmm3, xmm7
movaps xmm1, xmm7
addss xmm3, xmm6
movaps xmm2, xmm8
movaps xmm0, xmm8
call fcn.1800040c4
movaps xmm3, xmm7
movss dword [rsp + 0x28], xmm12
subss xmm3, xmm6
mov dword [rsp + 0x20], r13d
movaps xmm2, xmm8
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.1800040c4
movaps xmm2, xmm8
movss dword [rsp + 0x28], xmm12
addss xmm2, xmm6
mov dword [rsp + 0x20], r13d
movaps xmm3, xmm7
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.1800040c4
movaps xmm2, xmm8
movss dword [rsp + 0x28], xmm12
subss xmm2, xmm6
mov dword [rsp + 0x20], r13d
movaps xmm3, xmm7
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.1800040c4
mov rax, qword [0x180011358]
lea r9d, [rbx + 0x32]
subss xmm7, dword [0x18000dcc8]
subss xmm8, dword [0x18000dcc8]
movss xmm2, dword [0x18000dd00]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xffffff33
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.1800045e0
mov r8, qword [0x180011448]
mov rcx, r8
mov dword [rsp + 0x44], ebx
sub rcx, qword [0x180011440]
movabs rax, 0x4924924924924925
imul rcx
xorps xmm10, xmm10
mov esi, ebx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180006697
mov al, byte [rsp + 0x40]
mov r14, rbx
mov cl, byte [rsp + 0x40]
mov r12b, byte [rsp + 0x40]
movss xmm13, dword [0x18000dcd8]
movss xmm15, dword [0x18000dd84]
mov dword [rsp + 0x60], eax
mov al, byte [rsp + 0x40]
mov dword [rsp + 0x68], eax
mov al, byte [rsp + 0x40]
mov dword [rsp + 0x64], ecx
mov cl, byte [rsp + 0x40]
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x74], r12d
mov dword [rsp + 0x6c], ecx
mov rax, qword [0x180011440]
imul rcx, r14, 0x38
movups xmm0, xmmword [rcx + rax]
movups xmm2, xmmword [rcx + rax + 0x20]
movups xmm1, xmmword [rcx + rax + 0x10]
movups xmmword [rbp + 0x80], xmm0
movsd xmm0, qword [rcx + rax + 0x30]
movq r15, xmm2
movsd qword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0x90], xmm1
movups xmmword [rbp + 0xa0], xmm2
test r15, r15
je 0x180006645
mov r13, qword [rbp + 0x80]
test r13, r13
je 0x180006645
mov rdi, qword [rbp + 0x98]
lea rcx, [rbp + 0xb8]
add rdi, 0x164
mov rdx, rdi
call fcn.180009350
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0xc8]
call fcn.180003b44
mov rdx, qword [0x180012930]
lea rcx, [rbp - 0x28]
add rdx, 0x164
call fcn.180009350
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.180009350
movss xmm0, dword [rbp - 0x34]
movaps xmm1, xmm13
subss xmm0, dword [rbp - 0x24]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movaps xmm1, xmm13
movss xmm0, dword [rbp - 0x38]
subss xmm0, dword [rbp - 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movaps xmm1, xmm13
movss xmm0, dword [rbp - 0x30]
subss xmm0, dword [rbp - 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xor edx, edx
mov cl, 0x5b
movaps xmm6, xmm0
call fcn.180002474
mov edx, 1
mov byte [rbp + 0xf0], al
mov cl, 0x25
call fcn.180002474
mov edx, 2
mov byte [rbp + 0xf1], al
mov cl, 0x2e
call fcn.180002474
mov edx, 3
mov byte [rbp + 0xf2], al
mov cl, 0x66
call fcn.180002474
mov edx, 4
mov byte [rbp + 0xf3], al
mov cl, 0x6d
call fcn.180002474
mov edx, 5
mov byte [rbp + 0xf4], al
mov cl, 0x5d
call fcn.180002474
mov byte [rbp + 0xf5], al
mov edx, ebx
xor eax, eax
mov byte [rbp + 0xf6], al
movsxd rcx, edx
lea eax, [rdx + 0x51]
inc edx
xor byte [rbp + rcx + 0xf0], al
cmp edx, 6
jb 0x180005ab7
divss xmm0, dword [0x18000dd6c]
mov byte [rbp + 0xf6], bl
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x5b0]
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
movq r8, xmm2
call fcn.180002408
comiss xmm12, xmm6
jae 0x18000663e
cmp dword [rbp + 0xb4], 1
ja 0x18000663e
mov r14, qword [rbp + 0x88]
add r14, 0x1b0
mov rcx, r14
mov qword [rbp + 0x18], r14
call fcn.1800093a0
comiss xmm0, xmm10
jbe 0x180006639
mov rcx, r14
call fcn.1800093a0
comiss xmm15, xmm0
jbe 0x180006639
lea rsi, [r13 + 0x100]
mov byte [rsp + 0x40], bl
mov qword [rbp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 1
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea r8, [rsp + 0x40]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movzx ecx, byte [rsp + 0x40]
test eax, eax
movzx r12d, r12b
cmovne r12d, ecx
mov dword [rsp + 0x74], r12d
test r12b, r12b
je 0x180006635
mov eax, dword [rbp + 0xa8]
add eax, 0xffffff9b
cmp eax, 2
ja 0x180006635
cmp dword [rbp + 0xb4], ebx
jne 0x180005c0b
cmp qword [rbp + 0x90], rbx
jne 0x180005c0b
mov rcx, qword [0x180011440]
mov r8, qword [0x180011448]
cmp rcx, r8
je 0x180005bfd
cmp qword [rcx], r13
jne 0x180005bd4
cmp qword [rcx + 0x20], r15
je 0x180005bda
add rcx, 0x38
jmp 0x180005bc4
cmp rcx, r8
je 0x180005bfd
lea rdx, [rcx + 0x38]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [0x180011448]
sub r8, 0x38
mov qword [0x180011448], r8
mov esi, dword [rsp + 0x44]
mov r14, qword [rsp + 0x48]
jmp 0x180006645
mov r8d, 8
lea rcx, [rbp + 0x28]
mov rdx, r15
call fcn.180003a70
xor r8d, r8d
lea rcx, [rbp + 0x38]
mov rdx, r15
call fcn.180003a70
movss xmm0, dword [rbp + 0x40]
comiss xmm0, dword [rbp + 0x30]
jb 0x180005c5b
mov rcx, qword [0x180011440]
mov r8, qword [0x180011448]
cmp rcx, r8
je 0x180005bfd
cmp qword [rcx], r13
jne 0x180005c55
cmp qword [rcx + 0x20], r15
je 0x180005bda
add rcx, 0x38
jmp 0x180005c45
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x48]
call fcn.180003b44
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x78]
call fcn.180003b44
cmp dword [0x180011498], ebx
movss xmm9, dword [rbp + 0x4c]
movss xmm11, dword [rbp + 0x48]
movss xmm8, dword [rbp - 0x74]
jle 0x180005cfc
movaps xmm0, xmm9
subss xmm0, xmm8
comiss xmm10, xmm0
jbe 0x180005ca6
mulss xmm0, dword [0x18000dd9c]
cvttss2si r9d, xmm0
cvttss2si ecx, xmm11
movd xmm0, r9d
add r9d, 5
cvtdq2ps xmm0, xmm0
cvttss2si r10d, xmm9
divss xmm0, dword [0x18000dcf0]
cvttss2si eax, xmm0
lea r8d, [rax + 1]
cdq
sub eax, edx
mov edx, r10d
sar eax, 1
sub ecx, eax
mov rax, qword [0x180011358]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0xff707070
mov dword [rsp + 0x20], 0xa0a0000
call fcn.180004018
mov r12d, 1
cmp dword [0x180011588], r12d
jne 0x180005d30
mov rdx, rdi
lea rcx, [rbp + 0x58]
call fcn.180009350
movsd xmm0, qword [rbp + 0x58]
lea rcx, [rbp + 0x70]
mov eax, dword [rbp + 0x60]
movsd qword [rbp + 0x70], xmm0
mov dword [rbp + 0x78], eax
call fcn.180005498
mov eax, dword [0x1800114c8]
test eax, eax
jle 0x180005d92
cmp eax, r12d
jne 0x180005d4d
movss xmm1, dword [0x1800112e8]
subss xmm1, xmm1
jmp 0x180005d6d
cmp eax, 2
jne 0x180005d5c
movss xmm1, dword [0x1800112e8]
jmp 0x180005d6d
cmp eax, 3
jne 0x180005d92
movss xmm1, dword [0x1800112e8]
addss xmm1, xmm1
movss xmm2, dword [rbp - 0x78]
movaps xmm3, xmm8
movss xmm0, dword [0x180011338]
movss dword [rsp + 0x28], xmm13
mov dword [rsp + 0x20], 0xff707070
call fcn.1800040c4
cmp dword [0x180011558], r12d
jne 0x1800060dc
cmp dword [0x180011708], 2
mov byte [rsp + 0x40], bl
je 0x180005ff5
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9, r12
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea r8, [rsp + 0x40]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [rsp + 0x60]
test eax, eax
movzx ecx, byte [rsp + 0x40]
movzx edx, dl
cmovne edx, ecx
mov dword [rsp + 0x60], edx
test dl, dl
jne 0x180005e87
cmp qword [0x180012950], rbx
je 0x180005e7f
cmp qword [0x180012958], rbx
je 0x180005e7f
cmp qword [0x180012920], rbx
je 0x180005e7f
cmp qword [0x180012928], rbx
je 0x180005e7f
cmp qword [0x180012938], rbx
je 0x180005e7f
cmp qword [0x180012910], rbx
je 0x180005e7f
lea rcx, [r15 + 0x350]
call fcn.1800093a0
lea rcx, [r15 + 0x358]
movaps xmm6, xmm0
call fcn.1800093a0
addss xmm0, dword [0x18000dcbc]
comiss xmm0, xmm6
jb 0x180005e7f
lea rcx, [r13 + 0x38]
call fcn.180009278
cmp rax, 0x11e0101
jne 0x180005e7f
and dword [rbp - 0x18], ebx
lea r8, [rbp - 0x18]
and dword [rbp - 0x14], ebx
xor r9d, r9d
and dword [rbp - 0x10], ebx
mov rdx, r13
mov rcx, qword [0x180012910]
call qword [0x1800112f8]
mov r12d, 0xffc8c8c8
jmp 0x180005e8d
mov r12d, 0x32c8c8c8
movdqa xmm0, xmmword [0x18000ddd0]
lea rdi, [rbp + 0x150]
movdqa xmm1, xmmword [str._a_01]
movss xmm15, dword [0x18000dcd4]
movdqa xmmword [rbp + 0x150], xmm0
movdqa xmm0, xmmword [0x18000de00]
movdqa xmmword [rbp + 0x160], xmm1
movdqa xmm1, xmmword [0x18000ddf0]
movdqa xmmword [rbp + 0x170], xmm0
movdqa xmm0, xmmword [0x18000de30]
movdqa xmmword [rbp + 0x180], xmm1
movdqa xmm1, xmmword [0x18000de20]
movdqa xmmword [rbp + 0x190], xmm0
movdqa xmmword [rbp + 0x1a0], xmm1
and dword [rsp + 0x54], ebx
movaps xmm6, xmm10
and dword [rsp + 0x58], ebx
mov r14d, ebx
movss dword [rsp + 0x50], xmm6
mov rsi, rdi
cmp dword [rsi], ebx
je 0x180005fc2
mov r8d, dword [rsi]
lea rcx, [rsp + 0x78]
mov rdx, r15
call fcn.180003a70
ucomiss xmm6, xmm10
jp 0x180005f35
je 0x180005f8e
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xd8]
call fcn.180003b44
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xe4]
movsd xmm0, qword [rax]
movsd qword [rbp + 8], xmm0
call fcn.180003b44
movss xmm1, dword [rbp + 0xc]
movss dword [rsp + 0x28], xmm15
mov dword [rsp + 0x20], r12d
movsd xmm0, qword [rax]
movsd qword [rbp - 8], xmm0
movss xmm3, dword [rbp - 4]
movss xmm2, dword [rbp - 8]
movss xmm0, dword [rbp + 8]
call fcn.1800040c4
movss xmm1, dword [rbp - 0x80]
inc r14d
movss xmm0, dword [rsp + 0x7c]
add rsi, 4
movss xmm6, dword [rsp + 0x78]
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x54], xmm0
movss dword [rsp + 0x50], xmm6
cmp r14d, 4
jl 0x180005f15
add rdi, 0x10
lea rax, [rbp + 0x1b0]
cmp rdi, rax
jne 0x180005efd
movss xmm15, dword [0x18000dd84]
lea rsi, [r13 + 0x100]
mov r14, qword [rbp + 0x18]
mov r12d, 1
jmp 0x1800060dc
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9, r12
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea r8, [rsp + 0x40]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [rsp + 0x64]
test eax, eax
movzx ecx, byte [rsp + 0x40]
movzx edx, dl
cmovne edx, ecx
mov dword [rsp + 0x64], edx
test dl, dl
jne 0x1800060cb
cmp qword [0x180012950], rbx
je 0x1800060c4
cmp qword [0x180012958], rbx
je 0x1800060c4
cmp qword [0x180012920], rbx
je 0x1800060c4
cmp qword [0x180012928], rbx
je 0x1800060c4
cmp qword [0x180012938], rbx
je 0x1800060c4
cmp qword [0x180012910], rbx
je 0x1800060c4
lea rcx, [r15 + 0x350]
call fcn.1800093a0
lea rcx, [r15 + 0x358]
movaps xmm6, xmm0
call fcn.1800093a0
addss xmm0, dword [0x18000dcbc]
comiss xmm0, xmm6
jb 0x1800060c4
lea rcx, [r13 + 0x38]
call fcn.180009278
cmp rax, 0x11e0101
jne 0x1800060c4
and dword [rbp - 0x68], ebx
lea r8, [rbp - 0x68]
and dword [rbp - 0x64], ebx
xor r9d, r9d
and dword [rbp - 0x60], ebx
mov rdx, r13
mov rcx, qword [0x180012910]
call qword [0x1800112f8]
mov edx, 0xffc8c8c8
jmp 0x1800060d0
mov edx, 0x32c8c8c8
movaps xmm2, xmm13
mov rcx, r15
call fcn.1800041bc
cmp dword [0x1800114f8], r12d
jne 0x18000630c
mov rdi, qword [0x180011358]
mov byte [rsp + 0x40], bl
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9, r12
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea r8, [rsp + 0x40]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [rsp + 0x68]
test eax, eax
movzx ecx, byte [rsp + 0x40]
movzx edx, dl
cmovne edx, ecx
mov dword [rsp + 0x68], edx
test dl, dl
jne 0x1800061ca
cmp qword [0x180012950], rbx
je 0x1800061c3
cmp qword [0x180012958], rbx
je 0x1800061c3
cmp qword [0x180012920], rbx
je 0x1800061c3
cmp qword [0x180012928], rbx
je 0x1800061c3
cmp qword [0x180012938], rbx
je 0x1800061c3
cmp qword [0x180012910], rbx
je 0x1800061c3
lea rcx, [r15 + 0x350]
call fcn.1800093a0
lea rcx, [r15 + 0x358]
movaps xmm6, xmm0
call fcn.1800093a0
addss xmm0, dword [0x18000dcbc]
comiss xmm0, xmm6
jb 0x1800061c3
lea rcx, [r13 + 0x38]
call fcn.180009278
cmp rax, 0x11e0101
jne 0x1800061c3
and dword [rbp - 0x58], ebx
lea r8, [rbp - 0x58]
and dword [rbp - 0x54], ebx
xor r9d, r9d
and dword [rbp - 0x50], ebx
mov rdx, r13
mov rcx, qword [0x180012910]
call qword [0x1800112f8]
mov eax, 0xff00ffff
jmp 0x1800061cf
mov eax, 0x3200ffff
movaps xmm7, xmm9
mov qword [rsp + 0x28], rdi
subss xmm7, xmm8
mov dword [rsp + 0x20], eax
mov r9d, 0x64
movaps xmm1, xmm9
movaps xmm0, xmm11
movaps xmm2, xmm7
divss xmm2, dword [0x18000dd20]
call fcn.1800045e0
mov rdi, qword [0x180011358]
mov byte [rsp + 0x40], bl
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9, r12
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea r8, [rsp + 0x40]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [rsp + 0x6c]
test eax, eax
movzx ecx, byte [rsp + 0x40]
movzx edx, dl
cmovne edx, ecx
mov dword [rsp + 0x6c], edx
test dl, dl
jne 0x1800062e0
cmp qword [0x180012950], rbx
je 0x1800062d9
cmp qword [0x180012958], rbx
je 0x1800062d9
cmp qword [0x180012920], rbx
je 0x1800062d9
cmp qword [0x180012928], rbx
je 0x1800062d9
cmp qword [0x180012938], rbx
je 0x1800062d9
cmp qword [0x180012910], rbx
je 0x1800062d9
lea rcx, [r15 + 0x350]
call fcn.1800093a0
lea rcx, [r15 + 0x358]
movaps xmm6, xmm0
call fcn.1800093a0
addss xmm0, dword [0x18000dcbc]
comiss xmm0, xmm6
jb 0x1800062d9
lea rcx, [r13 + 0x38]
call fcn.180009278
cmp rax, 0x11e0101
jne 0x1800062d9
and dword [rbp - 0x48], ebx
lea r8, [rbp - 0x48]
and dword [rbp - 0x44], ebx
xor r9d, r9d
and dword [rbp - 0x40], ebx
mov rdx, r13
mov rcx, qword [0x180012910]
call qword [0x1800112f8]
mov eax, 0xff00dcff
jmp 0x1800062e5
mov eax, 0x3200dcff
divss xmm7, dword [0x18000dd40]
mov qword [rsp + 0x28], rdi
mov r9d, 0x64
mov dword [rsp + 0x20], eax
movaps xmm1, xmm9
movaps xmm0, xmm11
movaps xmm2, xmm7
call fcn.1800045e0
cmp dword [0x180011528], r12d
jne 0x180006635
subss xmm8, xmm9
mov rcx, r14
cvttss2si r15d, xmm8
movd xmm7, r15d
cvtdq2pd xmm7, xmm7
divsd xmm7, qword [0x18000dce8]
call fcn.1800093a0
mov eax, 0x51eb851f
cvttss2si ecx, xmm0
imul ecx, r15d
imul ecx
mov esi, edx
sar esi, 5
mov eax, esi
shr eax, 0x1f
add esi, eax
cmp r15d, esi
jge 0x180006361
mov esi, r15d
jmp 0x180006366
test esi, esi
cmovs esi, ebx
mov rcx, r14
call fcn.1800093a0
cvttss2si ecx, xmm0
add ecx, 0x19
cmp ecx, 0x168
jne 0x180006381
mov edi, ebx
jmp 0x180006395
mov eax, 0x88888889
imul ecx
lea edi, [rcx + rdx]
sar edi, 5
mov eax, edi
shr eax, 0x1f
add edi, eax
movd xmm0, edi
cvtdq2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_trunc
cvttsd2si ecx, xmm0
mov edx, r12d
sub edi, ecx
sub edx, edi
test ecx, ecx
je 0x1800063e6
sub ecx, 1
je 0x1800063dd
sub ecx, 1
je 0x1800063d4
sub ecx, 1
je 0x1800063cb
cmp ecx, 1
mov ecx, ebx
jne 0x1800063ea
mov eax, edi
jmp 0x1800063cf
mov eax, ebx
mov ecx, edx
mov edx, r12d
jmp 0x1800063ed
mov eax, ebx
mov ecx, r12d
mov edx, edi
jmp 0x1800063ed
mov eax, edx
mov ecx, r12d
mov edx, ebx
jmp 0x1800063ed
mov ecx, edi
mov edx, ebx
mov eax, r12d
neg cl
neg al
movzx r13d, cl
neg dl
mov rcx, r14
movzx edi, al
movzx r12d, dl
call fcn.1800093a0
cvttss2si edx, xmm0
lea rcx, [rbp + 0x128]
call fcn.180001e28
mov rdx, rax
lea rcx, [rbp + 0x108]
call fcn.180009428
mov r14, rax
cmp qword [rax + 0x18], 0x10
jb 0x180006432
mov r14, qword [rax]
mov byte [rsp + 0x40], bl
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [rbp + 0x20]
lea r8, [rsp + 0x40]
mov rcx, rax
mov qword [rsp + 0x20], rbx
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [rsp + 0x70]
xorps xmm1, xmm1
movzx ecx, byte [rsp + 0x40]
test eax, eax
cvtss2sd xmm1, xmm11
movzx edx, dl
mov r8d, 0xffececec
cmovne edx, ecx
mov dword [rsp + 0x70], edx
movaps xmm0, xmm9
addsd xmm1, xmm7
subss xmm0, xmm12
addsd xmm1, qword [0x18000dcf8]
cvttss2si ecx, xmm0
cvttsd2si eax, xmm1
mov dword [rbp + 0xfc], ecx
mov dword [rbp + 0xf8], eax
add eax, 0x78
mov dword [rbp + 0x100], eax
lea eax, [rcx + 0x14]
mov rcx, qword [0x180011360]
mov dword [rbp + 0x104], eax
mov eax, edi
shl eax, 8
or eax, r13d
mov r10, qword [rcx]
shl eax, 8
or eax, r12d
or eax, 0xff000000
test dl, dl
cmovne eax, r8d
or r9d, 0xffffffff
mov dword [rsp + 0x30], eax
mov r8, r14
lea rax, [rbp + 0xf8]
mov dword [rsp + 0x28], 0x100
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [r10 + 0x70]
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x180006540
mov rcx, qword [rbp + 0x108]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000653b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000668a
call fcn.18000ae4c
mov rdx, qword [rbp + 0x140]
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x120], 0xf
mov byte [rbp + 0x108], bl
cmp rdx, 0x10
jb 0x180006599
mov rcx, qword [rbp + 0x128]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006594
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000668a
call fcn.18000ae4c
mov rax, qword [0x180011358]
xorps xmm6, xmm6
mov qword [rsp + 0x30], rax
mov r9d, r15d
mov eax, 0xfa787878
test r15d, r15d
mov dword [rsp + 0x28], eax
mov r8d, 4
cmovs r9d, ebx
mov dword [rsp + 0x20], eax
cvtss2sd xmm6, xmm11
add r9d, 5
cvttss2si edx, xmm9
subsd xmm6, xmm7
cvttsd2si ecx, xmm6
call fcn.180004018
movss xmm2, dword [0x18000dd0c]
lea eax, [rsi + 5]
shl edi, 8
or edi, r13d
movd xmm3, eax
mov rax, qword [0x180011358]
shl edi, 8
movd xmm1, r15d
or edi, r12d
cvtdq2ps xmm1, xmm1
or edi, 0xff000000
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm1, xmm9
cvtdq2ps xmm3, xmm3
subss xmm1, xmm0
cvtpd2ps xmm0, xmm6
call fcn.180003e94
mov esi, dword [rsp + 0x44]
mov r14, qword [rsp + 0x48]
mov r8, qword [0x180011448]
inc esi
inc r14
mov rcx, r8
mov dword [rsp + 0x44], esi
sub rcx, qword [0x180011440]
movabs rax, 0x4924924924924925
imul rcx
mov qword [rsp + 0x48], r14
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, esi
cmp rax, rdx
jae 0x180006691
mov r12d, dword [rsp + 0x74]
jmp 0x180005948
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r13d, 0xffc8c8c8
cmp dword [0x180011678], 1
jne 0x1800067ac
cvttss2si r14d, dword [0x18001035c]
lea rdi, [rbp + 0x1b0]
mov esi, 0x80
cvttss2si r15d, dword [0x1800112e8]
cvttss2si r12d, dword [0x180011338]
mov rcx, rdi
call fcn.180002460
add rdi, 8
sub rsi, 1
jne 0x1800066cb
movss xmm9, dword [0x18000dd14]
lea rdi, [rbp + 0x1bc]
movd xmm6, r14d
movd xmm7, r12d
movd xmm8, r15d
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm7, xmm7
cvtdq2ps xmm8, xmm8
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm6
addss xmm0, xmm7
movss dword [rdi - 0xc], xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
addss xmm10, dword [0x18000dcc4]
mulss xmm0, xmm6
addss xmm0, xmm8
movss dword [rdi - 8], xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm6
addss xmm0, xmm7
movss dword [rdi - 4], xmm0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm6
add ebx, 2
addss xmm0, xmm8
movss dword [rdi], xmm0
add rdi, 0x10
comiss xmm9, xmm10
ja 0x180006706
mov rcx, qword [0x1800112e0]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, qword [0x1800112e0]
lea rdx, [rbp + 0x1b0]
mov r9d, r13d
mov r8d, ebx
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [0x1800112e0]
mov rax, qword [rcx]
call qword [rax + 0x88]
mov rcx, qword [rbp + 0x5f0]
xor rcx, rsp
call fcn.18000adf0
lea r11, [rsp + 0x790]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret