Function at 0x140167e50
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rcx
mov ecx, dword [0x140259dc0]
xor ecx, 0xb0240cc6
mov edx, dword [0x140259dc4]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xe83da0a9
xor edx, 0xffffffff
mov ecx, 0xaed468ab
xor ecx, 0x46e9c802
and ecx, edx
shl ecx, 1
mov edx, 0x4237ae6
xor edx, 0xec1eda4f
sub ecx, edx
sub eax, ecx
imul eax, eax, 0x2e75c750
mov ecx, 0x19438870
xor ecx, 0x3909bdf5
xor eax, ecx
mov ecx, 0xda4932c4
xor ecx, 0xddcfda5c
cmp eax, ecx
jb 0x140168609
mov ecx, dword [0x140259dc8]
mov eax, dword [0x140259dcc]
xor eax, 0x67d2c902
add eax, ecx
or eax, 0x68abd50c
mov ecx, 0xd52efa95
imul rax, rcx
shr rax, 0x3e
not eax
and eax, 0x925f86cf
neg eax
mov dword [rbp - 0xc], eax
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.1401a68de
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0xc]
add rdx, 0x50
mov qword [rbp - 8], rdx
mov cl, byte [rcx]
mov dl, 0xcf
xor dl, 0xcf
cmp cl, dl
sete cl
mov byte [rbp + 7], cl
cmp eax, 0xc9dc4c90
jae 0x140168609
mov al, byte [rbp + 7]
test al, 1
jne 0x140167f84
jmp 0x140168143
mov rax, qword [rbp + 8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x30], rcx
mov rcx, qword [rax + 8]
lea rdx, [0x140259700]
sub rsp, 0x20
call fcn.140167a50
add rsp, 0x20
test al, 1
jne 0x140167fb8
jmp 0x140168004
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140055e58
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140168603
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
movabs rdx, 0x8929d653cad86ee9
movabs rax, 0x8929d653cad86ee1
xor rdx, rax
sub rsp, 0x20
call fcn.14000ea9a
add rsp, 0x20
mov ecx, dword [0x140259dd0]
xor ecx, dword [0x140259dd4]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x31513335
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x31513335
or ecx, edx
mov edx, 0x40f2c2fa
xor edx, 0xbf0d3d05
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov edx, 0x61277a78
xor edx, 0x9ed88587
mov ecx, eax
xor ecx, edx
mov edx, 0xee1fafd1
xor edx, 0x92467d05
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x7c59d2d4
and eax, edx
sub eax, ecx
imul eax, eax, 0xe5c67eb1
cmp eax, 0xfebef5a6
ja 0x140168612
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 8]
mov edx, dword [0x140259dd8]
mov r10d, dword [0x140259ddc]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, edx
and r9d, r11d
mov r8d, edx
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
sub edx, 0x472952e7
sub edx, 0xb28f24a8
xor r8d, r8d
sub r8d, edx
xor edx, edx
sub edx, 0x6324fa85
add r8d, edx
mov edx, 0xedb22cde
xor edx, 0xedb22cde
sub edx, r8d
mov dword [rbp - 0x38], edx
mov edx, 0x99620c04
xor edx, 0x3d79374e
mov dword [rbp - 0x3c], edx
mov rdx, qword [rax + 0x10]
mov qword [rcx], rdx
mov rax, qword [rax + 0x18]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140167830
mov rdx, qword [rbp - 8]
mov ecx, dword [rbp - 0x3c]
mov eax, dword [rbp - 0x38]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
ja 0x140168080
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140168143
jmp 0x140168603
mov eax, dword [0x140259de0]
mov ecx, 0x4fb02873
xor ecx, 0x6b39a6a2
xor eax, ecx
xor eax, dword [0x140259de4]
mov ecx, 0xaba18f1c
xor ecx, 0x21035fe4
sub eax, ecx
add eax, 0xe34d33e0
mov ecx, 0xdf43c239
xor edx, edx
div ecx
cmp eax, 0xb7c6ff9e
je 0x14016861b
mov rcx, qword [rbp + 8]
mov eax, dword [0x140259de8]
or eax, dword [0x140259dec]
add eax, 0x5215385f
add eax, 0x2b7aa134
sub eax, 0x5215385f
sub eax, 0x2c670897
mov r8d, 0xa13ad509
xor r8d, 0x4b201919
xor edx, edx
div r8d
mov rcx, qword [rcx + 0x30]
mov qword [rbp - 0x48], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x3d], cl
cmp eax, 0x8e166110
ja 0x140168182
mov al, byte [rbp - 0x3d]
test al, 1
jne 0x14016824a
jmp 0x1401681e5
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x6b4d69a6e2d02804
xor rcx, r8
or rax, rdx
movabs rdx, 0x6b4d69a6e2d02804
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14016824a
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
mov rax, qword [rbp + 8]
mov rcx, rax
add rcx, 0x38
mov qword [rbp - 0x50], rcx
mov rcx, qword [rax + 0x38]
lea rdx, [0x1402596c8]
sub rsp, 0x20
call fcn.140167a50
add rsp, 0x20
test al, 1
jne 0x14016827e
jmp 0x140168380
mov eax, dword [str.i__P]
xor edx, edx
div dword [0x140259df4]
xor eax, 0xbf3d4938
mov r8d, 0xf82a1d43
xor r8d, 0xbb60fb01
mov ecx, 0xb4a7db40
xor ecx, 0x4b5824bf
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x6f86c9a
xor r8d, 0xf9079365
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x434ae642
or eax, 0x434ae642
imul eax, edx
add eax, ecx
sub eax, 0xe5d0eaa8
cmp eax, 0x5498d130
je 0x140168624
mov eax, dword [0x140259df8]
mov ecx, 0xa10c9ec
xor ecx, 0x936fdaad
xor eax, ecx
xor edx, edx
div dword [0x140259dfc]
mov ecx, 0xcf49ede5
xor edx, edx
div ecx
add eax, 0xcd8e0cd6
mov ecx, 0xe5d9565f
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x50]
mov dword [rbp - 0x58], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140167e50
mov rcx, qword [rbp - 8]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xd9
xor dl, 0xd9
cmp cl, dl
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0x64f3c672
je 0x1401682eb
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140168367
jmp 0x140168603
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
mov edx, 8
sub rsp, 0x20
call fcn.14000ea9a
add rsp, 0x20
mov rax, qword [rbp + 8]
mov rcx, rax
add rcx, 0x40
mov qword [rbp - 0x60], rcx
mov rcx, qword [rax + 0x40]
lea rdx, [0x1402596c8]
sub rsp, 0x20
call fcn.140167a50
add rsp, 0x20
test al, 1
jne 0x1401683b4
jmp 0x1401683ee
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140167e50
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140168603
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov edx, 8
sub rsp, 0x20
call fcn.14000ea9a
add rsp, 0x20
mov eax, dword [0x140259e00]
mov ecx, dword [0x140259e04]
mov edx, 0xd47d0b4f
xor edx, 0x499963e4
xor ecx, edx
xor eax, ecx
and eax, 0x4f4476d3
mov ecx, 0xfb678a53
xor ecx, 0x6d75912f
imul eax, ecx
or eax, 0x7f830721
mov ecx, 0x410cb279
xor ecx, 0x8b8b1fac
cmp eax, ecx
jb 0x14016862d
mov rcx, qword [rbp + 8]
mov eax, dword [0x140259e08]
mov r9d, dword [0x140259e0c]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
imul eax, eax, 0x76339af6
add eax, 0xa202d98
xor eax, 0x72ef9de6
mov rcx, qword [rcx + 0x50]
mov qword [rbp - 0x70], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0xe0052381
jae 0x14016862d
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401685df
jmp 0x1401684ac
mov edx, dword [0x140259e10]
xor edx, 0x18cea2e7
mov ecx, dword [0x140259e14]
xor ecx, 0x9778b133
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, ecx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd5f754ce
xor ecx, 0x2a08ab31
xor eax, ecx
mov ecx, 0x35142cce
xor ecx, 0xba28ea30
or eax, ecx
mov ecx, 0x73341ac8
xor ecx, 0x71f1eb36
imul eax, ecx
mov ecx, eax
xor ecx, 0xe995b347
xor ecx, 0xffffffff
mov edx, 0x6db2ab95
xor edx, 0x842718d2
or eax, edx
and eax, ecx
cmp eax, 0x2f839fdf
je 0x140168636
mov ecx, dword [0x140259e18]
add ecx, dword [0x140259e1c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x5c890aa5
xor edx, 0x82df3cff
mov r8d, 0x54a4d2e4
xor r8d, 0xab5b2d1b
xor edx, r8d
or eax, edx
mov edx, 0xcbbe31ee
xor edx, 0x15e807b4
and ecx, edx
mov edx, 0xf55daa62
xor edx, 0xaa2559d
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xca451768
mov ecx, 0x8b208217
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x70]
mov ecx, 0xcf377d1d
xor ecx, 0xa42f107d
mov rdx, qword [rdx]
movabs r8, 0xf2654ec8707bd5df
movabs r9, 0xb2654ec8707bd5df
xor r8, r9
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
jae 0x140168522
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1401685ce
jmp 0x1401685df
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 8]
mov rdx, qword [rax + 0x58]
mov qword [rcx], rdx
mov rax, qword [rax + 0x60]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14015ec70
add rsp, 0x20
lea rsp, [rbp + 0x10]
pop rbp
ret
clc
mul byte [rcx - 0x34]
jmp 0x140167edf
nop
invalid
ror byte [rdi + 0x5ee9f45e], 1
sti
invalid
jrcxz 0x140168656
jp 0x140168612
mov esi, 0x6dfffffc
insd dword [rdi], dx
rep insd dword [rdi], dx
add ch, cl
invalid
movabs eax, dword [0xfffffee3e97cc987]
nop
xor rax, rax