Function at 0x14008bce0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], r8
mov qword [rbp - 8], rdx
mov qword [rbp], rcx
mov eax, dword [0x1401095d8]
and eax, dword [0x1401095dc]
xor eax, 0x54b81431
or eax, 0x2a8fc4a1
imul eax, eax, 0x60930cc3
cmp eax, 0xa994447e
je 0x14008c092
mov r11, qword [rbp - 0x10]
mov rsi, qword [rbp - 8]
mov rbx, qword [rbp]
mov eax, dword [0x1401095e0]
mov ecx, dword [0x1401095e4]
sub eax, ecx
xor eax, 0xaeb110eb
mov dword [rbp - 0x1c], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdi, rsp
mov qword [rbp - 0x50], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r9, rsp
mov qword [rbp - 0x48], r9
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r10, rsp
mov qword [rbp - 0x40], r10
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov r8, rsp
mov qword [rbp - 0x38], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rdx, rsp
mov qword [rbp - 0x28], rdx
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 0x1c]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
mov qword [rdi], rbx
mov qword [r9], rsi
mov qword [r10], r11
mov r9, qword [r9]
mov r10, qword [r10]
mov r11, qword [r10]
mov qword [r9], r11
mov r10, qword [r10 + 8]
mov qword [r9 + 8], r10
mov dword [r8], 0
mov dword [rdx], 0
mov dword [rcx], 0
cmp eax, 0xe37f4d4b
ja 0x14008c092
jmp 0x14008be02
mov eax, dword [0x1401095e8]
imul eax, dword [0x1401095ec]
imul eax, eax, 0xa101f7f9
add eax, 0xc7634961
or eax, 0xa6d825c6
cmp eax, 0x819cbcf2
jb 0x14008c131
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1401095f0]
sub eax, dword [0x1401095f4]
add eax, 0x385c3110
and eax, 0x92c4de31
and eax, 0x1d1cdd39
mov rcx, qword [rcx]
mov edx, dword [rdx]
cmp byte [rcx + rdx], 0
setne cl
mov byte [rbp - 0x51], cl
cmp eax, 0x63ef962b
ja 0x14008c131
mov al, byte [rbp - 0x51]
test al, 1
jne 0x14008be77
jmp 0x14008c089
mov eax, dword [0x1401095f8]
sub eax, dword [0x1401095fc]
xor eax, 0x1f94dde
mov ecx, 0xf8243d86
xor edx, edx
div ecx
and eax, 0xf78c22c2
cmp eax, 0x2861c547
ja 0x14008c136
mov rcx, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x40]
mov eax, dword [str.wK]
imul eax, dword [0x140109604]
add eax, 0xd87d5731
mov r8d, 0xe77ec04d
xor edx, edx
div r8d
mov r8d, 0xc96c6636
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x50]
mov dword [rbp - 0x58], edx
mov rax, qword [rax]
mov ecx, dword [rcx]
movzx ecx, byte [rax + rcx]
sub rsp, 0x20
call qword [sym.imp.msvcrt.dll_toupper]
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x50]
sub edx, 0x20
mov dword [rbp - 0x5c], edx
mov rdx, qword [rdi]
mov qword [rbp - 0x68], rdx
mov rax, qword [rax]
mov ecx, dword [rcx]
movzx ecx, byte [rax + rcx]
sub rsp, 0x20
call qword [sym.imp.msvcrt.dll_toupper]
mov r11, qword [rbp - 0x28]
mov r8, qword [rbp - 0x68]
mov r10d, dword [rbp - 0x5c]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
mov r9d, eax
mov eax, dword [rbp - 0x58]
imul r9d, r9d, 0x725d
mov rdi, qword [rdi]
mov ebx, dword [rsi]
add ebx, dword [r11]
add ebx, dword [rdx]
and ebx, 0xf
mov ebx, ebx
movzx edi, byte [rdi + rbx]
add r9d, edi
add r9d, dword [rsi]
add r9d, dword [r11]
add r9d, dword [rdx]
and r9d, 0xf
mov r9d, r9d
movzx r8d, byte [r8 + r9]
add r10d, r8d
mov rcx, qword [rcx]
mov r8d, dword [rdx]
movzx r9d, byte [rcx + r8]
add r9d, r10d
mov byte [rcx + r8], r9b
mov ecx, dword [rdx]
add ecx, 1
mov dword [rdx], ecx
mov ecx, ecx
cmp rcx, 0x10
sete cl
mov byte [rbp - 0x52], cl
cmp eax, 0x7c00f706
ja 0x14008bea1
mov al, byte [rbp - 0x52]
test al, 1
jne 0x14008bfb2
jmp 0x14008c01e
mov eax, dword [0x140109608]
add eax, dword [0x14010960c]
or eax, 0x1ff3bc89
xor eax, 0xb8922e1f
and eax, 0xfdd88696
cmp eax, 0xeb8f2787
je 0x14008c202
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x140109610]
and eax, dword [0x140109614]
and eax, 0xcae9f7be
xor eax, 0x54aa3779
mov r8d, 0xec65e0ac
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x38]
mov dword [rdx], 0
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0xf61b8e68
je 0x14008bfd8
jmp 0x14008c01e
jmp 0x14008c023
mov eax, dword [0x140109618]
sub eax, dword [0x14010961c]
imul eax, eax, 0xe0ad3e5d
mov ecx, 0x4cbd3e95
xor edx, edx
div ecx
mov ecx, 0xff6b132b
xor edx, edx
div ecx
cmp eax, 0x97ad1f43
ja 0x14008c21c
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140109620]
xor eax, dword [0x140109624]
imul eax, eax, 0xfaa22b16
sub eax, 0xbb0da10c
add eax, 0xf66fc56f
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0xe9e14e79
jae 0x14008c052
jmp 0x14008be02
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov r10, qword [rbp - 0x10]
mov r11, qword [rbp - 8]
mov rdi, qword [rbp]
mov eax, 0x10
mov qword [rbp - 0x70], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rsi, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r9, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rsi], rdi
mov qword [r8], r11
mov qword [r9], r10
mov r8, qword [r8]
mov r9, qword [r9]
mov r10, qword [r9]
mov qword [r8], r10
mov r9, qword [r9 + 8]
mov qword [r8 + 8], r9
mov dword [rdx], 0
mov dword [rcx], 0
mov dword [rax], 0
jmp 0x14008bd26
jmp 0x14008be2a
mov rcx, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x40]
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov ecx, dword [rcx]
movzx ecx, byte [rax + rcx]
sub rsp, 0x20
call qword [sym.imp.msvcrt.dll_toupper]
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 0x50]
sub edx, 0x20
mov dword [rbp - 0x74], edx
mov rdx, qword [rsi]
mov qword [rbp - 0x80], rdx
mov rax, qword [rax]
mov ecx, dword [rcx]
movzx ecx, byte [rax + rcx]
sub rsp, 0x20
call qword [sym.imp.msvcrt.dll_toupper]
mov r11, qword [rbp - 0x18]
mov r10, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x80]
mov r9d, dword [rbp - 0x74]
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov r8d, eax
mov rax, qword [rbp - 0x38]
imul r8d, r8d, 0x725d
mov rsi, qword [rsi]
mov edi, dword [r11]
mov ebx, dword [r10]
add edi, ebx
mov ebx, dword [rax]
add edi, ebx
and edi, 0xf
mov edi, edi
movzx esi, byte [rsi + rdi]
add r8d, esi
mov r11d, dword [r11]
add r8d, r11d
mov r10d, dword [r10]
add r8d, r10d
mov r10d, dword [rax]
add r8d, r10d
and r8d, 0xf
mov r8d, r8d
movzx edx, byte [rdx + r8]
add r9d, edx
mov rcx, qword [rcx]
mov edx, dword [rax]
movzx r8d, byte [rcx + rdx]
add r8d, r9d
mov byte [rcx + rdx], r8b
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x14008bea1
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov dword [rcx], 0
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x14008bfd8
mov rax, qword [rbp - 0x28]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x14008c052