Function at 0x140178e90
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
cmp rcx, 0
jne 0x140179347
mov word [rsp + 0x96], 0x25f
lea rcx, [rsp + 0x96]
call fcn.140093f60
mov rcx, rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x70], rcx
mov al, byte [rax + 0x60]
mov cl, 0xed
xor cl, 0xed
cmp al, cl
jne 0x140179342
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rax]
call fcn.140037690
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x68], rcx
cmp rax, 0
jle 0x140179342
mov rdx, qword [rsp + 0x60]
xor eax, eax
mov ecx, eax
sub rcx, 1
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
movabs r8, 0x920ad2823f5cd414
movabs r9, 0x6df52d7dc0a32beb
xor r8, r9
and rcx, r8
movabs r8, 0x59f783ce7099d125
movabs r9, 0xa6087c318f662eda
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs r9, 0x9734febca3e16184
movabs r10, 0x68cb01435c1e9e7b
xor r9, r10
xor r8, r9
movabs r9, 0x18df5342b9ffdd6b
movabs r10, 0xe720acbd46002294
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140178ff6
call fcn.14000f24b
jmp 0x140179342
mov eax, dword [0x14027c548]
sub eax, dword [0x14027c54c]
mov ecx, 0x5b659627
xor ecx, 0x2e1fb567
imul eax, ecx
sub eax, 0x2f7b0f74
imul eax, eax, 0x65f651c6
mov ecx, 0xa7590277
xor ecx, 0x3209aeb5
cmp eax, ecx
jbe 0x140179362
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x14027c550]
mov r8d, dword [str.t:z]
xor edx, edx
sub edx, eax
mov eax, 0xdb79b544
xor eax, 0xdb79b544
sub eax, r8d
add edx, eax
mov eax, 0x6e0aa156
xor eax, 0x6e0aa156
sub eax, edx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xec10675a
mov r8d, 0x3d7425a5
xor r8d, 0xd16442ff
mov r9d, 0xad7f074
xor r9d, 0xf5280f8b
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x3411ee0c
xor edx, 0xa58aa778
imul eax, edx
and eax, 0x9d963d46
cmp rcx, 0
setl cl
mov byte [rsp + 0x57], cl
cmp eax, 0x491caaeb
jb 0x140179362
mov al, byte [rsp + 0x57]
test al, 1
jne 0x1401790d1
jmp 0x14017910e
mov rcx, qword [rsp + 0x58]
movabs rdx, 0x4e8696f273e16cb0
movabs rax, 0x4e8696f273e16cb0
xor rdx, rax
movabs r8, 0x3e1142f8f2a7d9de
movabs rax, 0x41eebd070d582621
xor r8, rax
call fcn.14001a720
jmp 0x140179342
mov ecx, dword [0x14027c558]
xor ecx, 0x672b479d
mov eax, dword [0x14027c55c]
xor eax, 0xb39c76ac
xor ecx, eax
and ecx, 0x9df8f651
mov eax, ecx
and eax, 0xb5b3029
xor ecx, 0xb5b3029
or eax, ecx
sub eax, 0x55a37327
cmp eax, 0xc4ad3abb
je 0x14017936b
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x78]
mov eax, dword [0x14027c560]
mov edx, dword [0x14027c564]
mov r9d, 0x9a4f8cf4
xor r9d, 0x5728911f
xor edx, r9d
and eax, edx
and eax, 0x3c3b6077
mov r9d, 0x6962735a
xor edx, edx
div r9d
mov r9d, 0xdf18c386
xor r9d, 0x9d0c0481
mov edx, eax
xor edx, r9d
mov r9d, 0x7e80dc50
xor r9d, 0x3c941b57
mov r10d, 0x4b1e4f7b
xor r10d, 0xb4e1b084
xor r9d, r10d
and eax, r9d
shl eax, 1
sub eax, edx
mov rdx, qword [r8 + 8]
add rdx, 8
add rdx, qword [r8]
mov qword [rsp + 0x40], rdx
add rcx, 8
mov qword [rsp + 0x48], rcx
cmp eax, 0x1ef6e03c
je 0x14017914c
xor eax, eax
mov qword [rsp + 0x38], rax
jmp 0x1401791eb
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
xor eax, eax
mov r8d, eax
sub r8, 1
mov rax, rcx
sub rax, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jne 0x1401791eb
mov eax, dword [0x14027c568]
add eax, dword [0x14027c56c]
mov ecx, 0x5c070118
xor edx, edx
div ecx
xor eax, 0x6bac2fb2
mov ecx, 0xffffffff
xor ecx, 0x7ad328f3
mov edx, 0x2ac897c3
xor edx, 0x2ac897c3
mov r8d, 0x5b61a1d2
xor r8d, 0x5b61a1d3
sub edx, r8d
sub ecx, edx
sub eax, ecx
cmp eax, 0x7b12c568
jbe 0x140179374
mov r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov edx, dword [0x14027c570]
xor edx, 0x29b36861
mov r8d, dword [0x14027c574]
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x4948fec0
add edx, eax
xor eax, eax
sub eax, edx
and eax, 0xaf066c12
sub eax, 0x18a98d22
mov r10, qword [rcx]
mov rdx, r10
add rdx, r9
mov qword [rsp + 0x28], rdx
mov r8, rdx
xor r8, 0xffffffffffffffff
mov rcx, r10
and rcx, r8
xor r10, 0xffffffffffffffff
mov r8, rdx
and r8, r10
or rcx, r8
mov r10, rdx
xor r10, 0xffffffffffffffff
mov r8, r9
and r8, r10
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x9464f28a
ja 0x140179374
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14017932b
jmp 0x140179335
call fcn.14000f24b
jmp 0x140179342
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
jmp 0x140179359
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.140177720
nop
add rsp, 0x98
ret
in al, dx
movsd dword [rdi], dword [rsi]
movsb byte [rdi], byte [rsi]
invalid
ficom dword [rdx + rdx]
stc
jmp 0x14017914c
adc ah, al
invalid
out dx, al
jmp 0x140179273