Function at 0x1800db640
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
mov rbx, qword [rdx + 0x18]
mov r13, rcx
mov r14, qword [rdx + 0x10]
mov rdi, rdx
movaps xmmword [rax - 0x48], xmm6
mov rcx, rdx
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov qword [rbp - 0x80], r8
cmp rbx, 0x10
jb 0x1800db689
mov rcx, qword [rdx]
mov rdx, r14
call fcn.1800dae74
mov r9, rax
lea rdx, [rbp - 0x48]
mov r8, rdi
lea rcx, [0x1800fa770]
call fcn.1800dadcc
movabs rsi, 0x7fffffffffffffff
movabs r15, 0x8000000000000000
mov rcx, qword [rax + 8]
mov rax, qword [0x1800fa778]
test rcx, rcx
cmovne rax, rcx
mov ecx, 0x16
cmp rax, qword [0x1800fa778]
jne 0x1800db806
xorps xmm0, xmm0
mov r12, rdi
movups xmmword [rbp - 0x78], xmm0
cmp rbx, 0x10
jb 0x1800db6f2
mov r12, qword [rdi]
cmp r14, rsi
ja 0x1800dbfdb
cmp r14, 0x10
jae 0x1800db719
movups xmm0, xmmword [r12]
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], 0xf
movdqu xmmword [rbp - 0x78], xmm0
jmp 0x1800db771
mov rbx, r14
or rbx, 0xf
cmp rbx, rsi
jbe 0x1800db72d
mov rbx, rsi
mov rcx, r15
jmp 0x1800db741
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800db748
call fcn.1800296e4
jmp 0x1800db756
test rcx, rcx
je 0x1800db754
call fcn.1800e421c
jmp 0x1800db756
xor eax, eax
lea r8, [r14 + 1]
mov qword [rbp - 0x78], rax
mov rdx, r12
mov qword [rbp - 0x68], r14
mov rcx, rax
mov qword [rbp - 0x60], rbx
call fcn.1800e663c
lea r8, [rbp - 0x78]
mov byte [rbp - 0x58], 1
lea rdx, [rsp + 0x60]
lea rcx, [0x1800fa770]
call fcn.1800daea8
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1800db7c5
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800db7c0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800dbfd5
call fcn.1800e423c
mov rbx, qword [rdi + 0x18]
mov rcx, rdi
cmp rbx, 0x10
jb 0x1800db7d5
mov rcx, qword [rdi]
mov rdx, qword [rdi + 0x10]
call fcn.1800dae74
mov r9, rax
lea rdx, [rbp - 0x38]
mov r8, rdi
lea rcx, [0x1800fa770]
call fcn.1800dadcc
mov rcx, qword [rax + 8]
mov rax, qword [0x1800fa778]
test rcx, rcx
cmovne rax, rcx
movss xmm0, dword [r13 + 0xc]
add rax, 0x30
mov qword [rbp - 0x50], rax
mov rcx, rdi
cmp rbx, 0x10
jb 0x1800db820
mov rcx, qword [rdi]
movss xmm6, dword [0x180005fd0]
xorps xmm3, xmm3
mov r8b, byte [rax]
xor edx, edx
movss dword [rsp + 0x28], xmm0
xorps xmm8, xmm8
movss dword [rsp + 0x20], xmm6
call fcn.1800c20b8
and dword [rbp + 0x5c], 0
lea rdx, [rbp + 0x58]
mov ecx, 2
mov dword [rbp + 0x58], 0x41b80000
movaps xmm9, xmm0
call fcn.1800aa348
cmp qword [rdi + 0x18], 0x10
xorps xmm1, xmm1
mov r14, qword [rdi + 0x10]
mov r12, rdi
movups xmmword [rsp + 0x60], xmm1
jb 0x1800db87b
mov r12, qword [rdi]
cmp r14, rsi
ja 0x1800dbfe1
cmp r14, 0x10
jae 0x1800db8a5
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 0xf
movups xmm0, xmmword [r12]
movdqu xmmword [rsp + 0x60], xmm0
jmp 0x1800db905
mov rbx, r14
or rbx, 0xf
cmp rbx, rsi
jbe 0x1800db8b9
mov rbx, rsi
mov rcx, r15
jmp 0x1800db8d2
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800db8d9
call fcn.1800296e4
jmp 0x1800db8e7
test rcx, rcx
je 0x1800db8e5
call fcn.1800e421c
jmp 0x1800db8e7
xor eax, eax
lea r8, [r14 + 1]
mov qword [rsp + 0x60], rax
mov rdx, r12
mov qword [rsp + 0x70], r14
mov rcx, rax
mov qword [rsp + 0x78], rbx
call fcn.1800e663c
mov dword [rbp + 0x58], 0x585c555e
lea r9, [rbp + 0x58]
mov byte [rbp + 0x5c], 0x37
xor r8d, r8d
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 5
jl 0x1800db917
or r14, 0xffffffffffffffff
lea rax, [rbp + 0x58]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x1800db949
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.180033c88
cmp qword [rax + 0x18], 0x10
jb 0x1800db96b
mov rax, qword [rax]
mov r9d, 0x48
lea rdx, [rbp - 0x80]
xor r8d, r8d
mov rcx, rax
call fcn.18009f3a8
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800db9bd
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800db9b8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800dbfe7
call fcn.1800e423c
cmp qword [rdi + 0x18], 0x10
mov r8, rdi
jb 0x1800db9ca
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800d1c60
cmp qword [rdi + 0x18], 0x10
mov r12, rdi
movss xmm0, dword [rbp - 0x80]
mov rbx, qword [rdi + 0x10]
movss xmm1, dword [rax + 0x14]
addss xmm1, dword [0x18000cb90]
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x6c], xmm1
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm1
jb 0x1800dba0c
mov r12, qword [rdi]
cmp rbx, rsi
ja 0x1800dbfed
cmp rbx, 0x10
jae 0x1800dba36
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], 0xf
movups xmm0, xmmword [r12]
movdqu xmmword [rsp + 0x60], xmm0
jmp 0x1800dba97
mov rax, rbx
or rax, 0xf
cmp rax, rsi
ja 0x1800dba5e
mov ecx, 0x16
mov rsi, rax
cmp rax, rcx
cmovb rsi, rcx
lea r15, [rsi + 1]
cmp r15, 0x1000
jb 0x1800dba68
mov rcx, r15
call fcn.1800296e4
jmp 0x1800dba79
test r15, r15
je 0x1800dba77
mov rcx, r15
call fcn.1800e421c
jmp 0x1800dba79
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x60], rax
mov rdx, r12
mov qword [rsp + 0x70], rbx
mov rcx, rax
mov qword [rsp + 0x78], rsi
call fcn.1800e663c
mov dword [rbp + 0x58], 0x5254515b
lea r9, [rbp + 0x58]
mov word [rbp + 0x5c], 0x4a52
xor r8d, r8d
mov byte [rbp + 0x5e], 0x39
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 7
jl 0x1800dbaaf
lea rax, [rbp + 0x58]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x1800dbadd
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.180033c88
cmp qword [rax + 0x18], 0x10
jb 0x1800dbaff
mov rax, qword [rax]
mov r9d, 0x80
lea rdx, [rbp + 0x68]
xor r8d, r8d
mov rcx, rax
call fcn.18009f3a8
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800dbb51
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800dbb4c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800dbff3
call fcn.1800e423c
call fcn.1800a4070
cmp qword [rdi + 0x18], 0x10
mov r15, rax
mov rsi, rdi
jb 0x1800dbb66
mov rsi, qword [rdi]
movaps xmm1, xmm6
mov ecx, 1
call fcn.1800a33e4
lea rcx, [rbp + 0x68]
mov r12d, eax
call fcn.1800a40a8
cmp qword [rdi + 0x18], 0x10
mov r8, rdi
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
addss xmm1, dword [0x18000cb30]
addss xmm0, dword [0x18000cd68]
movss dword [rbp + 0x5c], xmm1
movss dword [rbp + 0x58], xmm0
jb 0x1800dbbaf
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800d1c60
cmp qword [rdi + 0x18], 0x10
mov rbx, rax
mov r8, rdi
jb 0x1800dbbcc
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800d1c60
and qword [rsp + 0x40], 0
lea r9, [rbp + 0x58]
movss xmm2, dword [rbx + 0x14]
mov rdx, rax
movss dword [rsp + 0x38], xmm8
mov rcx, r15
and qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
call fcn.1800b591c
call fcn.1800a4070
mov rcx, qword [0x1800f2b60]
mov rbx, 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.1800a1484
mov rdx, qword [0x1800f2b60]
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 [0x1800f2b60]
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 [0x1800f2b60]
movss xmm1, dword [rax + 0x18]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov rcx, rbx
movss xmm0, dword [rax + 0x24]
addss xmm0, dword [rax + 0x1c]
movss dword [rbp + 0x58], xmm1
movss dword [rbp + 0x5c], xmm0
movss xmm0, dword [0x180006018]
movss dword [rsp + 0x20], xmm0
call fcn.1800b4714
xor ebx, ebx
mov dword [rbp + 0x58], 0x54545a76
mov r8d, ebx
mov word [rbp + 0x5c], 0x5d5b
mov byte [rbp + 0x5e], 0x39
lea r9, [rbp + 0x58]
mov esi, 0x51eb851f
mov eax, esi
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 7
jl 0x1800dbd30
call fcn.1800a40c4
movss xmm1, dword [0x180006104]
lea rdx, [rbp + 0x58]
movaps xmm6, xmm0
movss dword [rsp + 0x20], xmm1
subss xmm6, dword [0x18000cd88]
xor r9d, r9d
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.1800a05e8
subss xmm6, dword [rax]
call fcn.1800a4094
mulss xmm0, dword [0x180005fbc]
lea rcx, [rbp + 0x68]
movss dword [rbp + 0x68], xmm6
subss xmm0, dword [0x18000cb88]
movss dword [rbp + 0x6c], xmm0
call fcn.1800ad064
mov r8d, ebx
mov dword [rsp + 0x50], 0x54545a76
lea r9, [rsp + 0x50]
mov dword [rsp + 0x54], 0x191a5d5b
mov byte [rsp + 0x58], 0x3b
mov eax, esi
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 9
jl 0x1800dbdcf
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x70], xmm1
inc r14
cmp byte [rax + r14], bl
jne 0x1800dbe09
mov r8, r14
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.180029868
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x1800dbe31
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x60]
call fcn.180033c88
cmp qword [rax + 0x18], 0x10
jb 0x1800dbe49
mov rax, qword [rax]
mov r8, qword [rbp - 0x50]
mov rdx, rax
mov rcx, r13
call fcn.1800e0884
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800dbe95
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800dbe90
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800dbfcf
call fcn.1800e423c
call fcn.1800a1b60
cmp qword [rdi + 0x18], 0x10
mov r8, rdi
jb 0x1800dbea7
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800d1c60
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x18000cb90]
call fcn.1800ad0b8
and dword [rbp + 0x5c], ebx
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
mov dword [rbp + 0x58], 0xbf800000
jb 0x1800dbedd
mov rcx, qword [rdi]
mov r9d, 0x10098
lea rdx, [rbp + 0x58]
xor r8d, r8d
call fcn.18009f3a8
movss xmm0, dword [rbp - 0x7c]
ucomiss xmm0, xmm8
movss xmm1, dword [rbp - 0x80]
jp 0x1800dbf22
jne 0x1800dbf22
mov rcx, qword [0x1800f2b60]
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 [0x18000cb68]
movss dword [rbp + 0x5c], xmm0
call fcn.1800ad8b4
call fcn.18009f9b8
and dword [rbp + 0x5c], ebx
lea rdx, [rbp + 0x58]
mov ecx, 0xe
mov dword [rbp + 0x58], 0x41200000
call fcn.1800aa348
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800dbf97
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x1800dbf92
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800dbfd5
mov rcx, r8
call fcn.1800e423c
lea r11, [rsp + 0x110]
mov qword [rdi + 0x10], rbx
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov byte [rdi], bl
mov rbx, qword [r11 + 0x40]
mov qword [rdi + 0x18], 0xf
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800ad4f0
int3
call fcn.1800ad4f0
int3
call fcn.180033304
int3
call fcn.180033304
int3
call fcn.1800ad4f0
int3
call fcn.180033304
int3
call fcn.1800ad4f0
int3