Function at 0x140178af0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x40], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.14019ba7e
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov qword [rbp - 0x18], rax
add rax, 0x50
mov qword [rbp - 0x30], rax
mov edx, 0x10
sub rsp, 0x20
call fcn.140159480
add rsp, 0x20
lea rcx, [rbp - 0x10]
mov edx, 0x30
sub rsp, 0x20
call fcn.140159480
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
lea rdx, [rbp - 0x10]
sub rsp, 0x20
call fcn.1400cfdb0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax + 0x50], 0
jne 0x140178d65
mov eax, dword [0x1402553c0]
xor eax, 0xaa04a7c1
xor eax, dword [0x1402553c4]
mov ecx, 0x39479507
xor ecx, 0x1cbb0d3e
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x48146c06
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x48146c06
or eax, 0x48146c06
imul eax, edx
add eax, ecx
xor eax, 0xcc5e17b4
mov ecx, 0x39c3c6ea
xor ecx, 0x64f0a51f
cmp eax, ecx
jb 0x140178eb9
mov eax, dword [0x1402553c8]
mov ecx, dword [0x1402553cc]
xor ecx, 0xfe1b33b0
xor edx, edx
div ecx
xor eax, 0x75db0554
add eax, 0x48445096
and eax, 0x4f47c05a
mov cl, byte [rbp - 0x10]
test cl, cl
sete cl
lea rdx, [rbp - 8]
mov qword [rbp - 0x58], rdx
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x50], rdx
test rdx, rdx
setle dl
or cl, dl
mov byte [rbp - 0x41], cl
cmp eax, 0x28dfc123
je 0x140178bff
mov rcx, qword [rbp - 0x50]
mov dl, byte [rbp - 0x41]
xor eax, eax
test dl, 1
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x59], al
jne 0x140178d54
jmp 0x140178c70
mov eax, dword [0x1402553d0]
add eax, dword [0x1402553d4]
mov edx, 0x48643ea6
xor edx, 0x48643ea7
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x2a583c8
add eax, ecx
and eax, 0x3ee48acd
sub eax, 0x33d3f1e5
mov ecx, 0xf7c2267d
xor ecx, 0xe4c216c2
cmp eax, ecx
je 0x140178ec2
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1402553d8]
mov edx, 0x59a094ce
xor edx, 0xea49b4e9
xor eax, edx
and eax, dword [0x1402553dc]
and eax, eax
xor eax, 0xffffffff
mov edx, 0xb3e3978a
and edx, 0xb3e3978a
mov r8d, 0xd2cb85a6
xor r8d, 0x2d347a59
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and eax, 0x28f09d76
sub eax, 0x6c43c860
mov dword [rbp - 0x70], eax
sub rsp, 0x20
call fcn.14009b210
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp - 0x70]
mov byte [rbp - 0x6a], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x6673da48
jb 0x140178cb2
mov al, byte [rbp - 0x69]
test al, 1
jne 0x140178d41
jmp 0x140178d65
mov rcx, qword [rbp - 0x58]
mov al, byte [rbp - 0x6a]
and al, 1
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x59], al
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x68]
mov dl, byte [rbp - 0x59]
mov byte [rax], dl
mov qword [rax + 8], rcx
mov rax, qword [rbp - 0x28]
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x140178e0d
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x6762834aab353ecd
movabs r8, 0x989d7cb554cac132
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x6b04a8399370f503
movabs rdx, 0x6b04a8399370f503
xor rcx, rdx
cmp rax, rcx
jne 0x140178e0d
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov ecx, dword [0x1402553e0]
or ecx, dword [0x1402553e4]
or ecx, 0x628b9a53
mov eax, ecx
and eax, 0xab409a4
mov edx, 0x9bd462c9
xor edx, 0x91606b6d
xor ecx, edx
or eax, ecx
add eax, 0xe0a47169
cmp eax, 0x46fd7f7a
jb 0x140178ecb
mov eax, dword [0x1402553e8]
mov ecx, dword [0x1402553ec]
sub eax, 0x707b88ff
sub eax, ecx
add eax, 0x707b88ff
mov ecx, 0xb3a3a530
xor ecx, 0xab58634c
mov edx, 0xd0cfbd5d
xor edx, 0x2f3042a2
xor ecx, edx
mov edx, 0x581fd235
xor edx, 0x581fd235
mov r8d, 0x9d33e4b8
xor r8d, 0x9d33e4b9
sub edx, r8d
sub ecx, edx
sub eax, ecx
imul eax, eax, 0x46da0108
xor ecx, ecx
sub ecx, 0x794be92f
sub eax, ecx
cmp eax, 0x7c50789c
jb 0x140178e45
ret 0xd129
mov rax, qword [rbp - 0x40]
lea rsp, [rbp + 0x20]
pop rbp
ret
or ebx, ebp
sub al, 0x4c
jmp 0x140178bff
invalid
js 0x140178e8f
adc al, 0xe9
jno 0x140178ed1
invalid
invalid