Function at 0x14006c690
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
add rax, 0x60
mov qword [rbp - 8], rax
mov rax, qword [rcx]
mov qword [rbp], rax
cmp rax, 0
je 0x14006c9ab
mov rax, qword [rbp]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rbp - 0x30], rcx
mov rax, qword [rax - 0x10]
mov qword [rbp - 0x28], rax
cmp rax, 0x10
jb 0x14006c94c
mov eax, dword [0x1402aad30]
mov ecx, dword [0x1402aad34]
xor ecx, 0xe636879c
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x13cb665b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x13cb665b
or eax, 0x13cb665b
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x508c5c63
xor eax, 0x508c5c63
mov edx, 0xe89346cc
xor edx, 0xc4f35df9
sub eax, edx
add ecx, eax
mov eax, 0xa402fb17
xor eax, 0xa402fb17
sub eax, ecx
mov ecx, eax
xor ecx, 0x55b79ccd
xor ecx, 0xffffffff
and ecx, 0x55b79ccd
shl ecx, 1
mov edx, 0xea17fe3c
xor edx, 0xbfa062f1
sub ecx, edx
sub eax, ecx
cmp eax, 0x83e262ff
jb 0x14006c9bd
mov r10, qword [rbp - 0x28]
mov eax, dword [0x1402aad38]
mov ecx, 0x5ccfe6be
xor ecx, 0x7ddc4aba
xor eax, ecx
mov ecx, dword [0x1402aad3c]
xor ecx, 0x3070009a
xor edx, edx
div ecx
mov ecx, 0xea198679
xor edx, edx
div ecx
imul eax, eax, 0xd7b0c315
sub eax, 0xb6eda7ce
mov ecx, 0x980a3c6d
xor ecx, 0xb7802b91
movabs r8, 0x7dbc0c73bafa9d8
movabs rdx, 0xf8243f38c4505628
xor r8, rdx
mov rdx, r10
add rdx, r8
mov qword [rbp - 0x40], rdx
mov r8, rdx
xor r8, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
and r8, r9
mov r9, r10
or r9, r9
movabs r11, 0x5ad231bb7a7fa6ad
movabs rsi, 0xa52dce4485805952
xor r11, rsi
xor r9, r11
or r8, r9
xor r8, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
movabs r11, 0x687a642df12a73ce
movabs rsi, 0x97859bd20ed58c31
xor r11, rsi
xor r10, r11
and r9, r10
movabs r10, 0x5b2188bb81d9b69a
movabs r11, 0xa4de77447e264965
xor r10, r11
xor r8, r10
xor r9, 0xffffffffffffffff
and r8, r9
cmp r8, 0
setl r8b
cmp rdx, 0xffffffffffffffff
setg dl
or dl, dl
xor r9d, r9d
xor r9b, 1
xor dl, r9b
or r8b, r8b
xor r8b, 0xff
or dl, r8b
xor dl, 0xff
mov byte [rbp - 0x31], dl
cmp eax, ecx
je 0x14006c7a5
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14006c8cc
jmp 0x14006c8de
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14006c9ab
mov eax, dword [0x1402aad40]
and eax, dword [0x1402aad44]
sub eax, 0x8e477b99
or eax, 0x49204757
and eax, 0x297fbff8
cmp eax, 0x8b9a5f5
jb 0x14006c9c6
mov r8, qword [rbp - 0x40]
mov eax, dword [0x1402aad48]
xor edx, edx
div dword [0x1402aad4c]
mov ecx, 0x8d39692f
xor edx, edx
div ecx
mov ecx, 0xa49937f1
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x30]
or eax, 0x91440156
mov ecx, 0xef64a292
xor ecx, 0x5d6cf58a
mov qword [rdx], r8
cmp eax, ecx
jae 0x14006c904
jmp 0x14006c9ab
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov rax, qword [rbp]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14006c180
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14006c9b6
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov edx, 8
sub rsp, 0x20
call fcn.14001ab40
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x20]
mov qword [rax], rcx
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
outsd dx, dword [rsi]
adc eax, 0xdfe9da4e
std
invalid
jle 0x14006c9e1
sbb ah, byte [rax]
jmp 0x14006c904
or al, ch
adc dword [rcx], esp
cli
dec dword [rax - 0x75]
and al, 0x48
add rax, 0x60
mov qword [rsp + 0x50], rax
cmp rcx, 0
je 0x14006cc37
mov rax, qword [rsp + 0x48]
xor ecx, ecx
sub rcx, rax
movabs rax, 0x378de570510f8d54
movabs rdx, 0x378de570510f8d54
xor rax, rdx
movabs rdx, 0x14b042dafc7a969
movabs r8, 0xfeb4fbd250385699
xor rdx, r8
sub rax, rdx
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
cmp rax, 0x10
jb 0x14006cbec
mov rdx, qword [rsp + 0x40]
movabs rcx, 0x84051bd919f089d6
movabs rax, 0xffc7e7e551bf969b
xor rcx, rax
mov rax, rdx
sub rax, rcx
movabs rcx, 0xe929f2efd807d916
movabs r8, 0x16d60d1027f826e6
xor rcx, r8
add rax, rcx
movabs rcx, 0x7bc2fc3c484f1f4d
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
and rcx, rcx
movabs r8, 0x6a153cfee684344d
movabs r9, 0x95eac301197bcbb2
xor r8, r9
xor rcx, r8
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or r8, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0xba96753be2debdf9
movabs r9, 0x45698ac41d214206
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14006cb27
jmp 0x14006cbda
mov eax, dword [0x1402aad50]
xor edx, edx
div dword [0x1402aad54]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xa61a82c9
add eax, ecx
mov ecx, 0xd346aaab
xor ecx, 0x5aee0205
xor eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xe6cd2f7a
and ecx, 0xe6cd2f7a
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x71c186c2
xor ecx, 0xe09d06bf
cmp eax, ecx
je 0x14006cc3d
mov eax, dword [0x1402aad58]
xor eax, 0x6d39e6b7
mov edx, dword [0x1402aad5c]
xor edx, 0x7476ec68
mov ecx, 0x1f7aa91c
xor ecx, 0x1f7aa91c
sub ecx, edx
add eax, ecx
imul eax, eax, 0xdc01e10e
add eax, 0x601bde53
mov ecx, 0x4d0fbe95
xor ecx, 0xaff25ae1
xor eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.14000ee80
mov eax, dword [rsp + 0x2c]
cmp eax, 0x658e2d1d
je 0x14006cc3d
jmp 0x14006cc37
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14006cc37
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.14006c180
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x14006cc37
mov rcx, qword [rsp + 0x48]
mov edx, 8
call fcn.14001ab40
nop
add rsp, 0x68
ret
movsb byte [rdi], byte [rsi]
sal ch, 1
or ch, cl
cmp edi, edi
invalid