Function at 0x1401b0700
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r10d, edx
cmp r10d, r8d
jg 0x1401b082a
mov rcx, qword [rcx + 8]
lea rax, [0x14046e628]
cmp qword [rcx], rax
je 0x1401b081b
lea rax, [0x14046e5b0]
cmp qword [rcx], rax
je 0x1401b080c
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 0x1401b07fc
mov eax, r8d
neg eax
xor edx, edx
div r8d
cmp ebx, edx
jae 0x1401b07fc
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 0x1401b07a4
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.14022c900
mov edx, r10d
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp 0x14022c9e0
call fcn.1401b0830
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 0x14022ca0b
call fcn.14022cb80
movsxd rdi, edi
movsxd rcx, esi
sub rdi, rcx
cmp rdi, 0x7fffffff
jg 0x14022caf2
mov rcx, qword [rbx + 8]
lea rax, [0x1404605d0]
cmp qword [rcx], rax
jne 0x14022cb53
mov rbx, qword [rcx + 8]
lea rcx, [0x14046e628]
cmp qword [rbx], rcx
je 0x14022ca70
lea rcx, [0x14046e5b0]
cmp qword [rbx], rcx
jne 0x14022cb59
lea rcx, [rbx + 8]
call fcn.14022cca0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vmulsd xmm6, xmm0, qword [0x140a5c600]
jmp 0x14022ca9b
lea rcx, [rbx + 0x18]
mov edx, dword [rbx + 0x10]
cmp qword [rcx], 0
jne 0x14022ca82
call fcn.14022cb80
lea rcx, [rbx + 0x18]
call fcn.14022cca0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vmulsd xmm6, xmm0, qword [0x140a5c600]
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 [0x140a5c610]
vcvttsd2si eax, xmm0
vmovd xmm0, eax
vpshufd xmm0, xmm0, 0
vpblendvb xmm0, xmm0, xmmword [0x140a5c620], 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.14022cd20
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 [0x140a5c630]
vcvttsd2si rax, xmm0
vmovq xmm0, rax
vpunpcklqdq xmm0, xmm0, xmm0
vpblendvb xmm0, xmm0, xmmword [0x140a5c640], 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.140005810
int3
mov rcx, rbx
call fcn.1400da2c0
int3