Function at 0x140178980
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rcx
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.140178f36
add rsp, 0x20
mov qword [rbp + 8], rax
add rax, 0x60
mov qword [rbp - 0x18], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001217d
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp], rax
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140023263
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx + 8], r8
mov rax, qword [rax + 8]
mov qword [rdx + 0x10], rax
mov rcx, qword [rcx]
add rcx, 0x20
sub rsp, 0x20
call fcn.140165570
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax + 0x60], 0
jne 0x140178d8f
mov eax, dword [0x1401d1b58]
mov ecx, dword [0x1401d1b5c]
mov edx, 0x8821f731
xor edx, 0x9a3cf01e
xor ecx, edx
xor edx, edx
div ecx
add eax, 0xd9efa1a
mov r8d, 0xffffffff
xor r8d, 0xf91fd1be
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x9ac8b8f9
xor r8d, 0x63d76947
mov edx, eax
and edx, r8d
or eax, 0xf91fd1be
imul eax, edx
add eax, ecx
mov r8d, 0x6e405a11
xor r8d, 0x80e0e46e
mov ecx, 0x2755ea57
xor ecx, 0xd8aa15a8
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xa66dc063
xor r8d, 0x59923f9c
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xeea0be7f
or eax, 0xeea0be7f
imul eax, edx
add eax, ecx
cmp eax, 0x213a71db
jae 0x140178f1b
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401d1b60]
mov edx, 0x13ad5024
xor edx, 0x46a10578
xor eax, edx
imul eax, dword [0x1401d1b64]
add eax, 0xd6ab5d7
mov edx, 0x61a024d9
xor edx, 0xe762fe40
imul eax, edx
mov edx, 0x8042b635
xor edx, 0xa310a972
xor eax, edx
mov dword [rbp - 0x38], eax
mov eax, 0x1061109a
xor eax, 0x9c761c14
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.140175680
mov rdx, qword [rbp - 0x18]
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 0x140178b08
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140178b8e
jmp 0x140178d8f
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140178810
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140178d8f
mov eax, dword [0x1401d1b68]
xor edx, edx
div dword [0x1401d1b6c]
or eax, 0x9ddf55f2
and eax, 0xd52e9b4c
mov ecx, 0xd7d2a42c
xor ecx, 0x5562d887
imul eax, ecx
cmp eax, 0x4d4ac6a6
jb 0x140178f24
mov eax, dword [0x1401d1b70]
mov edx, dword [0x1401d1b74]
mov ecx, 0x223918e8
xor ecx, 0x1aeefb0f
xor edx, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, eax
xor r8d, 0xffffffff
or ecx, r8d
and ecx, edx
mov r8d, 0x85991667
xor r8d, 0x7a66e998
xor ecx, r8d
and edx, edx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0x106e9a55
mov eax, ecx
and eax, 0xbd8fa1aa
xor ecx, 0xbd8fa1aa
or eax, ecx
mov ecx, 0x303b1a38
xor ecx, 0x303b1a38
mov edx, 0xf5d357ce
xor edx, 0x899fcbb2
sub ecx, edx
add eax, ecx
mov dword [rbp - 0x48], eax
mov eax, 0x4674593f
xor eax, 0x493bf2e9
mov dword [rbp - 0x4c], eax
mov ecx, 0xb8
sub rsp, 0x20
call fcn.140062d70
mov rdx, qword [rbp - 0x18]
mov ecx, dword [rbp - 0x4c]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x44], r8d
mov dl, byte [rdx]
mov r8b, 6
xor r8b, 6
cmp dl, r8b
sete dl
mov byte [rbp - 0x3d], dl
cmp eax, ecx
je 0x140178f24
mov al, byte [rbp - 0x3d]
test al, 1
jne 0x140178cb5
jmp 0x140178d8f
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140076e6a
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rbp + 0x28]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x140178d8f
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.140115220
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov qword [rbp - 0x70], rcx
mov rcx, qword [rbp + 0x18]
mov qword [rbp - 0x68], rcx
mov al, byte [rax]
mov cl, 0x57
xor cl, 0x57
cmp al, cl
jne 0x140178d8f
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x28]
mov ecx, dword [rbp - 0x44]
mov rax, qword [rbp - 0x68]
mov r9, qword [rbp - 0x70]
mov r10, qword [rbp - 0x58]
mov r11, qword [rbp - 0x60]
mov qword [rdx], r11
mov qword [rdx + 8], r10
mov qword [r8], r9
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140093740
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140178d8f
mov ecx, 0x2a
sub rsp, 0x20
call fcn.140062fea
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
je 0x140178f15
sub rsp, 0x20
call fcn.140171b86
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x140178f15
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x22015d01
xor ecx, 0xf6041487
cmp eax, ecx
jne 0x140178f15
mov eax, dword [0x1401d1b78]
xor eax, 0xa9a04506
mov edx, dword [0x1401d1b7c]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0xa6e7a639
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x8ab3ebe0
xor ecx, 0xffffffff
or eax, 0x8ab3ebe0
and eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x3a4ea53
xor edx, 0x5af88dbc
or eax, edx
add eax, ecx
cmp eax, 0x32e1fc76
jae 0x140178f2d
mov ecx, dword [0x1401d1b80]
and ecx, dword [0x1401d1b84]
or ecx, 0x1b90314e
mov edx, 0x59cd0adf
xor edx, 0xa632f520
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xe2adb0f9
or edx, 0xe2adb0f9
xor edx, 0xffffffff
mov r8d, 0x8858fb85
xor r8d, 0x77a7047a
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0xd0f6f0cc
xor edx, 0x2f090f33
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xe2adb0f9
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x4dc7c7d5
xor edx, 0xb238382a
xor ecx, edx
and eax, ecx
mov ecx, 0xe62d9e94
xor ecx, 0x97c0df2
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0x80], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.140171b98
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140091980
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x80]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xd9
xor dl, 0xd9
cmp cl, dl
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0x96add1db
ja 0x140178e28
in al, dx
and al, ch
invalid
mov al, byte [rbp - 0x79]
test al, 1
jne 0x140178f08
jmp 0x140178f15
sub rsp, 0x20
call fcn.140171b60
add rsp, 0x20
lea rsp, [rbp + 0x30]
pop rbp
ret
mov ecx, 0xe9d39179
in al, 0xfb
invalid
cmpsb byte [rsi], byte [rdi]
jle 0x140178ebc
mov edi, 0xfffcb0e9
jmp qword [rdi - 0x2a]
invalid