Function at 0x14022cbe0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 8], r8
mov r13, rdx
mov rsi, rcx
mov rax, qword [rcx]
mov rcx, qword [0x140521130]
movabs r15, 0x1b9862f4c8d05c96
movabs rdx, 0x64679d0b372fa369
xor rdx, rcx
and rdx, rcx
xor rcx, r15
lea rcx, [rcx + rdx*2]
cmp rsi, rcx
je 0x14022cc98
mov ecx, dword [0x140565024]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, 0xa909cd87
add ecx, dword [0x14052112c]
cmp edx, ecx
jne 0x14022cc70
mov rcx, qword [0x140521068]
mov edx, dword [0x140565024]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
je 0x14022cc84
mov rcx, qword [0x140521068]
mov ecx, dword [0x140565028]
cmp ecx, 0x30
jge 0x14022cc70
jmp 0x14022cc55
mov edx, dword [0x140565024]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x14022ccb2
mov ecx, dword [0x140565024]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x14022d421
jmp 0x14022d405
lea rdx, [fcn.14022cbe0]
add edx, edx
add edx, 0x760
not edx
mov r8d, edx
and r8d, 0xfffffffe
xor r8d, edx
cmp r8d, 1
nop word cs:[rax + rax]
mov edx, dword [0x140565024]
mov r8d, dword [0x14052112c]
mov r9d, r8d
xor r9d, 0x80
and r8d, 0x7a02a080
lea r8d, [r9 + r8*2]
neg r8d
add r8d, edx
add r8d, 0xd0f8d2f8
imul r8d, edx
test r8b, 1
jne 0x14022cce0
jmp 0x14022cd2d
mov edx, dword [rcx]
mov edx, dword [0x140565028]
cmp edx, 0x22
jl 0x14022cd38
mov edx, dword [0x140565028]
cmp edx, 0x30
jg 0x14022cd20
movsxd rbx, dword [rcx]
mov edx, dword [0x140565028]
cmp edx, 0xf
jg 0x14022cd20
add rbx, rcx
mov ecx, 0xa909cd88
lea rdx, [fcn.14022cbe0]
lea r8d, [rdx + rdx]
add r8d, 0x1ee0
mov r9d, dword [0x140565024]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x14022cd94
mov r14d, dword [0x140432fe4]
mov r9d, dword [0x14052112c]
add r9d, ecx
mov r10d, r8d
xor r10d, r9d
not r10d
test r10d, r9d
je 0x14022cdcc
mov r9d, dword [0x140432fe4]
lea r9d, [rdx + rdx]
add r9d, 0x2de0
mov r10d, r9d
not r10d
and r9d, r10d
lea r11d, [rdx + rdx]
add r11d, 0x2de1
and r10d, 0xfffffffe
xor r10d, r11d
or r10d, r9d
cmp r10d, 0xffffffff
jne 0x14022cd60
jmp 0x14022cd75
mov rdi, qword [rsi + 8]
mov rdx, qword [0x140521130]
mov rcx, rdx
sub rcx, rax
add r15, r13
add r15, rcx
mov ecx, edx
xor ecx, 0x77
mov r8d, edx
and r8d, 0x77
lea ecx, [rcx + r8*2]
add cl, 0x22
sar r15, cl
mov r8, qword [rsi + 0x10]
sub rdi, rax
sub r8, rax
lea ecx, [rdx - 0x67]
sar r8, cl
sar rdi, 3
inc rdi
mov r12, r8
shr r12, 1
movabs rax, 0x1fffffffffffffff
mov rcx, rax
sub rcx, r12
add r12, r8
cmp r12, rdi
cmovbe r12, rdi
cmp r8, rcx
cmova r12, rax
movabs rax, 0x3b9862f4c8d05c95
add rax, rdx
cmp r12, rax
ja 0x14022d12f
mov eax, dword [0x140565028]
cmp eax, 0x49
nop word cs:[rax + rax]
movabs rax, 0x1b9862f4c8d05e95
add rax, qword [0x140521130]
mov ecx, dword [0x140565028]
cmp ecx, 0x3a
jg 0x14022ce60
lea rcx, [r12*8]
cmp r12, rax
jbe 0x14022cf49
mov eax, dword [0x140565028]
cmp eax, 0x22
nop word cs:[rax + rax]
mov eax, dword [0x140565028]
mov edx, dword [0x14052112c]
mov r8d, edx
xor r8d, 0xa909cdda
and edx, 0x2909cdda
lea edx, [r8 + rdx*2]
cmp eax, edx
jge 0x14022cea0
movabs rax, 0x1ffffffffffffffc
cmp r12, rax
jae 0x14022d12f
add rcx, 0x27
mov edx, 0xb42187fa
mov r8d, 0xb42187fa
mov r9d, 0xc37334b1
call fcn.1400aaef0
mov rcx, qword [0x140521130]
movabs rdx, 0x1b9862f4c8d05cbd
add rdx, rcx
mov r8, rax
xor r8, rdx
and rdx, rax
lea rdx, [r8 + rdx*2]
movabs r8, 0x1b9862f4c8d05c76
add r8, rcx
mov r10, r8
not r10
mov r9, r8
xor r9, r10
and r9, rdx
xor r9, r10
mov rcx, r9
not rcx
xor r9, r8
and rcx, r10
or rcx, r9
not rcx
mov qword [rcx - 8], rax
jmp 0x14022cf74
mov eax, dword [0x140565028]
cmp eax, 0x34
test r12, r12
je 0x14022cf72
mov edx, 0xb42187fa
mov r8d, 0xb42187fa
mov r9d, 0xc37334b1
call fcn.1400aaef0
mov rcx, rax
jmp 0x14022cf74
xor ecx, ecx
lea rdx, [rcx + r15*8]
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov qword [rcx + r15*8], rax
mov r8, qword [rsi + 8]
cmp r8, r13
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rdx
je 0x14022cfb5
lea r15, [rdx + 8]
mov rdx, qword [rsi]
mov r8, r13
sub r8, rdx
call fcn.14040bf30
mov r8, qword [rsi + 8]
sub r8, r13
mov rcx, r15
mov rdx, r13
jmp 0x14022cfbb
mov rdx, qword [rsi]
sub r8, rdx
call fcn.14040bf30
mov rax, qword [rsi]
mov qword [rbp - 0x20], rax
mov al, 1
test al, al
nop dword [rax + rax]
mov r10d, dword [0x140521064]
lea r9d, [r10 + 1]
mov dword [0x140521064], r9d
mov eax, dword [0x140565024]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xa909cd87
add eax, dword [0x14052112c]
cmp ecx, eax
jne 0x14022cfd0
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x30], rdi
mov qword [rbp - 8], rsi
test r9d, r10d
je 0x14022d016
xor r8d, r8d
jmp 0x14022d024
xor r11d, r11d
mov r8d, 0
test r14d, r14d
jg 0x14022d04c
mov r14, qword [rbp - 0x20]
test r14, r14
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x28]
je 0x14022d3d4
mov al, 1
test al, al
jne 0x14022d134
jmp 0x14022d159
mov r15b, 1
lea rax, [fcn.14022cbe0]
lea r12d, [rax + rax]
add r12d, 0x1240
mov edi, 0xa909cde7
mov r13d, 0xa909cd89
xor r8d, r8d
jmp 0x14022d08b
or r8b, sil
inc r11d
cmp r11d, r14d
jge 0x14022d024
mov eax, dword [0x140565024]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x14022d0e0
nop dword [rax]
test r15b, r15b
je 0x14022d0e0
movsxd rax, r11d
add rax, rbx
movzx eax, byte [rax]
not r8b
mov esi, r8d
and sil, al
or r8b, al
not r8b
mov eax, dword [0x14052112c]
mov ecx, 0xa909cd88
add eax, ecx
xor eax, r12d
not eax
test eax, r12d
jne 0x14022d110
jmp 0x14022d0f0
mov eax, dword [0x140565028]
cmp eax, 0x46
jge 0x14022d0e0
jmp 0x14022d0a0
mov eax, dword [0x140565028]
mov edx, dword [0x14052112c]
add edx, edi
cmp eax, edx
jl 0x14022d080
nop word cs:[rax + rax]
mov edx, dword [0x140565024]
lea eax, [rdx - 1]
imul eax, edx
mov ecx, dword [0x14052112c]
add ecx, r13d
xor edx, edx
div ecx
test edx, edx
jne 0x14022d110
jmp 0x14022d0f0
call fcn.140084910
movzx eax, byte [0x140432fe0]
mov ecx, dword [0x140565024]
mov edx, dword [0x14052112c]
neg edx
add edx, ecx
add edx, 0x56f63278
imul edx, ecx
test dl, 1
je 0x14022d162
movzx eax, byte [0x140432fe0]
jmp 0x14022d134
and r9d, r10d
movzx ecx, byte [0x140521138]
cmp r9d, 1
mov edx, ecx
adc dl, 0xff
mov r9b, 0xa8
sub r9b, dl
mov dl, 0xb9
sub dl, cl
add al, dl
sub r8b, al
add r8b, dl
neg r8b
and r8b, r9b
mov eax, dword [0x140565024]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
movabs r11, 0x1b9862f4c8d05cbd
jne 0x14022d1d9
xor eax, eax
mov cl, 1
jmp 0x14022d1b4
test cl, cl
jne 0x14022d1bf
mov edx, dword [0x140565028]
cmp edx, 0x4c
jg 0x14022d1b0
test al, al
jne 0x14022d1b0
lea rax, [fcn.14022cbe0]
add eax, eax
add eax, 0x3e40
mov ecx, eax
not ecx
test ecx, eax
je 0x14022d1ed
mov eax, dword [0x140565028]
cmp eax, 0x2f
jg 0x14022d440
jmp 0x14022d42a
movzx eax, r8b
movabs rcx, 0xe6dde6d5b1fe0c11
mov dl, 1
nop dword [rax]
mov r8d, dword [0x140565024]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x14022d252
nop word cs:[rax + rax]
mov r8d, dword [0x140565028]
cmp r8d, 0x43
jle 0x14022d231
test dl, dl
je 0x14022d220
mov r8, qword [0x1405645b8]
add r8, rcx
mov r9d, dword [0x140565024]
mov r10d, r9d
not r10d
imul r10d, r9d
test r10b, 1
je 0x14022d261
mov r8d, dword [0x140565028]
cmp r8d, 0x54
jge 0x14022d200
jmp 0x14022d220
mov rcx, r8
xor rcx, rax
not r8
not rax
and rax, r8
or rax, rcx
not rax
lea r8, [rcx + rax*2]
nop word [rax + rax]
mov eax, dword [0x140565024]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14022d2a2
mov eax, dword [0x140565024]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14022d2af
mov eax, dword [0x140565028]
cmp eax, 0x53
jge 0x14022d280
jmp 0x14022d291
mov ecx, dword [0x140565024]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14052112c]
lea r9d, [rcx - 0x56f63277]
xor edx, edx
div r9d
mov dword [0x140565024], 0
mov eax, ecx
xor eax, 0xa909cd87
and ecx, 0x2909cd87
lea eax, [rax + rcx*2]
cmp edx, eax
nop dword [rax]
mov eax, dword [0x140565028]
mov ecx, 0xa909cddf
add ecx, dword [0x14052112c]
cmp eax, ecx
jge 0x14022d2f0
movabs rax, 0x1922192a4e01f3ef
add r8, rax
mov qword [0x1405645b8], r8
mov rdx, qword [rsi + 0x10]
sub rdx, r14
cmp rdx, 0xfff
jbe 0x14022d3c0
mov rax, qword [r14 - 8]
sub r14, rax
add r14, 0xfffffffffffffff8
cmp r14, 0x20
jae 0x14022d400
mov ecx, dword [0x140565024]
lea r8d, [rcx - 1]
imul r8d, ecx
jmp 0x14022d373
mov ecx, dword [0x140565024]
mov r8d, 0xbcb36ee7
sub r8d, ecx
imul r8d, ecx
test r8b, 1
jne 0x14022d360
mov rcx, qword [0x140521130]
mov r8d, dword [0x140565028]
cmp r8d, 0x16
jge 0x14022d360
xor r11, rcx
movabs r8, 0x64679d0b372fa342
xor r8, rcx
and r8, rcx
add r8, r8
mov rcx, r11
xor rcx, r8
and r8, r11
lea rcx, [rcx + r8*2]
mov r8, rdx
xor r8, rcx
and rdx, rcx
lea rdx, [r8 + rdx*2]
mov r14, rax
mov rcx, r14
mov r8d, 0x949cb9ca
mov r9d, 0xa0fe619
call fcn.1400a9560
mov rcx, qword [rbp - 0x18]
mov qword [rsi], rcx
lea rax, [rcx + rdi*8]
mov qword [rsi + 8], rax
lea rax, [rcx + rbx*8]
mov qword [rsi + 0x10], rax
mov rax, qword [rbp - 0x10]
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c3cac
mov rcx, qword [0x140521068]
mov ecx, dword [0x140565024]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14022cc37
mov rcx, qword [0x140521068]
jmp 0x14022d405
mov eax, dword [0x140565028]
cmp eax, 0x15
jl 0x14022d1a8
nop dword [rax]
mov eax, dword [0x140565028]
cmp eax, 0x61
jge 0x14022d440
jmp 0x14022d42a