Function at 0x140049a50
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rcx
mov eax, dword [0x1402024f0]
xor eax, 0xf3cee25a
mov r8d, dword [0x1402024f4]
xor r8d, 0x6b31e1be
mov edx, 0x35cfd4bb
xor edx, 0xca302b44
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov ecx, 0x3cd0fe9c
xor ecx, 0xc32f0163
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x271ab1ce
mov ecx, 0xe0d7fd7b
xor ecx, 0xb96377a3
add eax, ecx
xor ecx, ecx
sub ecx, 0x7c872c9e
add eax, ecx
cmp eax, 0xd25bfe6a
jb 0x140049f7c
mov eax, dword [0x1402024f8]
mov ecx, dword [0x1402024fc]
xor eax, 0xa0010800
not ecx
or eax, ecx
or eax, 0x59ac1747
and eax, 0xfded1fef
xor eax, 0x44b04421
mov dword [rbp + 0x10], eax
mov eax, 0x10
mov qword [rbp - 8], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 8]
mov rdx, rsp
mov qword [rbp - 0x10], rdx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 8], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140049f8e
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x10]
mov byte [rbp + 0x17], cl
cmp eax, 0x609b003a
jae 0x140049f7c
mov al, byte [rbp + 0x17]
test al, 1
jne 0x140049b82
jmp 0x140049b94
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140049f72
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
cmp rax, 0
jge 0x140049bcd
mov rcx, qword [rbp - 0x18]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x140049f72
mov eax, dword [0x140202500]
mov edx, dword [0x140202504]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
or eax, 0x82db53b7
mov ecx, eax
and ecx, 0x64db3c86
xor ecx, 0xffffffff
add eax, 0x64db3c86
add eax, 1
add eax, ecx
mov ecx, 0xb7649ce7
xor ecx, 0x826daa2d
add eax, ecx
cmp eax, 0x7fe37f7b
ja 0x140049f85
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x18]
mov eax, dword [0x140202508]
mov r9d, dword [0x14020250c]
mov r10d, eax
and r10d, r9d
mov r8d, 0xc32f04fd
xor r8d, 0xc32f04ff
imul r8d, r10d
add eax, r9d
sub eax, r8d
sub eax, 0x1faf6d3e
xor r8d, r8d
sub r8d, 0xf04d3dc4
add eax, r8d
xor r8d, r8d
sub r8d, eax
xor eax, eax
sub eax, 0x668859e5
add r8d, eax
xor eax, eax
sub eax, r8d
mov dword [rbp - 0x34], eax
sub rsp, 0x20
call fcn.14001a990
mov r8, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
mov rdx, qword [r8]
add r8, 8
mov qword [rbp - 0x30], r8
add rcx, 8
mov qword [rbp - 0x28], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp - 0x20], rcx
cmp eax, 0x6f86cb8d
je 0x140049c16
xor eax, eax
mov qword [rbp - 0x40], rax
jmp 0x140049cc0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x48], rax
cmp rax, rcx
je 0x140049f1c
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x140049d45
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
xor eax, eax
sub rax, rdx
movabs rdx, 0x27d3925d1398fceb
movabs r8, 0x27d3925d1398fceb
xor rdx, r8
movabs r8, 0x77ad1cad293d7c74
movabs r9, 0x8852e352d6c2838b
xor r8, r9
sub rdx, r8
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140049f1c
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
movzx eax, byte [rax + rcx + 8]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.140049f8e
add rsp, 0x20
test al, 1
jne 0x140049d77
jmp 0x140049d89
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140049f1c
mov rax, qword [rbp]
mov rdx, qword [rax]
movabs rax, 0x846c76fcca6ae1e1
movabs rcx, 0xbff93a2d413bb349
xor rax, rcx
mov rcx, rdx
sub rcx, rax
add rcx, 1
movabs rax, 0x3b954cd18b5152a8
add rcx, rax
mov qword [rbp - 0x60], rcx
movabs rax, 0x263f25d17964a035
movabs r8, 0xd9c0da2e869b5fca
xor rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140049e05
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140049f1c
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x20]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x68], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140049e4d
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140049f1c
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140040d00
mov rcx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x60]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp + 8]
add rsp, 0x20
mov r10, rax
and r10, 0xf
lea r9, [0x140210b60]
mov r9b, byte [r9 + r10 + 8]
mov rcx, qword [rcx]
mov byte [rcx + r8 + 8], r9b
movabs rcx, 0x3d2a46e87c9ddb30
movabs r8, 0x3d2a46e87c9ddb34
xor rcx, r8
shr rax, cl
mov rcx, qword [rbp - 0x48]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.140049f8e
add rsp, 0x20
test al, 1
jne 0x140049ec5
jmp 0x140049ed7
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140049f1c
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rbp - 0x80], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140049f21
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140049f72
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140040d00
mov r9, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
lea r8, [0x140210b60]
mov r8b, byte [r8 + r9 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], r8b
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 1
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rbp - 0x40], rax
jmp 0x140049cc0
mov rax, qword [rbp + 0x28]
lea rsp, [rbp + 0x30]
pop rbp
ret
jle 0x140049f7e
in al, 0x74
jmp 0x140049ae6
mov edx, 0xe9d1a41c
mov ah, bh
invalid