Function at 0x140149450
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov dword [rsp + 0x4c], ecx
call fcn.140148555
mov ecx, dword [rsp + 0x4c]
mov qword [rsp + 0x50], rax
movsxd rax, ecx
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 0
lea rcx, [rsp + 0x78]
mov edx, 0x30
call fcn.140148570
mov dword [rsp + 0x78], 0x30
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x70]
mov edx, 0x400
lea r8, [rsp + 0x78]
lea r9, [rsp + 0xa8]
mov rax, qword [0x1402647d0]
call qword [rax]
mov ecx, eax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x5c], ecx
mov al, byte [rax]
mov cl, 0x14
xor cl, 0x14
cmp al, cl
jne 0x1401499f7
mov eax, dword [rsp + 0x5c]
test eax, eax
setne al
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x40], rcx
test rcx, rcx
sete cl
or al, cl
test al, 1
jne 0x14014953d
jmp 0x1401495bd
mov ecx, 0x40
mov edx, 8
call fcn.140012610
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
movabs rax, 0xff5e0530089e09ca
movabs rdx, 0xa1facfba5937f6
xor rax, rdx
lea rdx, [0x1402639e8]
lea r8, [0x140263a33]
lea r9, [0x140263a02]
mov qword [rsp + 0x20], rax
call fcn.14001203f
jmp 0x1401499f7
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x68], 0
mov rax, qword [str.He_]
mov rax, qword [rax]
mov edx, 0x97a2b6ee
xor edx, 0x97a2b6e8
lea r8, [rsp + 0x68]
call rax
mov ecx, eax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ecx
cmp byte [rax], 0
jne 0x1401499f7
mov eax, dword [rsp + 0x3c]
mov ecx, 0xc1e7b197
xor ecx, 0xc1e7b197
cmp eax, ecx
je 0x14014967f
mov ecx, 0x40
mov edx, 8
call fcn.140012610
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, [0x140263a33]
lea r9, [0x140263a02]
mov qword [rsp + 0x20], 0xffffffff84e8a983
call fcn.14001203f
jmp 0x1401499f7
mov eax, dword [0x140253f68]
xor eax, 0xc6ea7f22
mov ecx, dword [0x140253f6c]
add eax, 0x2f5621a6
sub eax, ecx
sub eax, 0x2f5621a6
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb3da722a
mov r8d, 0xbdc8b291
xor r8d, 0xe12c0bb
mov ecx, 0x5c57f9ff
xor ecx, 0xa3a80600
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xb3da722a
or eax, 0xb3da722a
imul eax, edx
add eax, ecx
add eax, 0x41db1e27
imul eax, eax, 0xba0d9471
cmp eax, 0xc16bb76e
ja 0x140149ad7
mov eax, dword [0x140253f70]
mov ecx, dword [0x140253f74]
xor ecx, 0x85901422
sub eax, ecx
mov ecx, 0xe5d04a08
xor ecx, 0x1a2fb5f7
mov edx, eax
xor edx, ecx
and edx, 0x2c2efe7
mov r8d, 0xe7758158
xor r8d, 0xe5b76ebf
mov ecx, 0x859b391e
xor ecx, 0x7a64c6e1
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2c2efe7
or eax, 0x2c2efe7
imul eax, edx
add eax, ecx
mov r8d, 0x4d6cb956
xor r8d, 0xb83c609c
mov ecx, 0xfe5fafb0
xor ecx, 0x1a0504f
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xd5b6e148
xor r8d, 0x20e63882
mov edx, eax
and edx, r8d
or eax, 0xf550d9ca
imul eax, edx
add eax, ecx
mov edx, eax
and edx, 0x244118b7
mov ecx, 0xf6307df4
xor ecx, 0xf6307df6
imul ecx, edx
add eax, 0x244118b7
sub eax, ecx
mov dword [rsp + 0x30], eax
mov eax, 0xd6947c82
xor eax, 0xeb9e5f4e
mov dword [rsp + 0x2c], eax
mov qword [rsp + 0x60], 0
mov rcx, qword [rsp + 0x68]
mov edx, 2
lea r8, [rsp + 0x60]
call fcn.1400a6308
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x2c]
mov r8d, eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x34], r8d
mov dl, byte [rdx]
mov r8b, 0x4b
xor r8b, 0x4b
cmp dl, r8b
sete dl
mov byte [rsp + 0x3b], dl
cmp eax, ecx
jb 0x140149ad7
mov al, byte [rsp + 0x3b]
test al, 1
jne 0x140149824
jmp 0x1401499f7
mov eax, dword [rsp + 0x34]
cmp eax, 0
jne 0x14014989e
mov ecx, 0x40
mov edx, 8
call fcn.140012610
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, [0x140263a33]
lea r9, [0x140263a02]
mov qword [rsp + 0x20], 0xffffffffaa869895
call fcn.14001203f
jmp 0x1401499f7
mov rdx, qword [rsp + 0x60]
xor eax, eax
mov ecx, eax
call fcn.1400a633b
mov ecx, eax
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
test al, al
sete al
test ecx, ecx
sete cl
and al, cl
test al, 1
jne 0x1401498ce
jmp 0x1401499f7
mov eax, dword [0x140253f78]
mov edx, dword [0x140253f7c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
or eax, 0xe34acae
mov ecx, 0xaccf7b8a
xor ecx, 0x53308475
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xa65656e3
mov ecx, 0xffffffff
xor ecx, 0x8806851d
or eax, edx
or ecx, 0x8806851d
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0x6ffdfe21
cmp eax, 0xdb7fec1f
je 0x140149ae0
mov eax, dword [0x140253f80]
and eax, dword [0x140253f84]
add eax, 0x949a59d5
or eax, 0xa6b1f1af
mov ecx, 0xd8e9fd50
xor ecx, 0x709f77fb
sub eax, ecx
sub eax, 0xe332693b
add eax, 0xa8768aab
mov dword [rsp + 0x28], eax
movabs rcx, 0xd65699314413a37e
movabs rax, 0xd65699314413a33e
xor rcx, rax
movabs rdx, 0x67e4657596695924
movabs rax, 0x67e465759669592c
xor rdx, rax
call fcn.140012610
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, [0x140263a33]
lea r9, [0x140263a02]
mov qword [rsp + 0x20], 0xffffffffafd4f5be
call fcn.14001203f
mov eax, dword [rsp + 0x28]
cmp eax, 0x2ef7d4c
jb 0x140149926
jmp 0x1401499f7
mov eax, dword [0x140253f88]
xor edx, edx
div dword [0x140253f8c]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x61e610a5
mov edx, 0xffffffff
xor edx, 0x61e610a5
and ecx, edx
or eax, ecx
mov ecx, 0xda477a2b
xor ecx, 0x25b885d4
xor eax, ecx
sub eax, 0x90e419da
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xbe57a6ff
xor edx, 0xf0e7604
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xb159d0fb
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xd4e9d66c
xor r8d, 0x65b00697
mov edx, eax
and edx, r8d
or eax, 0xb159d0fb
imul eax, edx
add eax, ecx
cmp eax, 0x13420f3d
jb 0x140149ae9
mov ecx, dword [0x140253f90]
or ecx, dword [0x140253f94]
mov eax, ecx
and eax, 0x9e25691a
or ecx, 0x9e25691a
add eax, ecx
mov ecx, eax
and ecx, 0xc28a4bf
mov edx, 0x66377a33
xor edx, 0x99c885cc
xor ecx, edx
add eax, 0xc28a4bf
add eax, 1
add eax, ecx
imul eax, eax, 0x3e5d26f8
cmp eax, 0x21221e2a
jbe 0x140149ae9
add rsp, 0xb8
ret
jmp 0x12926e474
push rbx
iretd
mov word [rsi], ds
jmp 0x13fa78452