Function at 0x180066410
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
xor r14d, r14d
movaps xmmword [rax - 0x38], xmm6
cmp byte [0x1800ccc20], r14b
movabs r15, 0x7ffffffdfffe
je 0x18006666a
mov ecx, dword [0x1800ccc50]
call fcn.180070f4c
mov rcx, qword [0x1800c8bb8]
mov ebx, eax
call fcn.1800c2414
mov ecx, ebx
call rax
test al, al
je 0x1800665d4
lea rax, [rbp - 0x2d]
mov dword [rbp - 0x39], 0x3a9e150
mov qword [rbp + 0x6f], rax
lea r9, [rbp + 0x6f]
lea rax, [rbp - 0x39]
mov qword [rbp - 0x35], pe_nt_image_headers64
xorps xmm0, xmm0
mov qword [rbp + 0x77], rax
lea r8, [rbp + 0x77]
mov qword [rbp - 0x19], r14
lea edx, [r14 + 3]
lea rcx, [rbp - 0x29]
movdqu xmmword [rbp - 0x29], xmm0
call fcn.180029cb4
mov rcx, qword [0x1800c8398]
lea rdx, [rbp - 0x29]
call fcn.18002c7bc
mov rdi, rax
mov rax, qword [0x1800c8118]
cmp rdi, rax
jbe 0x1800664e3
mov rdx, qword [0x1800c8120]
add rdx, rax
cmp rdi, rdx
jb 0x180066593
lea rcx, [rdi - 0x10000]
cmp rcx, r15
jbe 0x180066593
mov rcx, qword [0x1800c8940]
call fcn.18002c4f4
movdqa xmm0, xmmword [0x1800072b0]
lea r9, [rbp - 0x11]
movdqa xmm1, xmmword [0x180007690]
mov rdi, rax
movdqu xmmword [rbp - 0x11], xmm0
mov r8d, r14d
mov dword [rbp + 0x1f], 0x16134c
movdqa xmm0, xmmword [0x180006130]
movdqu xmmword [rbp + 0xf], xmm0
mov dword [rbp + 0x23], 0x690a0600
movdqu xmmword [rbp - 1], xmm1
mov eax, 0x1f7047dd
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 0x38
jl 0x18006653e
lea rcx, [rbp - 0x11]
call fcn.180073844
mov rcx, qword [0x1800c9038]
mov rbx, rax
call fcn.1800c2414
mov r8b, 1
mov rdx, rbx
mov rcx, rdi
call rax
jmp 0x1800665bc
mov rcx, qword [0x1800c8cd8]
call fcn.1800c2414
mov rcx, rdi
call rax
mov rcx, qword [0x1800c8cd0]
test al, al
sete bl
call fcn.1800c2414
mov dl, bl
mov rcx, rdi
call rax
mov rcx, qword [0x1800c8f28]
mov rbx, qword [0x1800cd360]
call fcn.1800c2414
mov rcx, rbx
call rax
mov rbx, qword [0x1800c83d0]
mov rdx, qword [0x1800c8118]
mov rcx, qword [0x1800c8120]
mov dword [rbp + 0x6f], 0x3f800000
cmp rbx, rdx
jbe 0x1800665fe
lea rax, [rcx + rdx]
cmp rbx, rax
jb 0x18006660a
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x18006662d
mov rcx, qword [0x1800c83b8]
call fcn.1800c2414
lea rdx, [rbp + 0x6f]
mov rcx, rbx
call rax
mov rdx, qword [0x1800c8118]
mov rcx, qword [0x1800c8120]
mov rbx, qword [0x1800c83d8]
mov dword [rbp + 0x6f], 0x3f800000
cmp rbx, rdx
jbe 0x180066649
lea rax, [rcx + rdx]
cmp rbx, rax
jb 0x180066655
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x18006666a
mov rcx, qword [0x1800c83b8]
call fcn.1800c2414
lea rdx, [rbp + 0x6f]
mov rcx, rbx
call rax
mov rcx, qword [0x1800cd360]
add rcx, qword [0x1800c88a8]
call fcn.18002c688
mov rcx, qword [0x1800c8898]
mov rdi, rax
add rcx, qword [0x1800cd360]
call fcn.18002c688
mov rdx, qword [0x1800c8118]
mov rsi, rax
mov r8, qword [0x1800c8120]
mov r12d, 4
cmp rdi, rdx
jbe 0x1800666b8
lea rcx, [r8 + rdx]
cmp rdi, rcx
jb 0x1800666c8
lea rax, [rdi - 0x10000]
cmp rax, r15
ja 0x180066889
cmp rsi, rdx
jbe 0x1800666d6
lea rax, [r8 + rdx]
cmp rsi, rax
jb 0x1800666e6
lea rax, [rsi - 0x10000]
cmp rax, r15
ja 0x180066889
cmp byte [0x1800ccbc0], r14b
je 0x180066732
movsxd rcx, dword [0x1800ccbf0]
lea eax, [rcx - 1]
cmp eax, 0xfe
ja 0x180066732
mov rax, rcx
lea rcx, [0x1800c73ac]
cmp byte [rax + rcx], r14b
je 0x180066732
mov rcx, qword [0x1800c8e88]
mov rbx, qword [0x1800cd360]
call fcn.1800c2414
movss xmm1, dword [0x180006050]
mov rcx, rbx
call rax
jmp 0x18006677d
cmp byte [0x1800ccb90], r14b
je 0x18006677d
mov rcx, qword [0x1800c8ab8]
lea rdx, [rbp + 0x6f]
add rcx, rdi
mov byte [rbp + 0x6f], 1
mov r8d, 1
call fcn.1800c228c
mov rcx, qword [0x1800c8ae8]
lea rdx, [rbp - 0x39]
and dword [rbp - 0x39], r14d
add rcx, rdi
and dword [rbp - 0x35], r14d
mov r8d, 0xc
and dword [rbp - 0x31], r14d
call fcn.1800c228c
cmp byte [0x1800ccb60], r14b
je 0x1800667ce
mov rcx, qword [0x1800c8828]
add rcx, rsi
call fcn.18002c638
mov rcx, qword [0x1800c8828]
lea rdx, [rbp + 0x6f]
or eax, r12d
add rcx, rsi
mov r8, r12
mov dword [rbp + 0x6f], eax
call fcn.1800c228c
mov rcx, qword [0x1800c8ab0]
lea rdx, [rbp + 0x6f]
add rcx, rdi
mov byte [rbp + 0x6f], 1
mov r8d, 1
call fcn.1800c228c
cmp byte [0x1800ccb00], r14b
je 0x18006683d
mov rcx, qword [0x1800c8ac8]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rdi
mov r8, r12
call fcn.1800c228c
mov rcx, qword [0x1800c8a90]
add rcx, rdi
call fcn.18002c660
addss xmm0, dword [0x180005eec]
mov rcx, qword [0x1800c8a90]
lea rdx, [rbp + 0x6f]
add rcx, rdi
mov r8, r12
movss dword [rbp + 0x6f], xmm0
call fcn.1800c228c
mov rcx, qword [0x1800c8ac0]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rdi
mov r8, r12
call fcn.1800c228c
cmp byte [0x1800ccc80], r14b
je 0x180066858
movss xmm0, dword [0x1800cccb0]
divss xmm0, dword [0x180005fc8]
jmp 0x180066860
movss xmm0, dword [0x180005f58]
mov rcx, qword [0x1800c8af0]
lea rdx, [rbp + 0x6f]
add rcx, rdi
movss dword [rbp + 0x6f], xmm0
mov r8, r12
call fcn.1800c228c
mov rdx, qword [0x1800c8118]
mov r8, qword [0x1800c8120]
cmp byte [0x1800c9d28], r14b
movss xmm6, dword [0x180006034]
mov rbx, qword [0x1800c83c8]
je 0x1800668b3
movd xmm0, dword [0x1800c9d58]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x6f], xmm0
jmp 0x1800668ba
mov dword [rbp + 0x6f], 0xbf800000
cmp rbx, rdx
jbe 0x1800668c8
lea rax, [r8 + rdx]
cmp rbx, rax
jb 0x1800668d4
lea rax, [rbx - 0x10000]
cmp rax, r15
ja 0x1800668e9
mov rcx, qword [0x1800c83b8]
call fcn.1800c2414
lea rdx, [rbp + 0x6f]
mov rcx, rbx
call rax
mov rcx, qword [0x1800c8dd8]
call fcn.1800c2414
call rax
mov rbx, rax
mov rax, qword [0x1800c8118]
cmp rbx, rax
jbe 0x180066915
mov rdx, qword [0x1800c8120]
add rdx, rax
cmp rbx, rdx
jb 0x180066925
lea rcx, [rbx - 0x10000]
cmp rcx, r15
ja 0x180066a91
cmp byte [0x1800c9db8], r14b
je 0x1800669a9
mov rcx, qword [0x1800c84a0]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8a28]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r12
call fcn.1800c228c
mov rcx, qword [0x1800c84a0]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8a20]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r12
call fcn.1800c228c
mov rcx, qword [0x1800c84a0]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8a18]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r12
call fcn.1800c228c
cmp byte [0x1800c9cc8], r14b
je 0x180066a0a
mov rcx, qword [0x1800c8498]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8a08]
lea rdx, [rbp + 0x6f]
add rcx, rax
mov dword [rbp + 0x6f], 0x3f800000
mov r8, r12
call fcn.1800c228c
mov rcx, qword [0x1800c8498]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8a10]
lea rdx, [rbp + 0x6f]
add rcx, rax
mov dword [rbp + 0x6f], 0x3f800000
mov r8, r12
call fcn.1800c228c
cmp byte [0x1800c9cf8], r14b
je 0x180066a91
mov rcx, qword [0x1800c84a8]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8a58]
lea rdx, [rbp + 0x6f]
add rcx, rax
mov dword [rbp + 0x6f], 0x41200000
mov r8, r12
call fcn.1800c228c
mov rcx, qword [0x1800c84b0]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8b18]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r12
call fcn.1800c228c
mov rcx, qword [0x1800c84a8]
add rcx, rbx
call fcn.18002c688
mov rcx, qword [0x1800c8a50]
lea rdx, [rbp + 0x6f]
and dword [rbp + 0x6f], r14d
add rcx, rax
mov r8, r12
call fcn.1800c228c
cmp byte [0x1800c9ea8], r14b
mov rcx, qword [0x1800c8b48]
je 0x180066aab
call fcn.1800c2414
xorps xmm0, xmm0
jmp 0x180066ab3
call fcn.1800c2414
movaps xmm0, xmm6
call rax
cmp byte [0x1800c9de8], r14b
mov rcx, qword [0x1800c8b20]
je 0x180066acf
call fcn.1800c2414
xorps xmm0, xmm0
jmp 0x180066ad7
call fcn.1800c2414
movaps xmm0, xmm6
call rax
cmp byte [0x1800c9e18], r14b
mov rcx, qword [0x1800c8b30]
je 0x180066af3
call fcn.1800c2414
xorps xmm0, xmm0
jmp 0x180066afb
call fcn.1800c2414
movaps xmm0, xmm6
call rax
cmp byte [0x1800c9e78], r14b
mov rcx, qword [0x1800c8b38]
je 0x180066b1c
call fcn.1800c2414
movss xmm0, dword [0x180005f00]
jmp 0x180066b24
call fcn.1800c2414
movaps xmm0, xmm6
call rax
cmp byte [0x1800c9ed8], r14b
mov rcx, qword [0x1800c8b40]
je 0x180066b40
call fcn.1800c2414
xorps xmm0, xmm0
jmp 0x180066b48
call fcn.1800c2414
movaps xmm0, xmm6
call rax
cmp byte [0x1800c9f08], r14b
mov rcx, qword [0x1800c8b50]
je 0x180066b69
call fcn.1800c2414
movss xmm0, dword [0x180005f78]
jmp 0x180066b71
call fcn.1800c2414
movaps xmm0, xmm6
call rax
cmp byte [0x1800c9e48], r14b
mov rcx, qword [0x1800c8b28]
je 0x180066b8d
call fcn.1800c2414
xorps xmm0, xmm0
jmp 0x180066b95
call fcn.1800c2414
movaps xmm0, xmm6
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
jmp rax