Function at 0x1401613e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x38], rcx
call fcn.14018af70
mov rcx, qword [rsp + 0x38]
add rax, 0x50
mov qword [rsp + 0x40], rax
add rcx, 8
mov qword [rsp + 0x48], rcx
xor eax, eax
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
cmp rax, rcx
jge 0x14016159a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140161750
test al, 1
jne 0x140161455
jmp 0x140161571
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1400ebc70
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x140161739
mov eax, dword [0x140220448]
mov ecx, dword [0x14022044c]
mov r8d, eax
and r8d, ecx
xor eax, ecx
or r8d, eax
mov eax, 0x95376014
xor eax, 0x807aaf7a
or r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xe0eac183
xor eax, 0x1d963cea
and eax, ecx
mov r9d, 0xff091a83
xor r9d, 0x275e7ea
mov ecx, 0x909f705d
xor ecx, 0x6f608fa2
xor r9d, ecx
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0xb92f6292
and ecx, 0xfd7cfd69
mov edx, 0xf96fd7d5
xor edx, 0x4040b547
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
imul eax, eax, 0x7d50cb62
cmp eax, 0x4759e9ad
ja 0x14016173e
mov rcx, qword [rsp + 0x28]
mov edx, dword [0x140220450]
imul edx, dword [0x140220454]
mov eax, edx
and eax, 0x2cd8f341
xor edx, 0x2cd8f341
or eax, edx
sub eax, 0x10aa7d20
add eax, 0x174d9825
add eax, 0x10aa7d20
mov r8d, 0xc930e53a
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x24], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14001096f
mov eax, dword [rsp + 0x24]
cmp eax, 0x170d9aaf
ja 0x140161505
jmp 0x140161571
mov rax, qword [rsp + 0x28]
movabs rcx, 0x26a4bdc99771f5a2
movabs rdx, 0x26a4bdc99771f5a3
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x14016140c
mov rax, qword [rsp + 0x30]
cmp rax, 0
je 0x140161739
mov rcx, qword [rsp + 0x30]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x9f7ed4912414c587
movabs rdx, 0x9f7ed4912414c587
xor rcx, rdx
cmp rax, rcx
jne 0x140161739
mov eax, dword [0x140220458]
mov edx, dword [0x14022045c]
xor ecx, ecx
sub ecx, eax
mov eax, 0x7394e5d8
xor eax, 0x7394e5d8
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x6c93f715
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x6c93f715
or eax, 0x6c93f715
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x92cb9f9e
xor eax, 0x92cb9f9e
mov edx, 0xde27942e
xor edx, 0x92e88458
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov edx, eax
xor edx, 0xfc00945a
mov ecx, 0x2f9015c7
xor ecx, 0xd06fea38
xor edx, ecx
mov ecx, 0x5821eac8
xor ecx, 0xa4217e92
and ecx, edx
shl ecx, 1
sub ecx, 0xfc00945a
sub eax, ecx
mov ecx, 0x23ec03ab
xor ecx, 0x3f6e96f8
cmp eax, ecx
jb 0x140161747
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x140220460]
mov r8d, dword [0x140220464]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, r8d
add eax, edx
mov r9d, 0xffffffff
xor r9d, 0xc8b53431
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0xea83967f
xor r9d, 0x2236a24e
mov r8d, eax
and r8d, r9d
or eax, 0xc8b53431
imul eax, r8d
add eax, edx
mov edx, eax
xor edx, 0xc0a8d51f
xor edx, 0xffffffff
and edx, 0xc0a8d51f
shl edx, 1
sub edx, 0xc0a8d51f
sub eax, edx
mov edx, eax
and edx, 0x3baee57a
shl edx, 1
xor eax, 0x3baee57a
add eax, edx
mov dword [rsp + 0x20], eax
mov edx, 8
call fcn.14001091d
mov eax, dword [rsp + 0x20]
cmp eax, 0xc340f512
jae 0x140161747
jmp 0x140161739
add rsp, 0x58
ret
and al, 0x67
retf
xor dword [rdi + 0x3de9a2fe], edi
invalid