Function at 0x140178bf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x30], rcx
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.14017940c
add rsp, 0x20
mov qword [rbp - 8], rax
add rax, 0x60
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.1401500c0
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax + 0x60], 0
jne 0x140179113
mov ecx, 0x28
mov edx, 8
sub rsp, 0x20
call fcn.140016330
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
add rcx, 0x20
sub rsp, 0x20
call fcn.1401688f0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140179113
mov eax, dword [0x1401fbce0]
mov ecx, 0x56715e04
xor ecx, 0xf623b79c
xor eax, ecx
xor edx, edx
div dword [0x1401fbce4]
xor ecx, ecx
sub ecx, 0xa06a2f68
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x202e0cd7
xor eax, 0x202e0cd7
mov edx, 0x6250327a
xor edx, 0x67384d09
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x7de02672
xor ecx, 0x11c5aae9
and eax, ecx
cmp eax, 0xb168cdf9
jae 0x1401792bf
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x1401fbce8]
xor eax, 0xb99af42b
mov edx, dword [0x1401fbcec]
xor edx, 0x8f928b07
or eax, edx
mov r8d, 0x6bef2fed
xor edx, edx
div r8d
mov r8d, 0x1060db6e
xor r8d, 0x3888f1c7
mov edx, 0x12be1d8b
xor edx, 0xed41e274
xor r8d, edx
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0x28e82aa9
add eax, r8d
sub eax, edx
sub eax, 0x3f45958e
mov dword [rbp - 0x38], eax
mov rax, qword [0x140208958]
mov rdx, qword [rax]
mov qword [rbp + 0x30], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x38], rax
lea rdx, [rbp + 0x30]
sub rsp, 0x20
call fcn.14016fc50
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x38]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x164d33f
jb 0x140178d00
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140178db1
jmp 0x140179113
mov rcx, qword [rbp - 0x30]
mov rax, qword [0x140208878]
mov rdx, qword [rax]
mov qword [rbp + 0x20], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x28], rax
lea rdx, [rbp + 0x20]
sub rsp, 0x20
call fcn.14016fc50
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x5e
xor cl, 0x5e
cmp al, cl
jne 0x140179113
mov rcx, qword [0x140279d08]
sub rsp, 0x20
call fcn.1400670a0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x97
xor cl, 0x97
cmp al, cl
jne 0x140179113
mov cx, 0x2be0
xor cx, 0x2369
sub rsp, 0x20
call fcn.14006dfa0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov dword [rbp - 0x3c], ecx
cmp byte [rax], 0
jne 0x140179113
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.140080850
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp + 0x18]
mov qword [rbp - 0x48], rcx
mov al, byte [rax]
mov cl, 0x4c
xor cl, 0x4c
cmp al, cl
jne 0x140179113
mov eax, dword [0x1401fbcf0]
add eax, dword [0x1401fbcf4]
mov ecx, 0x52d736ea
xor ecx, 0x89987afd
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xa28c538a
xor r8d, 0x5d73ac75
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0xffffffff
xor edx, 0x1c87698e
mov r8d, 0xb142ee42
xor r8d, 0xadc587cc
mov r9d, 0x35362d0
xor r9d, 0xfcac9d2f
xor r8d, r9d
and edx, r8d
mov r8d, 0xe7e6c76e
xor r8d, 0x18193891
xor eax, r8d
mov r8d, 0xe034016
xor r8d, 0xf1fcbfe9
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xac32d3d0
xor edx, 0xb0b5ba5e
mov r8d, 0x28c9cfda
xor r8d, 0xd7363025
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x57b47027
xor ecx, 0xa84b8fd8
xor eax, ecx
mov ecx, 0x700211a7
xor ecx, 0x1a6f2c61
and eax, ecx
cmp eax, 0xdbc01ae9
jae 0x1401792c8
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x30]
mov edx, dword [0x1401fbcf8]
mov r10d, dword [0x1401fbcfc]
xor r10d, 0xd6fd9253
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, edx
and r8d, r11d
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x347813d1
and r8d, r9d
or edx, 0x347813d1
xor edx, 0xffffffff
or r8d, edx
xor r8d, 0xffffffff
mov edx, 0xe4cb994d
xor edx, 0x1b3466b2
mov r9d, r8d
xor r9d, edx
and r9d, 0x148e9d91
mov r10d, 0xffffffff
xor r10d, 0x148e9d91
mov edx, r8d
and edx, r10d
imul edx, r9d
mov r10d, 0x6a065078
xor r10d, 0x7e88cde9
mov r9d, r8d
and r9d, r10d
or r8d, 0x148e9d91
imul r8d, r9d
add r8d, edx
mov r9d, 0x1790f81
xor r9d, 0x12ff1f0c
mov edx, r8d
or edx, r9d
mov r9d, 0xf23e13c3
xor r9d, 0xdc1ec3c
xor edx, r9d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x1386108d
and r8d, r9d
mov r9d, 0x52033d04
xor r9d, 0xadfcc2fb
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
mov dword [rbp - 0x6c], edx
mov rdx, qword [rax]
add rdx, 0x18
sub rsp, 0x20
call fcn.140130a10
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp - 0x68], r8
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x60], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0x7829f410
jb 0x140178f47
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1401790ab
jmp 0x140179113
mov rdx, qword [rbp - 0x18]
mov ecx, dword [rbp - 0x3c]
mov rax, qword [rbp - 0x60]
mov r8, qword [rbp - 0x68]
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp - 0x50]
mov qword [rdx], r10
mov qword [rdx + 8], r9
mov qword [rbp], r8
mov qword [rbp + 8], rax
mov r8, rbp
sub rsp, 0x20
call fcn.1400a1340
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140179113
mov ecx, 0x7e
sub rsp, 0x20
call fcn.14006e1e0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xf7
xor cl, 0xf7
cmp al, cl
je 0x1401792b9
mov eax, dword [0x1401fbd00]
mov r8d, dword [0x1401fbd04]
mov ecx, 0x14f776ff
xor ecx, 0xeb088900
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov r8d, 0xc27cb145
xor r8d, 0x8eb2fbac
mov ecx, 0x81f2c7df
xor ecx, 0x7e0d3820
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xc896f52e
xor r8d, 0x37690ad1
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4cce4ae9
mov r8d, 0x2f7ba645
xor r8d, 0x63b5ecac
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x87c060f1
xor ecx, 0x127ec5a6
and eax, ecx
mov ecx, 0x44291c2c
xor ecx, 0x3846c6fc
sub eax, ecx
mov ecx, 0x5eb47869
xor ecx, 0xa0b7771e
cmp eax, ecx
ja 0x1401792d1
mov eax, dword [0x1401fbd08]
mov ecx, 0xb2daadfd
xor ecx, 0xc51fcb81
xor eax, ecx
mov ecx, dword [0x1401fbd0c]
xor ecx, 0x53eb2528
add eax, ecx
add eax, 0x623bca0a
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xf3e84045
xor ecx, 0xe6a93c32
mov edx, 0x9a535021
xor edx, 0x8f122c56
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
xor ecx, 0x461b32b1
xor ecx, 0xffffffff
or eax, 0x461b32b1
and eax, ecx
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.14016faf7
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x7c]
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp word [rcx + 0x12], 1
setg cl
mov byte [rbp - 0x6d], cl
cmp eax, 0x2111b9b
jbe 0x1401792d1
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x140179262
jmp 0x1401792b9
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1401792b9
mov rax, qword [rbp - 0x10]
mov cl, 0xe5
xor cl, 0xe5
mov byte [rax], cl
sub rsp, 0x20
call fcn.14016fb10
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14009f0c0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401792b9
sub rsp, 0x20
call fcn.14016bf50
add rsp, 0x20
lea rsp, [rbp + 0x40]
pop rbp
ret
invalid
and esp, dword [rsi]
test al, 0xba
jmp 0x140178f47
xchg edi, eax
cli
fistp word [rbx - 0x17]
in eax, 0xfe
invalid