Function at 0x1401382d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
mov qword [rbp], r8
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rcx, rax
mov rax, rcx
add rax, 0x60
mov qword [rbp + 0x40], rax
movabs rax, 0x3e6c0e358df2d28b
movabs rdx, 0x3e6c0e358df2d28b
xor rax, rdx
mov qword [rbp + 0x108], rax
lea rax, [rbp + 0x108]
add rax, 8
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x110], 0
movabs rax, 0x919cba44d947ed5c
movabs rdx, 0x919cba44d947ed5c
xor rax, rdx
mov qword [rbp + 0xf8], rax
lea rax, [rbp + 0xf8]
add rax, 8
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x100], 0
mov qword [rbp + 0xe8], 0
lea rax, [rbp + 0xe8]
add rax, 8
mov qword [rbp + 0x58], rax
mov qword [rbp + 0xf0], 0
mov al, 1
cmp byte [rcx + 0x60], 0
mov byte [rbp + 0x67], al
jne 0x1401389e2
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140092080
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
mov qword [rbp - 0x10], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp - 8], rax
jle 0x1401389d9
mov rcx, qword [rbp - 8]
mov qword [rbp - 0x20], rcx
mov rax, qword [rbp + 0xe8]
cmp rcx, rax
mov qword [rbp - 0x18], rax
jge 0x1401389c0
mov eax, dword [0x14027ab20]
imul eax, dword [0x14027ab24]
mov ecx, 0x34c064f1
xor edx, edx
div ecx
mov ecx, 0x17ce77e1
xor edx, edx
div ecx
imul eax, eax, 0x426fddb2
cmp eax, 0xf3646ca1
jae 0x140138d52
mov rcx, qword [rbp - 0x20]
mov esi, dword [0x14027ab28]
mov r11d, dword [0x14027ab2c]
mov edx, esi
xor edx, 0xffffffff
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xa96dedc6
mov eax, edx
and eax, 0xa96dedc6
and esi, r8d
mov r10d, r9d
and r10d, 0xa96dedc6
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0xa96dedc6
and edx, r8d
or eax, edx
mov r8d, 0xf5e69589
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x18]
mov r8d, eax
mov rax, qword [rbp + 0x58]
mov r9d, r8d
and r9d, 0x6a4f5fb4
xor r9d, 0xffffffff
add r8d, 0x6a4f5fb4
add r8d, 1
add r8d, r9d
mov r10d, 0x1d8fa003
xor r10d, 0xb6f68970
mov r9d, r8d
and r9d, r10d
shl r9d, 1
add r8d, 0xab792973
sub r8d, r9d
mov dword [rbp - 0x34], r8d
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x108]
sub rsp, 0x20
call fcn.1400344e0
mov rcx, qword [rbp - 0x20]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
mov rdx, qword [rbp + 0xe8]
mov qword [rbp - 0x30], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x21], cl
cmp eax, 0x92f1dde9
jb 0x140138d52
mov rax, qword [rbp - 0x30]
mov cl, byte [rbp - 0x21]
test cl, 1
mov qword [rbp - 0x18], rax
jne 0x1401385c2
jmp 0x1401389c0
mov eax, dword [0x14027ab30]
mov r8d, dword [0x14027ab34]
mov ecx, 0x5184d408
xor ecx, 0xae7b2bf7
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 ecx, 0x36257250
xor ecx, 0x36257250
mov edx, 0x59830c5
xor edx, 0xdce05c0
sub ecx, edx
sub eax, ecx
mov ecx, 0xce7198fd
xor ecx, 0x2240e1f3
xor edx, edx
div ecx
and eax, 0xfe00c692
cmp eax, 0x8ea268ef
ja 0x140138d5b
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x14027ab38]
xor edx, edx
div dword [0x14027ab3c]
mov r8d, 0x5e06b32d
xor r8d, 0xbb123d3b
xor edx, edx
div r8d
add eax, 0xb32f599f
mov r8d, 0xaf4944eb
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x58]
mov dword [rbp - 0x44], edx
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x10
mov rcx, qword [rax]
mov qword [rbp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.1400344e0
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x30]
add rsp, 0x20
mov r8, qword [rbp + 0x108]
mov qword [rcx], r8
mov r8, qword [rbp + 0x110]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140066a84
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x44]
mov qword [rbp - 0x40], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x35], cl
cmp eax, 0xc92a42a3
je 0x140138625
mov al, byte [rbp - 0x35]
test al, 1
jne 0x140138712
jmp 0x1401389d9
mov rax, qword [rbp - 0x40]
cmp rax, 0
jne 0x14013897e
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp - 0x18], rax
jge 0x1401389c0
mov rax, qword [rbp]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx + 8]
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rax]
mov qword [rbp + 0xb8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], rax
lea rdx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.1400344e0
add rsp, 0x20
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.1400921d0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x1d
xor cl, 0x1d
cmp al, cl
jne 0x140138bfc
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x140138863
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x31d288f077056fe9
movabs r8, 0x71d288f077056fe9
xor rdx, r8
movabs r8, 0x4cbee69ea55cb5bc
movabs r9, 0xb34119615aa34a43
xor r8, r9
xor rdx, r8
or rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
movabs rdx, 0x5c833a907316c6f7
movabs r8, 0xa37cc56f8ce93908
xor rdx, r8
xor rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x140138863
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov eax, dword [0x14027ab40]
or eax, dword [0x14027ab44]
and eax, 0xa8d9abfb
mov ecx, eax
xor ecx, 0x8e19625c
xor ecx, 0xffffffff
and ecx, 0x8e19625c
shl ecx, 1
mov edx, 0x438adcec
xor edx, 0xcd93beb0
sub ecx, edx
sub eax, ecx
mov ecx, 0xf744d7ee
xor ecx, 0x9908bdf5
xor eax, ecx
cmp eax, 0xcea8873c
ja 0x140138d64
mov rcx, qword [rbp + 0x48]
mov eax, dword [0x14027ab48]
and eax, dword [0x14027ab4c]
mov edx, eax
and edx, 0x9ea6d061
xor edx, 0xffffffff
mov r8d, 0x37f6d463
xor r8d, 0xa9500402
add eax, r8d
add eax, 1
add eax, edx
mov r8d, 0x46fb38f
xor edx, edx
div r8d
mov edx, 0x880083b3
xor edx, 0xba02f4a5
mov r8d, 0x7aa35e30
xor r8d, 0x855ca1cf
xor edx, r8d
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xcd85cf84
jae 0x1401388af
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140138bfc
jmp 0x14013893d
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
movabs rcx, 0x228ad8336563c423
movabs rdx, 0x628ad8336563c423
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140138bfc
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
jmp 0x140138bfc
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x20]
mov rdx, rax
and rdx, 1
shl rdx, 1
movabs r8, 0xe9e2b898e5155834
movabs r9, 0xe9e2b898e5155835
xor r8, r9
xor rax, r8
add rax, rdx
cmp rax, rcx
mov qword [rbp - 8], rax
je 0x1401389d9
jmp 0x140138455
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov al, byte [rax]
mov byte [rbp + 0x67], al
mov rax, qword [rbp + 0x40]
mov cl, byte [rbp + 0x67]
mov byte [rbp - 0x62], cl
cmp cl, 0
sete cl
mov byte [rbp - 0x61], cl
mov byte [rax], 0
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.1400921d0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140138bf7
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140138a8c
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x99afe7112b871ed8
movabs rdx, 0x99afe7112b871ed8
xor rcx, rdx
cmp rax, rcx
jne 0x140138a8c
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x140138be3
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xf13a5db1998f7520
movabs r8, 0xb13a5db1998f7520
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140138be3
mov eax, dword [0x14027ab50]
sub eax, dword [0x14027ab54]
mov ecx, 0x2e12fa06
xor ecx, 0x5bd88da6
xor eax, ecx
mov r8d, 0x530e5010
xor r8d, 0xaf673304
mov ecx, 0xa3870a75
xor ecx, 0x5c78f58a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x90fa6735
xor r8d, 0x6f0598ca
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfc696314
mov r8d, 0x570e7c26
xor r8d, 0xab671f32
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xc85c21f3
xor ecx, 0xa3ee7dda
and eax, ecx
cmp eax, 0x207cb0e1
ja 0x140138d6d
mov rcx, qword [rbp - 0x78]
mov edx, dword [0x14027ab58]
imul edx, dword [0x14027ab5c]
mov r8d, 0xffffffff
xor r8d, 0xc88a87c0
mov eax, edx
xor eax, r8d
and eax, edx
mov edx, 0xae8b73b6
xor edx, 0xf1c716cc
mov r8d, 0x9c71347e
xor r8d, 0x638ecb81
xor edx, r8d
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov r8d, 0x4149736e
xor edx, edx
div r8d
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.14001d1d6
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, 0x733767c9
ja 0x140138b69
jmp 0x140138be3
mov al, byte [rbp - 0x61]
mov rcx, qword [rbp + 0x40]
mov dl, byte [rbp - 0x62]
mov byte [rcx], dl
test al, 1
jne 0x140138ca9
jmp 0x140138d48
mov eax, dword [0x14027ab60]
mov edx, dword [0x14027ab64]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x8cd4d22d
add eax, ecx
mov ecx, 0x6519403
xor ecx, 0x6519402
add eax, ecx
xor eax, 0x6734a577
imul eax, eax, 0x876474da
cmp eax, 0x10a32f26
je 0x140138d76
mov eax, dword [0x14027ab68]
mov ecx, dword [0x14027ab6c]
xor ecx, 0xdb2cc23
xor eax, ecx
mov ecx, 0x5284c41a
xor ecx, 0x1dae59ee
or eax, ecx
sub eax, 0xe3ce486e
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xf81cbc41
mov edx, 0xffffffff
xor edx, 0xf81cbc41
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x46e54a45
jae 0x140138c4e
jmp 0x140138d48
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x88]
sub rsp, 0x20
call fcn.140039831
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x118], rdx
add byte [rax - 0x75], cl
lea edx, [rax + 0x48000000]
mov dword [rbp + 0x118], edx
mov qword [rbp + 0x120], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x68]
sub rsp, 0x20
call fcn.140039831
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x128], rdx
mov qword [rbp + 0x130], rax
lea rdx, [rbp + 0x118]
sub rsp, 0x20
call fcn.14003c310
add rsp, 0x20
add esp, 0x20
lea rsp, [rbp + 0x138]
pop rsi
pop rbp
ret
je 0x140138cdd
sub dword [rbx - 0x8b917], esi
invalid
in al, dx
add al, 0xd3
jmp 0x140138625
ja 0x140138d45
invalid
scasb al, byte [rdi]
clc
cmp byte [rcx + rbp*8 - 0xd], al
std
invalid
fdiv dword [rax - 0x30162523]
invalid