Function at 0x14049e850
Capabilities:
Encode data using xor

Disassembly:
xchg r15, rbx
mov qword [rsp + 0x10], r15
xchg rbx, r15
nop
sub rsp, 8
mov qword [rsp], rdi
add rsp, 0xffffffffffffffb0
xchg r11, rcx
mov rdi, r11
xchg r11, rcx
xor edx, edx
mov r15, r15
mov ecx, 0x17844b7f
xor ecx, 0x3cb17f27
xor ecx, 0x7b223100
xor ecx, 0xd4d75b18
call fcn.1400749e0
mov dword [rsp - 0x2c], 0x49188392
movabs rbx, 0x2d4c5ee536c93ebc
add rbx, 0x43bd8f56
sub rbx, 0x61e3cdf0
add rbx, 0x63a759b9
xor rbx, 0x3dfc497c
mov rdx, rax
xor rdx, rbx
mov qword [rdi + 8], rdx
xchg r10, r10
cmp rdx, rbx
je 0x14049ebc5
lea rdx, [0x14049f9b8]
xchg r14, rax
mov rcx, r14
xchg r14, rax
call fcn.1400983d0
xchg rcx, rcx
test al, al
je 0x14049ebc5
call fcn.1400798a0
mov rcx, qword [rax + 0x30]
mov r13, r13
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
xor rax, rbx
xchg r9, r9
mov qword [rdi], rax
test rcx, rcx
je 0x14049ebc5
xor edx, edx
mov rdi, rdi
mov ecx, 0xd97b6c8
add ecx, 0x2a72e64c
add ecx, 0x9544ad6
sub ecx, 0x66e372d
xor ecx, 0x50162fbf
call fcn.1400749e0
xchg rdi, rax
mov rcx, rdi
xchg rdi, rax
xor rcx, rbx
xchg rcx, rsp
mov qword [rdi + 0x10], rsp
xchg rsp, rcx
cmp rcx, rbx
mov dword [rsp - 0x40], ecx
je 0x14049ebc5
lea rdx, [0x14049f9e8]
mov rcx, rax
call fcn.140097eb0
xchg r15, r15
test al, al
je 0x14049ebc5
xor r8d, r8d
mov dword [rsp + 0x20], 0x7a16873
add dword [rsp + 0x20], 0x1c0abf95
add dword [rsp + 0x20], 0x9006aef
xor dword [rsp + 0x20], 0x2cb7921b
mov dword [rsp + 0x24], 0x6a5f456e
xor dword [rsp + 0x24], 0x2d8fd86c
add dword [rsp + 0x24], 0x83b4e8a
sub dword [rsp + 0x24], 0x4fa4eb07
mov dword [rsp + 0x28], 0x7f635dc2
xor dword [rsp + 0x28], 0x1124e346
sub dword [rsp + 0x28], 0x20af49cb
xor dword [rsp + 0x28], 0x70ecadca
xor dword [rsp + 0x28], 0x3d68d980
mov dword [rsp + 0x2c], 0x6b203ff5
xor dword [rsp + 0x2c], 0x3c44c98b
sub dword [rsp + 0x2c], 0x971a98d
xor dword [rsp + 0x2c], 0x4d934c2c
mov dword [rsp + 0x30], 0x5084cc4d
sub dword [rsp + 0x30], 0x10813216
add dword [rsp + 0x30], 0x393555f6
xor dword [rsp + 0x30], 0x6d668521
sub dword [rsp + 0x30], 0x145a741f
mov qword [rsp + 0x60], r8
mov dword [rsp - 0xc], 0x7d584f24
xchg r14, rax
mov r14, qword [rsp + 0x60]
xchg r14, rax
nop dword [rax]
mov dword [rsp - 0x28], 0x7b244d1b
nop word [rax + rax]
mov rcx, qword [rsp + 0x60]
xchg r8, rax
mov r8, qword [rsp + 0x60]
xchg r8, rax
and cl, 3
shl cl, 1
shl cl, 2
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x63fd8d67
sub eax, 0x23616b78
sub eax, 0x7b68d05
xor eax, 0x3c16fc6b
shr eax, cl
movzx ecx, al
mov dword [rsp - 0x1c], 0x75effaa2
xchg rcx, rax
mov rcx, qword [rsp + 0x60]
xchg rcx, rax
xor cx, dx
mov r14, r14
mov word [rsp + rax*2 + 0x34], cx
xchg r10, rax
mov r10, qword [rsp + 0x60]
xchg r10, rax
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
xchg r12, r12
cmp rax, 0xa
jb 0x14049ea59
mov rax, qword [0x14049f9f8]
mov dword [rsp - 0x30], ebx
movabs rcx, 0x13436225395cdb64
add rcx, 0x39637e8d
sub rcx, 0x4ace6b74
add rcx, 0x56f5440
ror rax, 3
ror rax, 0x17
ror rax, 4
ror rax, 1
sub rax, rcx
xchg rdx, rdx
mov word [rsp + 0x48], r8w
rol rax, 4
rol rax, 3
rol rax, 3
rol rax, 7
rol rax, 2
rol rax, 1
rol rax, 1
movabs rcx, 0xdcaf6a9d212c9538
xor rcx, 0x3907924
xor rcx, 0xf3253c6
sub rcx, 0x1ba2142f
add rcx, 0x7fffffff
xor rcx, 0x7c7fa90a
add rax, rcx
lea rcx, [rsp + 0x34]
mov dword [rsp - 0x2c], esi
call rax
xchg rbx, rdx
mov rbx, rax
xchg rbx, rdx
mov ecx, 0x3b5ff470
xor ecx, 0x651b92f0
xor ecx, 0x3e71fa
sub ecx, 0x5e7a1770
xor eax, eax
mov dword [rsp - 0x2c], esi
xor rdx, rbx
xchg rsi, rdx
mov qword [rdi + 0x18], rsi
xchg rdx, rsi
cmp rdx, rbx
lea rdi, [rsp + 0x34]
mov r11, r11
rep stosb byte [rdi], al
setne al
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
mov dword [rsp - 0x18], 0x736b4682
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
xchg rbx, r12
mov r12, qword [rsp + 0x68]
xchg r12, rbx
xor al, al
nop
sub rsp, 0x1ec527e0
add rsp, 0x1ec52830
pop rdi
ret