Function at 0x14004abc0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rdx
mov rdi, rcx
call fcn.14007d25d
mov ecx, 0xd5627f3c
xor ecx, 0xd5627f3c
cmp eax, ecx
je 0x14004aeef
jmp 0x14004ae72
cmp eax, 0x106
jl 0x14004af88
jmp 0x14004ad0c
jmp 0x14004ad1c
test cl, 1
jne 0x14004ac8f
jmp 0x14004ac0b
call fcn.1400583f3
mov ecx, 0x2f5c452a
add ecx, 0xd0a3bad6
cmp eax, ecx
jne 0x14004ac24
jmp 0x14004b021
mov eax, 0x7d69f061
xor eax, 0x7d69f164
mov dword [rsp + 0x2c], eax
jmp 0x14004ac1f
call fcn.14007d38b
xor ecx, ecx
test eax, eax
setne cl
lea rax, case.0x14004acb2.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x1401159d8]
rol ecx, 0x1c
sub rax, rcx
jmp rax
call fcn.14007d45b
mov ecx, 0x7b0110e1
xor ecx, 0x7b0110e1
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
mov edx, 0x818
shr edx, 3
mov r8d, 0x818
shl r8d, 0x1d
or edx, r8d
mov dword [rsp + 0x2c], edx
cmp eax, ecx
jne 0x14004acb4
jmp 0x14004abfb
mov rax, qword [rsp + 0x40]
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov eax, dword [rsp + 0x2c]
jmp 0x14004affc
cmp eax, 0x108
jl 0x14004adba
jmp 0x14004afd3
jmp 0x14004ad03
jmp 0x14004af26
jmp 0x14004ad1c
cmp eax, 0x102
jl 0x14004aff0
jmp 0x14004af02
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov eax, 0x543ca40e
xor eax, 0x543ca50d
mov dword [rsp + 0x2c], eax
jmp 0x14004aeea
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x2c], 0x100
mov eax, dword [0x1401159bc]
xor eax, 0x32c01daf
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x1401159c0]
add ecx, 0xde509958
movsxd rcx, ecx
sub rax, rcx
jmp rax
mov rax, rdi
add rax, 8
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov rax, rdi
add rax, 0x10
mov qword [rsp + 0x60], rax
mov eax, 0x80800
shr eax, 0xb
mov ecx, 0x80800
shl ecx, 0x15
or eax, ecx
mov dword [rsp + 0x2c], eax
jmp 0x14004ad1c
call fcn.14007d41e
mov edx, 0x1f5eac7e
add edx, 0xe0a15382
mov rcx, qword [rsp + 0x30]
cmp rcx, qword [rsp + 0x48]
sete cl
cmp eax, edx
jne 0x14004ae4c
jmp 0x14004ac00
call fcn.14007d2a1
mov ecx, 0x28c2439e
sub ecx, 0x28c2439e
mov edx, 0x32dd6fa
xor edx, 0x32dd7f8
mov dword [rsp + 0x2c], edx
cmp eax, ecx
je 0x14004ae72
jmp 0x14004ad03
mov rax, qword [rsp + 0x58]
add rax, 0xa0
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov eax, 0x1fe0
shr eax, 5
mov ecx, 0x1fe0
shl ecx, 0x1b
or eax, ecx
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
jmp 0x14004ad1c
call fcn.1400583f3
xor ecx, ecx
shl ecx, 1
xor edx, edx
shr edx, 0x1f
or ecx, edx
cmp eax, ecx
jne 0x14004ad9a
jmp 0x14004acb4
mov eax, 0xf6738998
xor eax, 0xf673889a
mov dword [rsp + 0x2c], eax
jmp 0x14004abe6
cmp eax, 0x103
jl 0x14004ae0c
call fcn.14007d3e1
xor ecx, ecx
shr ecx, 0x17
xor edx, edx
shl edx, 9
or ecx, edx
cmp eax, ecx
jne 0x14004ad1e
jmp 0x14004ae4c
xor ecx, ecx
sub eax, 0x105
setl cl
lea rax, case.0x14004afa9.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x1401159b8]
rol ecx, 7
sub rax, rcx
jmp rax
mov eax, 0x62c4a651
add eax, 0x9d3b5aae
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
jmp 0x14004ad1c
cmp eax, 0x101
jl 0x14004b011
jmp 0x14004aed2
cmp eax, 0x104
jl 0x14004ad8a
jmp 0x14004abeb
cmp eax, 0x100
je 0x14004ae9a
jmp 0x14004acf3
call fcn.14007d2d8
xor ecx, ecx
shl ecx, 0xe
xor edx, edx
shr edx, 0x12
or ecx, edx
mov edx, 0x26528863
sub edx, 0x2652875e
mov dword [rsp + 0x2c], edx
cmp eax, ecx
jne 0x14004b021
jmp 0x14004ad6b
ret
jl 0x14009a599
xor al, 0
je 0x14009a583
mov dword [rdi], 2
and qword [rsi], 0
cmp byte [rsp + 0x31], 0
je 0x14009a590
mov dword [rdi], 2
mov rdx, r15
mov rcx, r14
call fcn.140092b6c
test al, al
je case.0x14004afa9.0
invalid
or dword [rdi], 1
movups xmm0, xmmword [r14]
movdqu xmmword [rbp], xmm0
mov rax, rbp
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400865d0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
add byte [rax], al
add byte [rax + 0x3b], cl
jns 0x14009a668
jae 0x14009a661
mov rax, qword [rcx + 0x10]
mov rbx, qword [r14 + rax]
test rbx, rbx
jne 0x14009a6c7
jmp 0x14009a663
xor ebx, ebx
cmp byte [rcx + 0x24], 0
je 0x14009a67c
adc ebp, eax
cmp al, bh
invalid
call fcn.140086da8
cmp rdi, qword [rax + 0x18]
jae 0x14009a681
mov rax, qword [rax + 0x10]
mov rbx, qword [r14 + rax]
test rbx, rbx
jne 0x14009a6c7
test rsi, rsi
je 0x14009a68b
mov rbx, rsi
jmp 0x14009a6c7
mov rdx, rbp
lea rcx, [rsp + 0x60]
call fcn.140099734
cmp rax, 0xffffffffffffffff
je 0x14009a6df
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x50], rbx
mov rcx, rbx
call fcn.14008694c
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov rcx, rbx
call qword [0x1400ea118]
mov qword [0x1401195f0], rbx
lea rcx, [rsp + 0x58]
call fcn.14008686c
mov rax, rbx
add rsp, 0x20
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1400871dc
nop
int3