Function at 0x14004acd0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], rcx
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.140045cde
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x70], rdx
movabs rdx, 0xe3f85a1f165d2bbb
movabs r8, 0xe3f85a1f165d2bbb
xor rdx, r8
mov qword [rax], rdx
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x78], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
mov edx, 2
lea r8, [rbp + 0x90]
sub rsp, 0x20
call fcn.140046f0e
add rsp, 0x20
test al, 1
jne 0x14004ad97
jmp 0x14004ada9
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x14004b794
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x40], rax
cmp rax, 0
jge 0x14004ae02
mov rcx, qword [rbp + 0x40]
movabs rdx, 0x9de5fd2d4566d61
movabs rax, 0x9de5fd2d4566d61
xor rdx, rax
movabs r8, 0x29b40cc730c600d5
movabs rax, 0x564bf338cf39ff2a
xor r8, rax
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x14004b794
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.14001cd81
mov r10, qword [rbp + 0x60]
mov r8, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp + 0x18], r9
mov rdx, r10
add rdx, 8
mov qword [rbp + 0x20], rdx
mov rdx, qword [r10 + 8]
mov r11, qword [r8]
mov qword [r10], r11
mov r11, qword [r8 + 8]
mov qword [r10 + 8], r11
mov qword [r8], r9
mov qword [rcx], rdx
lea rcx, [rbp + 0x80]
add rcx, 8
mov qword [rbp + 0x28], rcx
add rax, 8
mov qword [rbp + 0x30], rax
xor eax, eax
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x10], rax
mov ecx, dword [0x1401f52c0]
xor ecx, 0xb8b393de
xor ecx, dword [0x1401f52c4]
mov eax, 0x40d9308
xor eax, 0xd78ba7d7
sub ecx, eax
and ecx, 0x796c3821
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x5bde8c0e
mov edx, 0xffffffff
xor edx, 0x5bde8c0e
and ecx, edx
or eax, ecx
cmp eax, 0xb7c16f6b
jae 0x14004b7a0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov eax, dword [0x1401f52c8]
mov r8d, dword [0x1401f52cc]
xor r8d, 0xd9c9868a
add eax, r8d
add eax, 0x9d806f8e
mov r8d, eax
xor r8d, 0xffffffff
xor eax, 0xffffffff
and r8d, eax
mov eax, 0x3782b41e
or eax, 0x3782b41e
xor eax, 0xffffffff
or r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xfbb2623b
xor r9d, 0x5fc50c56
mov eax, 0x4193b9f9
xor eax, 0xbe6c4606
xor r9d, eax
mov eax, r8d
xor eax, r9d
and eax, r8d
cmp rcx, rdx
setl cl
mov byte [rbp + 0xf], cl
cmp eax, 0xca4ded7
jb 0x14004b7a0
mov al, byte [rbp + 0xf]
test al, 1
jne 0x14004af4a
jmp 0x14004b771
mov edx, dword [0x1401f52d0]
mov eax, dword [0x1401f52d4]
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, eax
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0x5343fdc6
mov edx, 0xb53771dd
xor edx, 0x4ac88e22
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xac9380fa
xor edx, 0x33b6ced5
mov r8d, 0xe5b42978
xor r8d, 0x1a4bd687
xor edx, r8d
mov r8d, 0xbdfc63c
xor r8d, 0x94fa8813
mov r9d, 0x5c9984cc
xor r9d, 0xa3667b33
xor r8d, r9d
and edx, r8d
mov r8d, 0xd2b46189
xor r8d, 0x2d4b9e76
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0x9f254e2f
mov edx, 0x96c9bcbb
xor edx, 0x69364344
xor ecx, edx
or eax, ecx
mov ecx, 0x607be447
xor ecx, 0x9f841bb8
xor eax, ecx
or eax, 0xffc52b78
cmp eax, 0xdc56ec07
je 0x14004b7a9
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x68]
mov ecx, dword [0x1401f52d8]
mov eax, dword [0x1401f52dc]
add ecx, eax
mov r9d, ecx
not r9d
mov eax, ecx
and eax, 0xab8be66
and r9d, 0xf5474199
imul r9d, eax
mov eax, ecx
and eax, 0xf5474199
or ecx, 0xf5474199
imul ecx, eax
mov eax, ecx
mov ecx, r9d
lea eax, [rax + rcx + 0x4eb51124]
xor eax, 0x5365c209
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rbp], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp + 0xe], cl
cmp eax, 0xd5f307d1
ja 0x14004b00b
mov al, byte [rbp + 0xe]
test al, 1
jne 0x14004b0b0
jmp 0x14004b08d
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14004b794
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
lea rdx, [rdx + rdx*4]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rbp - 0x10], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 1], al
or al, cl
test al, 1
jne 0x14004b5a4
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
movabs rdx, 0x69757e2d924270b9
movabs r8, 0x968a81d26dbd8f46
xor rdx, r8
add rax, rdx
and rax, rcx
mov qword [rbp - 0x18], rax
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x28], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004b159
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14004b794
mov eax, dword [0x1401f52e0]
mov edx, dword [0x1401f52e4]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0x66648cae
xor ecx, 0x66648cac
imul ecx, r8d
sub ecx, edx
sub eax, ecx
sub eax, 0x594545df
xor eax, 0x4399cee0
mov ecx, 0x5743444d
xor ecx, 0xe5e002ce
add eax, ecx
mov ecx, 0x848463ac
xor ecx, 0x7402b50e
add eax, ecx
sub eax, 0xb2a34683
cmp eax, 0xe6929145
jae 0x14004b7b2
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1401f52e8]
mov r9d, dword [0x1401f52ec]
mov r8d, eax
xor r8d, r9d
xor r8d, 0xffffffff
or eax, r9d
and eax, r8d
sub eax, 0xb8487c3
mov r10d, 0xe674e4ba
xor r10d, 0xcc7afa4a
mov r8d, 0xe23e1359
xor r8d, 0x1dc1eca6
xor r10d, r8d
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
mov r10d, 0xefb2903c
xor r10d, 0x104d6fc3
xor r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x2a0e1ef0
or eax, 0x2a0e1ef0
imul eax, r9d
add eax, r8d
add eax, 0x3c9d2be6
mov rcx, qword [rcx]
add rcx, 8
imul rdx, rdx, 0x28
add rcx, rdx
cmp qword [rcx], 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0xd1831376
je 0x14004b1b9
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14004b2dd
jmp 0x14004b26e
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
xor eax, eax
sub rax, rdx
movabs rdx, 0xfd353e3cdd3abf79
movabs r8, 0xfd353e3cdd3abf79
xor rdx, r8
movabs r8, 0xb9c3925ffa4b0ae4
movabs r9, 0x463c6da005b4f51b
xor r8, r9
sub rdx, r8
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140046fed
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xcc
xor dl, 0xcc
cmp cl, dl
mov qword [rbp - 0x18], rax
je 0x14004b112
jmp 0x14004b794
mov eax, dword [0x1401f52f0]
xor edx, edx
div dword [0x1401f52f4]
or eax, 0xcccd9edc
mov ecx, 0xb3a210a9
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xe5d2f58b
shl ecx, 1
xor eax, 0xe5d2f58b
add eax, ecx
mov ecx, 0x6d87edec
xor ecx, 0x1d2c2601
cmp eax, ecx
je 0x14004b7bb
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x68]
mov eax, dword [0x1401f52f8]
add eax, dword [0x1401f52fc]
imul eax, eax, 0xc0ab0c89
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xe1861ed5
mov r10d, 0xffffffff
xor r10d, 0xe1861ed5
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0x2061ec32
xor r10d, 0xc1e7f2e7
mov r9d, eax
and r9d, r10d
mov r10d, 0x210f0a37
xor r10d, 0xc08914e2
or eax, r10d
imul eax, r9d
add eax, r8d
add eax, 0x468ca322
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x2a], cl
cmp eax, 0xa101072b
je 0x14004b31e
mov al, byte [rbp - 0x2a]
test al, 1
jne 0x14004b410
jmp 0x14004b3b7
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x38]
movabs r8, 0x3819c8d0fa2c2113
movabs rax, 0xc7e6372f05d3deec
xor r8, rax
mov rax, rdx
and rax, r8
movabs r8, 0xf21bef8a1567fd76
movabs r9, 0xf21bef8a1567fd74
xor r8, r9
imul rax, r8
xor rdx, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14004b794
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x28
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.140011315
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x14004b486
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x40]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14004b794
mov rsi, qword [rbp + 0x28]
mov rdi, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x28
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.140011315
mov r11, qword [rbp - 0x60]
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x60]
mov r9, qword [rbp + 0x50]
mov r10, qword [rbp - 0x10]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp + 0x80], rbx
mov qword [rsi], rdi
mov qword [r9], r11
mov qword [rcx], r8
lea r8, [rbp + 0x80]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14004a9d0
mov rax, qword [rbp + 0x70]
add rsp, 0x30
cmp byte [rax], 0
jne 0x14004b794
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x14004b5c2
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0xd2cf876868b7e671
xor rdx, r8
or rax, rcx
movabs rcx, 0xefbda87e7265d785
movabs r8, 0x3d722f161ad231f4
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14004b5c2
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
jmp 0x14004b5c2
mov rcx, qword [rbp + 0x10]
mov dl, byte [rbp - 1]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x14004b758
jmp 0x14004b5c2
mov eax, dword [0x1401f5300]
mov r8d, dword [0x1401f5304]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x9598814f
xor r9d, 0x6a677eb0
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xf57b2bf
xor edx, 0xf0a84d40
mov ecx, eax
xor ecx, edx
and ecx, 0x380e6afd
mov edx, 0xffffffff
xor edx, 0x380e6afd
and eax, edx
sub eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd277de1b
mov ecx, 0x57bf9773
xor ecx, 0xd22500bf
mov r8d, 0x9d0540a0
xor r8d, 0x62fabf5f
xor ecx, r8d
or eax, edx
or ecx, 0x859a97cc
xor eax, 0xffffffff
and eax, ecx
mov edx, 0x7c5b5fa0
xor edx, 0x1feefcad
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x63b5a30d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xb96e4ed4
jb 0x14004b7c4
mov rdx, qword [rbp + 0x10]
mov ecx, dword [0x1401f5308]
mov eax, dword [0x1401f530c]
xor eax, 0xffffffff
xor r8d, r8d
sub r8d, 1
sub eax, r8d
sub ecx, eax
mov eax, ecx
xor eax, 0x1ebb554a
xor eax, 0xffffffff
mov r8d, 0x89873c8d
xor r8d, 0x973c69c7
or ecx, r8d
and ecx, eax
mov eax, ecx
and eax, 0x17a441ee
mov r8d, 0x9b1921b7
xor r8d, 0x8cbd6059
xor ecx, r8d
or eax, ecx
mov ecx, 0xf976eb46
xor ecx, 0x388f34b4
add eax, ecx
mov ecx, 0x9daa9f70
xor ecx, 0x72e09f3e
add eax, ecx
mov ecx, 0xa8c6027d
xor ecx, 0x693fdd8f
sub eax, ecx
mov rcx, rdx
add rcx, 1
mov qword [rbp - 0x80], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x71], cl
cmp eax, 0xb2f7c2a8
ja 0x14004b7c4
mov rcx, qword [rbp - 0x80]
mov dl, byte [rbp - 0x71]
mov al, 1
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x14004b746
jmp 0x14004b758
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x14004b794
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x61]
test cl, 1
mov qword [rbp + 0x38], rax
jne 0x14004ae6e
jmp 0x14004b794
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140049e60
add rsp, 0x20
lea rsp, [rbp + 0x98]
pop rbx
pop rdi
pop rsi
pop rbp
ret
frstor dword [rdx]
push 0xfffffffff715e93b
invalid
pop rbx
push rbp
wait
jmp 0x14004b00b
xchg ebx, eax
invalid
push rdx
stc
push 0xffffffffffffff96
jmp 0x14004b31e
mov esi, 0xe9f21a75
mov ecx, 0xffffffe
invalid