Function at 0x180006080
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x20], r9d
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xb0
movaps xmmword [rax - 0x48], xmm6
mov esi, r9d
mov rdi, r8
mov r13, rcx
mov r15d, r9d
imul eax, r9d, 0x364
mov dword [rbp - 0x41], eax
cmp r9d, eax
ja 0x1800063c0
movsd xmm6, qword [rbp - 0x39]
mov r14, qword [rbp - 0x31]
movzx r12d, word [rbp + 0x77]
mov r10d, 0x8000
xor r9d, r9d
cmp r15d, 0x115
ja 0x1800062d6
je 0x1800062b3
mov eax, r15d
sub eax, 0x2c
je 0x1800062ab
sub eax, 0x60
je 0x180006146
cmp eax, 0x4c
jne 0x1800063ab
mov r12d, r9d
mov edx, 1
mov r8, qword [r13]
cmp rdx, r8
jae 0x1800063ab
movzx ecx, word [rdi + rdx*2 - 2]
add cx, r10w
movzx eax, word [rdi + rdx*2]
add ax, r10w
xor cx, ax
or r12w, cx
inc rdx
cmp rdx, r8
jb 0x180006121
jmp 0x1800063ab
mov qword [rdi + 0x18], r9
mov ecx, r9d
mov dword [rbp - 0x61], ecx
mov eax, dword [rdi + 0x28]
test eax, eax
je 0x180006290
nop dword [rax + rax]
mov ebx, 0x71
mov eax, ebx
sub eax, 0x71
je 0x180006187
cmp eax, 1
jne 0x180006272
movaps xmm0, xmm6
addsd xmm0, qword [rdi + 0x18]
movsd qword [rdi + 0x18], xmm0
jmp 0x180006272
mov eax, ecx
lea rcx, [rax + rax*2]
shl rcx, 4
mov r8, qword [rdi + 0x30]
add r8, rcx
add rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], r9
xor edx, edx
mov r9d, 0xc8
call fcn.180079e00
mov qword [rbp - 0x39], rax
mov rsi, qword [rdi]
mov rax, qword [rsi + 8]
mov qword [rbp - 0x29], rax
xor r9d, r9d
mov dword [rbp - 0x21], r9d
mov rcx, rsi
mov edx, dword [rbp - 0x61]
cmp byte [rax + 0x19], r9b
jne 0x1800061f6
mov qword [rbp - 0x29], rax
cmp dword [rax + 0x20], edx
jae 0x1800061e3
mov dword [rbp - 0x21], r9d
mov rax, qword [rax + 0x10]
jmp 0x1800061f0
mov dword [rbp - 0x21], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r9b
je 0x1800061d0
cmp byte [rcx + 0x19], r9b
jne 0x180006201
cmp edx, dword [rcx + 0x20]
jae 0x180006265
movabs rax, 0x555555555555555
cmp qword [rdi + 8], rax
je 0x1800063e3
mov qword [rbp - 0x11], rdi
mov qword [rbp - 9], r9
mov ecx, 0x30
call fcn.18008372c
mov r8, rax
mov eax, dword [rbp - 0x61]
mov dword [r8 + 0x20], eax
xor eax, eax
mov qword [r8 + 0x28], rax
mov qword [r8], rsi
mov qword [r8 + 8], rsi
mov qword [r8 + 0x10], rsi
mov word [r8 + 0x18], ax
mov qword [rbp - 9], rax
movups xmm0, xmmword [rbp - 0x29]
movaps xmmword [rbp - 1], xmm0
lea rdx, [rbp - 1]
mov rcx, rdi
call fcn.18001f5d0
mov rcx, rax
xor r9d, r9d
movsd xmm6, qword [rbp - 0x39]
movsd qword [rcx + 0x28], xmm6
mov ecx, dword [rbp - 0x61]
inc ebx
cmp ebx, 0x73
jb 0x180006165
inc ecx
mov dword [rbp - 0x61], ecx
mov eax, dword [rdi + 0x28]
cmp ecx, eax
jb 0x180006160
mov esi, dword [rbp + 0x77]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movsd xmm1, qword [rdi + 0x18]
divsd xmm1, xmm0
movsd qword [rdi + 0x18], xmm1
jmp 0x1800063ab
mov r14, rdi
jmp 0x1800063ab
test r13, r13
je 0x1800062bf
mov eax, dword [rdi + 0x10]
mov dword [r13], eax
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1800063ab
mov eax, dword [rdi + 0x14]
mov dword [rcx], eax
jmp 0x1800063ab
cmp r15d, 0x157c
je 0x18000635b
cmp r15d, 0x6978
je 0x180006308
cmp r15d, 0x8741
jne 0x1800063ab
test rdx, rdx
je 0x1800063ab
mov eax, dword [rdi + 0x18]
mov dword [rdx], eax
jmp 0x1800063ab
test r12w, r12w
je 0x1800063ab
mov word [rbp - 0x59], r12w
xor r9d, r9d
lea r8, [rbp - 0x59]
mov edx, 0xbc
xor ecx, ecx
call fcn.18006ab90
mov rcx, qword [r13]
mov qword [rbp - 0x31], rcx
mov word [rbp - 0x49], ax
mov word [rbp - 0x51], r12w
lea rax, [rbp - 0x51]
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, [rbp - 0x49]
mov edx, 0xfd
lea rcx, [rbp - 0x31]
call fcn.180006850
jmp 0x1800063ab
mov eax, 1
xchg dword [r14 + 0x120], eax
nop word [rax + rax]
mov ebx, 0xa
mov eax, ebx
sub eax, 0xa
je 0x18000638f
cmp eax, 1
jne 0x18000639c
lea ecx, [rax + 9]
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
jmp 0x18000639c
xor eax, eax
lock cmpxchg dword [r14 + 0x120], r9d
je 0x1800063a5
inc ebx
cmp ebx, 0xc
jb 0x180006375
jmp 0x180006370
mov r15d, 0x157c
imul eax, esi, 0x7c
add r15d, eax
cmp r15d, dword [rbp - 0x41]
ja 0x1800063c0
mov rdx, qword [rbp + 0x67]
jmp 0x1800060d6
mov rbx, qword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18001f900
int3