Function at 0x140149ba0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x20], r9
mov dword [rbp + 0xc], r8d
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x30
call fcn.14024abd0
sub rsp, rax
mov rdi, rsp
mov qword [rbp + 0x10], rdi
sub rsp, 0x20
call fcn.140148555
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rbp + 0x18], rcx
mov qword [rax], 0
mov rcx, rax
add rcx, 8
mov qword [rbp], rcx
mov qword [rax + 8], 0
mov qword [rbp + 0x60], 0
movabs rdx, 0x8b5a3564253952b8
movabs rax, 0x8b5a356425395288
xor rdx, rax
sub rsp, 0x20
mov rcx, rdi
call fcn.140148570
mov r8d, dword [rbp + 0xc]
add rsp, 0x20
mov al, 0x53
xor al, 0x53
movabs rcx, 0x22343a3c9fcc652
movabs rdx, 0x22343a3c9fcc662
xor rcx, rdx
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x10]
mov dword [rax], 0x30
mov edx, 0x7e51fed1
xor edx, 0x7e51fed1
mov ecx, 0xcc29f56f
xor ecx, 0xcc29f56b
cmp r8d, edx
cmove r8d, ecx
mov dword [rax + 0x14], r8d
mov word [rbp + 0x5e], 0x518
lea rcx, [rbp + 0x5e]
sub rsp, 0x20
call fcn.140061b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x14014a0a8
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
mov qword [rbp - 0x38], rdx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.140019cc0
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 0x48]
sub rsp, 0x20
call fcn.14014a290
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140019cc0
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x38], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x38]
sub rsp, 0x20
call fcn.14014a290
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x28], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x28]
sub rsp, 0x20
call fcn.140148b5c
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x14014a0a8
mov eax, dword [0x140253f98]
xor eax, 0xbdb81f36
mov ecx, dword [0x140253f9c]
xor ecx, 0x5bef7b36
xor eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xcfabeab7
mov ecx, 0xffffffff
xor ecx, 0xf92b8ba4
or eax, edx
or ecx, 0xf92b8ba4
mov edx, 0x9f3c5ce
xor edx, 0xf60c3a31
xor eax, edx
and eax, ecx
mov ecx, 0xadfbf2
xor ecx, 0x57bd0f70
mov edx, 0xc97f670d
xor edx, 0x368098f2
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0x8659e8a9
xor edx, edx
div ecx
cmp eax, 0x16c6672f
ja 0x14014a274
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140253fa0]
xor eax, 0x22e17cdb
mov r9d, dword [0x140253fa4]
sub eax, 0x3efeefaf
add eax, r9d
mov r9d, 0xf996463c
xor r9d, 0xc768a993
add eax, r9d
xor r9d, r9d
sub r9d, 0xbfe4f9bf
sub eax, r9d
mov r9d, 0x12ebbab7
xor r9d, 0xdf7062f4
and eax, r9d
mov r9d, 0x160577af
xor r9d, 0xdfe9cb31
xor eax, r9d
mov dword [rbp - 0x44], eax
mov eax, 0x202ceb9
xor eax, 0x3ab04f58
mov dword [rbp - 0x48], eax
lea r9, [rbp + 0x60]
sub rsp, 0x20
call fcn.1400b2a60
mov rdx, qword [rbp + 0x18]
mov ecx, dword [rbp - 0x48]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x44]
mov dword [rbp - 0x40], r8d
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x39], dl
cmp eax, ecx
ja 0x140149dfc
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140149eb2
jmp 0x14014a0a8
mov ecx, dword [0x140253fa8]
xor ecx, 0xa5aee735
mov r8d, dword [0x140253fac]
mov eax, 0xe3fa6c74
xor eax, 0xba97647f
xor r8d, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
sub ecx, 0xf26690aa
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0x7a685a1e
xor eax, 0x6482a737
and eax, edx
mov edx, 0xffffffff
xor edx, 0x1eeafd29
and ecx, edx
or eax, ecx
mov ecx, eax
and ecx, 0x22307d4d
shl ecx, 1
xor eax, 0x22307d4d
add eax, ecx
cmp eax, 0x7712961
je 0x14014a27d
mov ecx, dword [rbp - 0x40]
mov eax, dword [0x140253fb0]
mov r8d, dword [0x140253fb4]
xor r8d, 0xe7bb5136
mov edx, 0x23464b92
xor edx, 0x23464b92
sub edx, r8d
add eax, edx
imul eax, eax, 0x53819d83
sub eax, 0x844d08bf
mov r8d, 0xa78e2211
xor edx, edx
div r8d
cmp ecx, 0
setl cl
mov byte [rbp - 0x49], cl
cmp eax, 0x73d3d6ca
je 0x14014a27d
mov al, byte [rbp - 0x49]
test al, 1
jne 0x140149f9c
jmp 0x14014a03d
movabs rcx, 0x4b5c17fb50bff60d
movabs rax, 0x4b5c17fb50bff64d
xor rcx, rax
movabs rdx, 0x3c567cee2e67d04f
movabs rax, 0x3c567cee2e67d047
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x1402639e8]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263a98]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140263aa0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1402639e8]
lea r8, [0x140263a65]
lea r9, [0x140263a02]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x1d62550a
call fcn.14001203f
add rsp, 0x30
jmp 0x14014a0a8
mov eax, dword [rbp - 0x40]
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp + 0x60]
mov qword [rdx], r8
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
cmp rcx, 0
mov dword [rbp - 0x50], eax
je 0x14014a26a
mov eax, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x58]
movabs rdx, 0x4000000000000000
and rdx, qword [rcx]
movabs r8, 0x1bda2a7e9f0de4a0
movabs r9, 0x1bda2a7e9f0de4a0
xor r8, r9
cmp rdx, r8
mov qword [rbp - 0x68], rcx
mov ecx, eax
mov dword [rbp - 0x5c], ecx
mov dword [rbp - 0x50], eax
je 0x14014a24d
jmp 0x14014a26a
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rbp - 0x70], rcx
xor eax, eax
cmp rcx, 0
mov dword [rbp - 0x50], eax
je 0x14014a26a
mov r11d, dword [0x140253fb8]
mov r10d, dword [0x140253fbc]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xba068193
xor edx, 0x621d6b86
mov eax, 0xe20641bd
xor eax, 0x1df9be42
xor edx, eax
mov eax, ecx
and eax, 0xd81bea15
and r11d, edx
mov r9d, r8d
and r9d, 0xd81bea15
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x9b8136de
xor r8d, 0x647ec921
xor ecx, r8d
or edx, 0xd81bea15
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x38439e28
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x8a13de47
xor r8d, 0x75ec21b8
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x38439e28
mov r8d, 0xab104201
xor r8d, 0x9353dc29
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0x150d9635
sub eax, 0x9f6b6fa2
cmp eax, 0x2c97ee9d
je 0x14014a286
mov rdx, qword [rbp - 0x70]
mov eax, dword [0x140253fc0]
mov r8d, dword [0x140253fc4]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, r8d
mov r9d, 0x483d16d2
xor r9d, 0xb7c2e92d
xor r8d, r9d
and eax, r8d
sub eax, ecx
mov r8d, 0x7d6a6ee9
xor r8d, 0x29204f77
mov ecx, 0xdde4bc3b
xor ecx, 0x221b43c4
xor r8d, ecx
mov ecx, eax
xor ecx, r8d
and ecx, eax
mov eax, ecx
and eax, 0x7a85a583
xor ecx, 0x7a85a583
or eax, ecx
add eax, 0xc8806850
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x9cc8f068f943d956
movabs r8, 0x9cc8f068f943d956
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x895c66ff
jae 0x14014a286
mov rcx, qword [rbp - 0x70]
mov dl, byte [rbp - 0x71]
xor eax, eax
test dl, 1
mov qword [rbp - 0x68], rcx
mov ecx, eax
mov dword [rbp - 0x5c], ecx
mov dword [rbp - 0x50], eax
jne 0x14014a24d
jmp 0x14014a26a
mov rcx, qword [rbp - 0x68]
mov eax, dword [rbp - 0x5c]
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.14000eec9
mov eax, dword [rbp - 0x78]
add rsp, 0x20
mov dword [rbp - 0x50], eax
mov eax, dword [rbp - 0x50]
lea rsp, [rbp + 0x68]
pop rdi
pop rbp
ret
and rax, 0x7fe9c91e
sti
invalid
cmp bl, byte [rdx - 0x4a16a4a2]
cld
invalid
add eax, esi
sbb byte [rcx - 0x10017], dl
call qword [rax + 0x78ec8348]
sub rsp, 0x78