Function at 0x14008c220
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], r8
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rcx
mov eax, 0x10
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.140089ae5
mov r8, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp - 8], rax
xor eax, eax
test r8, r8
cmovg rax, r8
mov qword [rbp], rax
xor eax, eax
mov rcx, rax
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
cmp rax, rcx
je 0x14008c4a2
mov eax, dword [0x1401d9068]
mov ecx, 0xebb98673
xor ecx, 0x3215a5b7
xor eax, ecx
mov ecx, dword [0x1401d906c]
xor ecx, 0xc24f0dc7
sub eax, ecx
xor eax, 0xd2953035
mov edx, 0x685d0986
xor edx, 0x97a2f679
mov ecx, eax
xor ecx, edx
mov edx, 0x6ad004c9
xor edx, 0xcee539ab
and edx, ecx
mov r8d, 0x5bd8ceb0
xor r8d, 0xffedf3d2
mov ecx, 0x56bfbbe1
xor ecx, 0xa940441e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa4353d62
or eax, 0xa4353d62
imul eax, edx
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xade83582
xor edx, 0x5217ca7d
xor eax, edx
or eax, 0x3605adfa
add eax, ecx
mov ecx, 0xb03b991d
xor ecx, 0x4654fad4
cmp eax, ecx
je 0x14008c7b6
mov rcx, qword [rbp - 0x40]
mov r11, qword [rbp - 0x38]
mov eax, dword [0x1401d9070]
xor edx, edx
div dword [0x1401d9074]
mov rdx, qword [rbp - 0x30]
sub eax, 0xfcfca8be
add eax, 0x8973e85e
mov r8d, 0xdadee7d2
xor r8d, 0x26224f6c
add eax, r8d
xor eax, 0x9a985eba
mov r9d, eax
and r9d, 0x8fa6db13
mov r8d, 0xa4bba4f
xor r8d, 0xa4bba4d
imul r8d, r9d
add eax, 0x8fa6db13
sub eax, r8d
mov r8, rcx
shl r8, 4
add rdx, r8
mov r9, qword [rdx]
mov r8, r9
add r8, r11
mov qword [rbp - 0x58], r8
movabs r10, 0x772ad9507e7e6e4c
movabs rdx, 0x88d526af818191b3
xor r10, rdx
mov rdx, r8
xor rdx, r10
movabs rsi, 0x6690e76b98f84c0f
movabs r10, 0x996f18946707b3f0
xor rsi, r10
mov r10, r8
xor r10, rsi
and rdx, r10
mov r10, r11
or r10, r10
xor r10, 0xffffffffffffffff
movabs rsi, 0x57823ee3ab0f467c
movabs rdi, 0xa87dc11c54f0b983
xor rsi, rdi
xor rdx, rsi
xor r10, 0xffffffffffffffff
and rdx, r10
mov r10, r8
or r10, r11
xor r10, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and rdx, r10
xor r8, r9
and rdx, r8
movabs r8, 0x621d6965a3d5628a
movabs r9, 0x621d6965a3d5628a
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rbp - 0x49], dl
add rcx, 1
mov qword [rbp - 0x48], rcx
cmp eax, 0x8dcc625f
jb 0x14008c346
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x58]
mov dl, byte [rbp - 0x49]
test dl, 1
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
jne 0x14008c490
jmp 0x14008c286
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14008c7a9
mov rax, qword [rbp - 0x38]
cmp rax, 0
jge 0x14008c5d3
mov eax, dword [0x1401d9078]
mov ecx, dword [0x1401d907c]
xor ecx, 0xa3c7c43d
and eax, ecx
xor eax, 0xecc6cc72
mov edx, 0x4b16a201
xor edx, 0x4b16a200
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0x550058b9
xor edx, 0xbee0164e
or eax, edx
add eax, ecx
mov edx, 0x87167a17
xor edx, 0x224f599b
mov ecx, eax
xor ecx, edx
mov edx, 0x146af2d
xor edx, 0xfeb950d2
xor ecx, edx
and ecx, 0xa559238c
shl ecx, 1
mov edx, 0xc0fad899
xor edx, 0x65a3fb15
sub ecx, edx
sub eax, ecx
mov ecx, 0xfd6c9bcd
xor ecx, 0xd7f94ef5
cmp eax, ecx
je 0x14008c7bf
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401d9080]
xor eax, 0x9099a053
mov r8d, dword [0x1401d9084]
mov edx, 0xbcb09a1c
xor edx, 0x91f311a3
xor r8d, edx
xor edx, edx
div r8d
mov r8d, 0xd74aba0
xor edx, edx
div r8d
mov r8d, 0xba80d388
xor edx, edx
div r8d
mov r8d, 0xd1f6743a
xor r8d, 0x744574c3
xor edx, edx
div r8d
mov dword [rbp - 0x5c], eax
movabs rdx, 0x652891e75d07fef7
movabs rax, 0x652891e75d07fef7
xor rdx, rax
movabs r8, 0x2ac4fa61d6112c80
movabs rax, 0x553b059e29eed37f
xor r8, rax
sub rsp, 0x20
call fcn.14000d167
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x1c0dc57f
je 0x14008c531
jmp 0x14008c7a9
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14001bf69
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rax], 0
xor eax, eax
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rax
cmp rax, rcx
je 0x14008c7a9
mov eax, dword [0x1401d9088]
mov edx, dword [0x1401d908c]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
sub eax, 0x70f8ce31
sub eax, 0xec5a34c1
add eax, 0x70f8ce31
mov ecx, 0x3047cec2
xor ecx, 0x5b1db611
or eax, ecx
or eax, 0x574d9637
cmp eax, 0x50e1a650
jbe 0x14008c7c8
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x30]
mov r10d, dword [0x1401d9090]
mov r11d, dword [0x1401d9094]
xor r11d, 0x868b305d
mov r9d, r10d
or r9d, r9d
xor r9d, 0xffffffff
mov edi, 0x3fdb152d
xor edi, 0xc024ead2
mov esi, r11d
xor esi, edi
mov ebx, 0x31a059c0
xor ebx, 0xce5fa63f
mov edi, r11d
xor edi, ebx
and esi, edi
or r9d, esi
mov esi, 0xf1e8e5ad
xor esi, 0xe171a52
xor r9d, esi
or r10d, r11d
xor r10d, 0xffffffff
or r9d, r10d
xor r9d, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
mov r11d, 0x5a083499
xor r11d, 0xdf5f719a
and r11d, r10d
mov esi, 0xffffffff
xor esi, 0x85574503
mov r10d, r9d
and r10d, esi
imul r10d, r11d
mov r11d, r9d
and r11d, 0x85574503
mov esi, 0x78831279
xor esi, 0xfdd4577a
or r9d, esi
imul r9d, r11d
add r9d, r10d
mov r10d, 0xe5235a18
xor r10d, 0xc4946a90
add r9d, r10d
or r9d, 0x33162dbc
mov dword [rbp - 0x80], r9d
shl r8, 4
add rax, r8
mov r8, qword [rax]
mov qword [rbp + 0x18], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x20], rax
lea r8, [rbp + 0x18]
sub rsp, 0x20
call fcn.14008a460
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x70]
mov eax, dword [rbp - 0x80]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x79], dl
movabs rdx, 0x443b0bbc6841fd7
sub rcx, rdx
add rcx, 1
movabs rdx, 0x443b0bbc6841fd7
add rcx, rdx
mov qword [rbp - 0x78], rcx
cmp eax, 0x8412ed2b
je 0x14008c652
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x79]
test cl, 1
mov qword [rbp - 0x68], rax
jne 0x14008c5f9
jmp 0x14008c7a9
mov rax, qword [rbp - 0x20]
lea rsp, [rbp + 0x28]
pop rbx
pop rdi
pop rsi
pop rbp
ret
test eax, 0xe96b979e
xchg ebx, edi
invalid
insd dword [rdi], dx
jns 0x14008c7ec
shr ecx, 0x69
std
invalid
mov dword [rsi], 0x81e94bc0
invalid
invalid