Function at 0x140019160
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x40
mov rsi, rcx
mov eax, 0xaa51adca
xor eax, 0xaa51ade1
mov dword [rsp + 0x20], eax
jmp 0x14001949e
jmp 0x140019324
call fcn.140065130
xor ecx, ecx
shl ecx, 0x1f
xor edx, edx
shr edx, 1
or ecx, edx
mov edx, 0xb8ad5255
xor edx, 0xb8ad5273
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x1400191c0
jmp 0x14001927d
movzx eax, byte [rsp + 0x25]
lea rcx, case.0x14001920a.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140112d28]
add ecx, 0x6f8ac0a7
movsxd rcx, ecx
sub rax, rcx
jmp rax
cmp eax, 0x2d
jl 0x1400193a2
jmp 0x1400193f8
mov rax, rsi
add rax, 8
mov qword [rsp + 0x30], rax
mov eax, 0x310
shr eax, 4
mov ecx, 0x310
shl ecx, 0x1c
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x1400192e1
mov eax, 0x3402165a
add eax, 0xcbfde9d0
mov dword [rsp + 0x20], eax
jmp 0x140019324
jmp 0x140019324
call fcn.140065078
xor ecx, ecx
test eax, eax
setne cl
mov al, byte [rsp + 0x26]
lea rdx, case.0x1400192df.0
mov rcx, qword [rdx + rcx*8]
mov edx, dword [0x140112d10]
rol edx, 0xa
sub rcx, rdx
jmp rcx
call fcn.1400651f1
mov ecx, 0xcb23a2e7
xor ecx, 0xcb23a2e7
mov rdx, rsi
add rdx, 8
mov qword [rsp + 0x30], rdx
mov edx, 0x5b15d644
sub edx, 0x5b15d613
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14001921a
jmp 0x140019372
jmp 0x14001949e
cmp eax, 0x28
jl 0x140019701
jmp 0x14001955f
mov eax, 0xb23f6d60
xor eax, 0xb23f6d46
mov dword [rsp + 0x20], eax
jmp 0x1400193cb
jmp 0x140019324
cmp eax, 0x2c
jl 0x1400193a8
jmp 0x1400193ed
test byte [rsp + 0x27], 1
jne 0x14001926a
jmp 0x1400193b6
add rsp, 0x40
pop rsi
ret
cmp eax, 0x29
jl 0x140019329
jmp 0x14001969c
call fcn.140065101
xor ecx, ecx
shl ecx, 7
xor edx, edx
shr edx, 0x19
or ecx, edx
cmp eax, ecx
je 0x140019362
jmp 0x1400191c0
call fcn.1400651bc
mov ecx, 0x23a0373
sub ecx, 0x23a0373
cmp eax, ecx
jne 0x14001921a
jmp 0x1400192e1
cmp eax, 0x30
jl 0x14001920c
jmp 0x140019425
cmp eax, 0x2f
jl 0x140019395
jmp 0x1400196e8
mov rcx, rsi
call fcn.140019720
mov eax, 0x1400000
shr eax, 0x13
mov ecx, 0x1400000
shl ecx, 0xd
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x140019324
cmp eax, 0x31
jl 0x14001961f
jmp 0x14001957a
call fcn.140064f64
xor ecx, ecx
test eax, eax
setne cl
mov rax, rsi
add rax, 0x20
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0x27
lea rax, case.0x14001947d.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140112cf0]
add ecx, 0xf1e05c1c
movsxd rcx, ecx
sub rax, rcx
jmp rax
call fcn.140064f2a
mov ecx, 0x79fe8983
sub ecx, 0x79fe8983
cmp eax, ecx
je 0x14001963a
jmp 0x140019433
mov eax, dword [rsp + 0x20]
jmp 0x14001938e
mov rax, qword [rsp + 0x38]
movabs rcx, 0x2e01872f8f9e28ca
movabs rdx, 0x2e01872f8f9e28ca
xor rcx, rdx
cmp rax, rcx
sete al
and al, 1
mov byte [rsp + 0x27], al
mov eax, 0x5a0
shr eax, 5
mov ecx, 0x5a0
shl ecx, 0x1b
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x140019324
jmp 0x140019324
call fcn.14006503e
xor ecx, ecx
shl ecx, 0x19
xor edx, edx
shr edx, 7
or ecx, edx
cmp eax, ecx
jne 0x14001970f
jmp 0x1400192b8
call fcn.1400583f3
xor ecx, ecx
shl ecx, 0x14
xor edx, edx
shr edx, 0xc
or ecx, edx
cmp eax, ecx
jne 0x140019666
jmp 0x140019585
cmp eax, 0x32
jl 0x1400196aa
jmp 0x140019541
call fcn.1400650a6
mov ecx, 0x971975a2
xor ecx, 0x971975a2
mov rdx, qword [rsp + 0x28]
mov rdx, qword [rdx]
movabs r8, 0x6d733ef7719bda46
movabs r9, 0x6d733ef7719bda46
sub r8, r9
cmp rdx, r8
sete dl
and dl, 1
mov byte [rsp + 0x26], dl
mov edx, 0x5c0a5403
add edx, 0xa3f5ac2f
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x1400194f7
jmp 0x140019585
call fcn.140064ffb
xor ecx, ecx
shl ecx, 0x1c
xor edx, edx
shr edx, 4
or ecx, edx
mov edx, 0x58000
shr edx, 0xd
mov r8d, 0x58000
shl r8d, 0x13
or edx, r8d
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x1400196d5
jmp 0x1400191bb
cmp eax, 0x2b
jl 0x1400193d0
jmp 0x14001947f
mov rcx, rsi
call fcn.1400198f0
mov eax, 0x23e17ce
sub eax, 0x23e179f
mov dword [rsp + 0x20], eax
jmp 0x140019324
mov rax, rsi
add rax, 0x20
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov eax, 0x8dabd85e
xor eax, 0x8dabd879
mov dword [rsp + 0x20], eax
jmp 0x140019497
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
xor ecx, ecx
shr rcx, 0x21
xor edx, edx
shl rdx, 0x1f
or rcx, rdx
cmp rax, rcx
sete al
and al, 1
mov byte [rsp + 0x26], al
mov eax, 0xf11ea520
xor eax, 0xf11ea512
mov dword [rsp + 0x20], eax
jmp 0x140019578
cmp eax, 0x2a
jl 0x1400191e8
jmp 0x140019611
call fcn.14005886c
xor ecx, ecx
test eax, eax
setne cl
lea rax, case.0x1400196d3.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140112d40]
add ecx, 0xb0b7986
movsxd rcx, ecx
sub rax, rcx
jmp rax
mov eax, 0x5367ab24
xor eax, 0x5367ab08
mov dword [rsp + 0x20], eax
jmp 0x1400195da
call fcn.140064fc2
mov ecx, 0x4b86787e
sub ecx, 0x4b86787e
cmp eax, ecx
jne 0x1400196d5
jmp 0x1400195da
cmp eax, 0x27
je 0x1400194b4
jmp 0x140019402
jmp 0x14001955a
invalid
invalid
jns 0x1400f5a13
mov eax, 0x700
stosd dword [rdi], eax
jo 0x1400f5a79
pushfq
sbb al, 0xf2
movsb byte [rdi], byte [rsi]
ror byte [rdi], 1
adc edi, dword [rbx]
invalid
push rax
imul edx, dword [rax - 0x5e], 0x5b
invalid
mov bh, 0xd3
invalid
add al, 0x5c
lock xor dword [rax], eax
add byte [rax], al
or al, 0x73
invalid
sbb al, byte [rcx - 0x92a09f4]
movsd dword [rdi], dword [rsi]
insd dword [rdi], dx
xor al, 0x62
xor bh, dl
movhps qword [rcx - 0xd], xmm7
test dword [rax + 0x75], esp
add byte [0xc084ebfa], cl
int3
imul ebp, esi, 0xffffff8b
sub esp, dword [rsi + 0x36]
imul ebx, dword [rax - 0x60], 0x786e8fc4
out dx, eax
nop
sbb dword [rax - 0x37e1c177], esp
sbb eax, dword [rdx + 0x50]
fld xword [rbp + rbx - 0x80]
shl dword [rbx - 0x3b1ff558], 0xf9
sub al, 0x2c
ficom dword [rdx + 0x26]
and dl, ch
iretd
test byte [rcx - 0x2b863b39], dh
imul edi, dword [rdi - 0xa], 0xab02f70e
and dword [rcx - 0x2f697392], ebp
invalid
add byte [rax], al
add byte [rax + 0x7e108294], al
insb byte [rdi], dx
mov bl, 0xea
or esp, eax
invalid