Function at 0x1800b7c68
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x108
mov r15, qword [rdx + 0x18]
mov rsi, rdx
mov rdi, qword [rdx + 0x10]
mov rcx, rdx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov qword [rbp - 0x80], r8
cmp r15, 0xf
jbe 0x1800b7caf
mov rcx, qword [rdx]
mov rdx, rdi
call fcn.1800b747c
mov r9, rax
lea rdx, [rbp - 0x50]
mov r8, rsi
lea rcx, [0x1800d5790]
call fcn.1800b73d4
mov rbx, qword [0x1800d5798]
mov edx, 0x16
movabs r14, 0x7fffffffffffffff
movabs r12, 0x8000000000000000
cmp qword [rax + 8], 0
cmovne rbx, qword [rax + 8]
cmp rbx, qword [0x1800d5798]
jne 0x1800b7e26
lea eax, [rdx - 7]
xorps xmm0, xmm0
mov r13, rsi
movups xmmword [rbp - 0x78], xmm0
cmp r15, rax
jbe 0x1800b7d19
mov r13, qword [rsi]
cmp rdi, r14
ja 0x1800b8620
cmp rdi, rax
ja 0x1800b7d3b
movups xmm0, xmmword [r13]
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rax
movdqu xmmword [rbp - 0x78], xmm0
jmp 0x1800b7d92
mov rbx, rdi
or rbx, rax
cmp rbx, r14
jbe 0x1800b7d4e
mov rbx, r14
mov rcx, r12
jmp 0x1800b7d62
cmp rbx, rdx
cmovb rbx, rdx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800b7d69
call fcn.180029604
jmp 0x1800b7d77
test rcx, rcx
je 0x1800b7d75
call fcn.1800bf320
jmp 0x1800b7d77
xor eax, eax
lea r8, [rdi + 1]
mov qword [rbp - 0x78], rax
mov rdx, r13
mov qword [rbp - 0x68], rdi
mov rcx, rax
mov qword [rbp - 0x60], rbx
call fcn.1800c16a0
lea r8, [rbp - 0x78]
mov byte [rbp - 0x58], 1
lea rdx, [rsp + 0x60]
lea rcx, [0x1800d5790]
call fcn.1800b74b0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x1800b7de6
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b7de1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b861a
call fcn.1800bf340
mov r15, qword [rsi + 0x18]
mov rcx, rsi
cmp r15, 0xf
jbe 0x1800b7df6
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x10]
call fcn.1800b747c
mov r9, rax
lea rdx, [rbp - 0x40]
mov r8, rsi
lea rcx, [0x1800d5790]
call fcn.1800b73d4
mov rbx, qword [0x1800d5798]
cmp qword [rax + 8], 0
cmovne rbx, qword [rax + 8]
mov rdi, qword [rbp + 0x50]
mov rcx, rsi
movss xmm0, dword [rdi + 0xc]
cmp r15, 0xf
jbe 0x1800b7e3b
mov rcx, qword [rsi]
movss xmm6, dword [0x180005f00]
xorps xmm3, xmm3
mov r8b, byte [rbx + 0x30]
xor edx, edx
movss dword [rsp + 0x28], xmm0
xorps xmm8, xmm8
movss dword [rsp + 0x20], xmm6
call fcn.18009e44c
and dword [rbp + 0x5c], 0
lea rdx, [rbp + 0x58]
mov ecx, 2
mov dword [rbp + 0x58], 0x41b80000
movaps xmm9, xmm0
call fcn.1800865dc
mov r15, qword [rsi + 0x10]
mov eax, 0xf
xorps xmm1, xmm1
mov r13, rsi
movups xmmword [rsp + 0x60], xmm1
cmp qword [rsi + 0x18], rax
jbe 0x1800b7e9b
mov r13, qword [rsi]
cmp r15, r14
ja 0x1800b8626
cmp r15, rax
ja 0x1800b7ec0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [r13]
movdqu xmmword [rsp + 0x60], xmm0
jmp 0x1800b7f23
mov rdi, r15
or rdi, rax
cmp rdi, r14
jbe 0x1800b7ed3
mov rdi, r14
mov rcx, r12
jmp 0x1800b7eec
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1800b7ef3
call fcn.180029604
jmp 0x1800b7f01
test rcx, rcx
je 0x1800b7eff
call fcn.1800bf320
jmp 0x1800b7f01
xor eax, eax
lea r8, [r15 + 1]
mov qword [rsp + 0x60], rax
mov rdx, r13
mov qword [rsp + 0x70], r15
mov rcx, rax
mov qword [rsp + 0x78], rdi
call fcn.1800c16a0
mov rdi, qword [rbp + 0x50]
mov dword [rbp + 0x58], 0x5b5d525f
lea r9, [rbp + 0x58]
mov byte [rbp + 0x5c], 0x36
xor r8d, r8d
mov eax, 0x29e4129f
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 5
jl 0x1800b7f35
or r15, 0xffffffffffffffff
lea rax, [rbp + 0x58]
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x1800b7f70
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.180031240
cmp qword [rax + 0x18], 0xf
jbe 0x1800b7f92
mov rax, qword [rax]
mov r9d, 0x48
lea rdx, [rbp - 0x80]
xor r8d, r8d
mov rcx, rax
call fcn.18007b5c8
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1800b7fe4
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b7fdf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b862c
call fcn.1800bf340
cmp qword [rsi + 0x18], 0xf
mov r8, rsi
jbe 0x1800b7ff1
mov r8, qword [rsi]
mov edx, 2
mov rcx, rdi
call fcn.1800ae248
cmp qword [rsi + 0x18], 0xf
mov r13, rsi
movss xmm0, dword [rbp - 0x80]
mov rdi, qword [rsi + 0x10]
movss xmm1, dword [rax + 0x14]
addss xmm1, dword [0x18000cac0]
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x6c], xmm1
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm1
jbe 0x1800b8033
mov r13, qword [rsi]
cmp rdi, r14
ja 0x1800b8632
cmp rdi, 0xf
ja 0x1800b805d
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
movups xmm0, xmmword [r13]
movdqu xmmword [rsp + 0x60], xmm0
jmp 0x1800b80be
mov rax, rdi
or rax, 0xf
cmp rax, r14
ja 0x1800b8085
mov ecx, 0x16
cmp rax, rcx
cmovb rax, rcx
mov r14, rax
lea r12, [rax + 1]
cmp r12, 0x1000
jb 0x1800b808f
mov rcx, r12
call fcn.180029604
jmp 0x1800b80a0
test r12, r12
je 0x1800b809e
mov rcx, r12
call fcn.1800bf320
jmp 0x1800b80a0
xor eax, eax
lea r8, [rdi + 1]
mov qword [rsp + 0x60], rax
mov rdx, r13
mov qword [rsp + 0x70], rdi
mov rcx, rax
mov qword [rsp + 0x78], r14
call fcn.1800c16a0
mov dword [rbp + 0x58], 0x5155565a
lea r9, [rbp + 0x58]
mov word [rbp + 0x5c], 0x4553
xor r8d, r8d
mov byte [rbp + 0x5e], 0x38
mov eax, 0x29e4129f
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 7
jl 0x1800b80d6
lea rax, [rbp + 0x58]
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x1800b810d
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.180031240
cmp qword [rax + 0x18], 0xf
jbe 0x1800b812f
mov rax, qword [rax]
mov r9d, 0x80
lea rdx, [rbp + 0x68]
xor r8d, r8d
mov rcx, rax
call fcn.18007b5c8
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1800b8181
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b817c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8638
call fcn.1800bf340
call fcn.1800802dc
cmp qword [rsi + 0x18], 0xf
mov r13, rax
mov r14, rsi
jbe 0x1800b8196
mov r14, qword [rsi]
movaps xmm1, xmm6
mov ecx, 1
call fcn.18007f63c
lea rcx, [rsp + 0x50]
mov dword [rbp + 0x58], eax
call fcn.180080314
cmp qword [rsi + 0x18], 0xf
mov r8, rsi
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
addss xmm1, dword [0x18000ca60]
addss xmm0, dword [0x18000cc88]
movss dword [rbp + 0x6c], xmm1
movss dword [rbp + 0x68], xmm0
jbe 0x1800b81e0
mov r8, qword [rsi]
mov r12, qword [rbp + 0x50]
mov edx, 2
mov rcx, r12
call fcn.1800ae248
cmp qword [rsi + 0x18], 0xf
mov rdi, rax
mov r8, rsi
jbe 0x1800b8201
mov r8, qword [rsi]
mov edx, 2
mov rcx, r12
call fcn.1800ae248
and qword [rsp + 0x40], 0
lea r9, [rbp + 0x68]
mov ecx, dword [rbp + 0x58]
mov rdx, rax
movss xmm2, dword [rdi + 0x14]
movss dword [rsp + 0x38], xmm8
and qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.180091b30
call fcn.1800802dc
mov rcx, qword [0x1800cdb78]
mov rdi, rax
movss xmm2, dword [rcx + 0x37e0]
lea rcx, [rsp + 0x50]
mulss xmm2, xmm9
mov dword [rsp + 0x50], 0x3e3cbcbd
mov dword [rsp + 0x54], 0x3e44c4c5
mov dword [rsp + 0x58], 0x3e4ccccd
movss dword [rsp + 0x5c], xmm2
call fcn.18007d6d0
mov rdx, qword [0x1800cdb78]
lea r8, [rsp + 0x68]
mov r9d, eax
mov rcx, qword [rdx + 0x3eb0]
mov byte [rcx + 0xb0], 1
mov rcx, qword [rdx + 0x3eb0]
lea rdx, [rbp + 0x58]
movss xmm0, dword [rcx + 0x18]
movss xmm1, dword [rcx + 0x20]
movss xmm2, dword [rcx + 0x1c]
addss xmm1, xmm0
movss xmm3, dword [rcx + 0x24]
mov rcx, qword [0x1800cdb78]
addss xmm3, xmm2
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm2
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x6c], xmm3
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov rcx, qword [0x1800cdb78]
movss xmm1, dword [rax + 0x18]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov rcx, rdi
movss xmm0, dword [rax + 0x24]
addss xmm0, dword [rax + 0x1c]
movss dword [rbp + 0x58], xmm1
movss dword [rbp + 0x5c], xmm0
movss xmm0, dword [0x180005f48]
movss dword [rsp + 0x20], xmm0
call fcn.180090980
xor r14d, r14d
mov dword [rbp + 0x58], 0x57555d77
mov r8d, r14d
mov word [rbp + 0x5c], 0x525a
mov byte [rbp + 0x5e], 0x38
lea r9, [rbp + 0x58]
mov edi, 0x29e4129f
mov eax, edi
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 7
jl 0x1800b8368
call fcn.180080330
movss xmm1, dword [0x180006034]
lea rdx, [rbp + 0x58]
movaps xmm6, xmm0
movss dword [rsp + 0x20], xmm1
subss xmm6, dword [0x18000cca8]
xor r9d, r9d
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.18007c838
subss xmm6, dword [rax]
call fcn.180080300
mulss xmm0, dword [0x180005eec]
lea rcx, [rbp + 0x68]
movss dword [rbp + 0x68], xmm6
subss xmm0, dword [0x18000cab8]
movss dword [rbp + 0x6c], xmm0
call fcn.18008927c
mov r8d, r14d
mov dword [rsp + 0x50], 0x57555d77
lea r9, [rsp + 0x50]
mov dword [rsp + 0x54], 0x1a1b525a
mov byte [rsp + 0x58], 0x3a
mov eax, edi
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x37
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 9
jl 0x1800b8410
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x70], xmm1
inc r15
cmp byte [rax + r15], r14b
jne 0x1800b8453
mov r8, r15
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.180029790
mov edi, 0xf
mov rdx, rsi
cmp qword [rsi + 0x18], rdi
jbe 0x1800b847f
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x60]
call fcn.180031240
cmp qword [rax + 0x18], rdi
jbe 0x1800b8496
mov rax, qword [rax]
lea r8, [rbx + 0x30]
mov rdx, rax
mov rcx, r12
call fcn.1800bba28
mov rdx, qword [rsp + 0x78]
cmp rdx, rdi
jbe 0x1800b84e1
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b84dc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8614
call fcn.1800bf340
call fcn.18007ddac
mov r8, rsi
cmp qword [rsi + 0x18], rdi
jbe 0x1800b84f2
mov r8, qword [rsi]
mov edx, 2
mov rcx, r12
call fcn.1800ae248
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x18000cac0]
call fcn.1800892d0
and dword [rbp + 0x5c], r14d
mov rcx, rsi
mov dword [rbp + 0x58], 0xbf800000
cmp qword [rsi + 0x18], rdi
jbe 0x1800b8528
mov rcx, qword [rsi]
mov r9d, 0x10098
lea rdx, [rbp + 0x58]
xor r8d, r8d
call fcn.18007b5c8
movss xmm0, dword [rbp - 0x7c]
ucomiss xmm0, xmm8
movss xmm1, dword [rbp - 0x80]
jp 0x1800b856d
jne 0x1800b856d
mov rcx, qword [0x1800cdb78]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
movss xmm0, dword [rax + 0x34]
mulss xmm0, xmm9
lea rcx, [rbp + 0x58]
xor edx, edx
movss dword [rbp + 0x58], xmm1
addss xmm0, dword [0x18000ca98]
movss dword [rbp + 0x5c], xmm0
call fcn.180089ac8
call fcn.18007bbe0
and dword [rbp + 0x5c], r14d
lea rdx, [rbp + 0x58]
mov ecx, 0xe
mov dword [rbp + 0x58], 0x41200000
call fcn.1800865dc
mov rdx, qword [rsi + 0x18]
cmp rdx, rdi
jbe 0x1800b85e2
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x1800b85dd
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b861a
mov rcx, r8
call fcn.1800bf340
lea r11, [rsp + 0x108]
mov qword [rsi + 0x10], r14
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm8, xmmword [r11 - 0x28]
movaps xmm9, xmmword [r11 - 0x38]
mov qword [rsi + 0x18], rdi
mov byte [rsi], r14b
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180089708
int3
call fcn.180089708
int3
call fcn.1800308bc
int3
call fcn.1800308bc
int3
call fcn.180089708
int3
call fcn.1800308bc
int3
call fcn.180089708
int3