Function at 0x1401b00c0
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r10d, edx
cmp r10d, r8d
jg 0x1401b01ea
mov rcx, qword [rcx + 8]
lea rax, [0x140470fa0]
cmp qword [rcx], rax
je 0x1401b01db
lea rax, [0x140470f28]
cmp qword [rcx], rax
je 0x1401b01cc
sub r8d, r10d
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov r9, qword [rcx + 0x18]
mov r11, qword [rcx + 0x20]
mov rbx, rdx
shl rbx, 0x11
xor r9, rax
xor r11, rdx
lea rsi, [rdx + rdx*4]
rol rsi, 7
lea rsi, [rsi + rsi*8]
xor rdx, r9
xor rax, r11
xor r9, rbx
rol r11, 0x2d
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], r9
mov qword [rcx + 0x20], r11
mov r9d, r8d
shr rsi, 0x20
mov r11d, esi
imul r11, r9
mov ebx, r11d
cmp ebx, r8d
jae 0x1401b01bc
mov eax, r8d
neg eax
xor edx, edx
div r8d
cmp ebx, edx
jae 0x1401b01bc
mov r11, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x20]
mov rsi, rax
shl rsi, 0x11
xor r8, r11
xor rbx, rax
lea rdi, [rax + rax*4]
rol rdi, 7
lea rdi, [rdi + rdi*8]
xor rax, r8
xor r11, rbx
xor r8, rsi
rol rbx, 0x2d
mov qword [rcx + 8], r11
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], rbx
shr rdi, 0x20
mov r11d, edi
imul r11, r9
mov ebx, r11d
cmp ebx, edx
jb 0x1401b0164
shr r11, 0x20
lea eax, [r11 + r10]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov edx, r10d
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.14022c920
mov edx, r10d
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp 0x14022ca10
call fcn.1401b01f0
int3
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x38
vmovaps xmmword [rsp + 0x20], xmm6
mov rbx, rcx
mov esi, edx
mov edi, r8d
lea rbp, [rbx + 0x18]
mov rcx, rbp
mov edx, dword [rbx + 0x10]
cmp qword [rcx], 0
jne 0x14022ca3b
call fcn.14022cba0
movsxd rdi, edi
movsxd rcx, esi
sub rdi, rcx
cmp rdi, 0x7fffffff
jg 0x14022cb22
mov rcx, qword [rbx + 8]
lea rax, [0x140462f80]
cmp qword [rcx], rax
jne 0x14022cb84
mov rbx, qword [rcx + 8]
lea rcx, [0x140470fa0]
cmp qword [rbx], rcx
je 0x14022caa0
lea rcx, [0x140470f28]
cmp qword [rbx], rcx
jne 0x14022cb8a
lea rcx, [rbx + 8]
call fcn.14022ccc0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vmulsd xmm6, xmm0, qword [0x140584600]
jmp 0x14022cacb
lea rcx, [rbx + 0x18]
mov edx, dword [rbx + 0x10]
cmp qword [rcx], 0
jne 0x14022cab2
call fcn.14022cba0
lea rcx, [rbx + 0x18]
call fcn.14022ccc0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vmulsd xmm6, xmm0, qword [0x140584600]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, rdi
vmulsd xmm0, xmm6, xmm0
vmovddup xmm1, xmm0
vmovddup xmm2, xmm0
vmovddup xmm0, xmm0
vcmpeqpd xmm1, xmm2, xmm1
vandpd xmm0, xmm1, xmm0
vcmpgepd xmm1, xmm0, xmmword [0x140584610]
vcvttsd2si eax, xmm0
vmovd xmm0, eax
vpbroadcastd xmm0, xmm0
vpblendvb xmm0, xmm0, xmmword [0x140584620], xmm1
vmovd eax, xmm0
add eax, esi
vmovaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
pop rbx
pop rbp
pop rsi
pop rdi
ret
mov rcx, rbp
call fcn.14022cd40
vxorps xmm1, xmm1, xmm1
vcvtsi2sd xmm1, xmm1, rdi
vmulsd xmm0, xmm0, xmm1
vmovddup xmm1, xmm0
vmovddup xmm2, xmm0
vmovddup xmm0, xmm0
vcmpeqpd xmm1, xmm2, xmm1
vandpd xmm0, xmm1, xmm0
vcmpgepd xmm1, xmm0, xmmword [0x140584630]
vcvttsd2si rax, xmm0
vmovq xmm0, rax
vpbroadcastq xmm0, xmm0
vpblendvb xmm0, xmm0, xmmword [0x140584640], xmm1
vmovq rax, xmm0
add eax, esi
vmovaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
pop rbx
pop rbp
pop rsi
pop rdi
ret
call fcn.1400057f0
int3
mov rcx, rbx
call fcn.1400d9c00
int3