Function at 0x1401f69d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, rcx
lea rax, [0x14042f548]
mov qword [rcx], rax
lea rbx, [rcx + 0x28]
mov rsi, qword [rcx + 0x28]
mov rax, qword [rcx + 0x30]
xor ecx, ecx
lea rdx, [0x14042f894]
mov r8b, 1
test cl, cl
jne 0x1401f6a1f
movsxd r14, dword [0x14042f894]
test cl, cl
je 0x1401f6a2d
mov r9d, dword [0x14042f894]
test r8b, r8b
je 0x1401f6a10
jmp 0x1401f6a14
xor r14, rdx
mov rcx, r14
not rcx
and rcx, rdx
add rcx, rcx
mov edx, 0xaf473a4
nop word cs:[rax + rax]
mov r8d, dword [0x14055c4a0]
cmp r8d, 0x3b
jg 0x1401f6a81
mov r8d, dword [0x14055c49c]
mov r9d, r8d
not r9d
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x140510eec]
add r8d, edx
cmp r9d, r8d
je 0x1401f6aa1
mov r8d, dword [0x14055c49c]
mov r9d, dword [0x140510eec]
not r9d
add r9d, r8d
imul r9d, r8d
test r9b, 1
jne 0x1401f6a50
jmp 0x1401f6a5d
add r14, rcx
mov ecx, 0xaf473eb
nop dword [rax]
mov edx, dword [0x14055c4a0]
mov r8d, dword [0x140510eec]
add r8d, ecx
cmp edx, r8d
jge 0x1401f6ad7
mov r15d, dword [0x14042f89c]
mov edx, dword [0x14055c4a0]
cmp edx, 0x17
jle 0x1401f6aea
mov edx, dword [0x14042f89c]
mov edx, dword [0x14055c4a0]
cmp edx, 0x32
jge 0x1401f6ab0
jmp 0x1401f6ac5
cmp rsi, rax
jne 0x1401f6b06
jmp 0x1401f6b29
cmp rsi, qword [rdi + 0x30]
je 0x1401f6b26
add rsi, 8
mov rcx, qword [rsi - 8]
test rcx, rcx
je 0x1401f6b00
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x140303ece.0]
jmp 0x1401f6b00
mov rsi, qword [rbx]
test rsi, rsi
setne al
sete dl
movzx ecx, byte [0x14055bdf0]
test cl, dl
jne 0x1401f6d83
mov r8d, ecx
not r8b
and r8b, dl
jne 0x1401f6d83
and cl, al
jne 0x1401f6d83
mov rax, qword [0x140510ef0]
movabs rcx, 0x426214611b8abded
mov rdx, rax
xor rdx, rcx
and rcx, rax
lea rcx, [rdx + rcx*2]
sub rcx, qword [rdi + 0x38]
add rcx, rsi
movabs rdx, 0xadf8f36bdfd7f239
xor rdx, rax
movabs r8, 0x52070c9420280dc6
xor r8, rax
and r8, rax
lea rax, [rdx + r8*2]
sub rax, rcx
movabs r8, 0x946920f53bb2cbb4
add r8, rax
cmp r8, 0x1000
jb 0x1401f6d56
mov r10, qword [rsi - 8]
mov rax, rsi
xor rax, 0xfffffffffffffff8
movabs rcx, 0x7ffffffffffffff8
and rcx, rsi
lea r11, [rax + rcx*2]
mov r9d, dword [0x140510e84]
lea eax, [r9 + 1]
mov dword [0x140510e84], eax
mov ecx, r9d
mov edx, 0xaf473a3
add edx, dword [0x140510eec]
not ecx
xor edx, eax
and edx, ecx
xor r9d, eax
mov eax, edx
xor eax, edx
not eax
and eax, r9d
and r9d, edx
xor r9d, edx
xor r9d, eax
xor r9d, 0xffffffff
je 0x1401f6c1e
xor ecx, ecx
jmp 0x1401f6cee
xor esi, esi
mov ecx, 0
test r15d, r15d
jle 0x1401f6cee
xor ecx, ecx
movsxd rax, esi
movzx edi, word [r14 + rax]
mov eax, dword [0x14055c49c]
nop
mov edx, dword [0x14055c49c]
mov r12d, dword [0x140510eec]
mov eax, edx
sub eax, r12d
add eax, 0xf50b8c5b
imul eax, edx
add r12d, 0xaf473a6
xor edx, edx
div r12d
test edx, edx
jne 0x1401f6c40
mov eax, ecx
not eax
and eax, edi
not ecx
or ecx, edi
not ecx
mov edx, eax
and edx, ecx
xor ecx, eax
xor ecx, edx
mov eax, dword [0x14055c49c]
nop word cs:[rax + rax]
mov eax, dword [0x14055c49c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401f6c90
jmp 0x1401f6cd1
mov eax, dword [0x14055c4a0]
mov edx, dword [0x140510eec]
mov edi, edx
xor edi, 0xaf47405
and edx, 0xaf47405
lea edx, [rdi + rdx*2]
cmp eax, edx
jge 0x1401f6cb0
mov eax, dword [0x14055c49c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401f6cb0
add esi, 2
cmp esi, r15d
jl 0x1401f6c30
sub r11, r10
mov al, 1
nop word cs:[rax + rax]
test al, al
jne 0x1401f6d24
nop word cs:[rax + rax]
mov edx, dword [0x14055c49c]
lea esi, [rdx - 1]
imul esi, edx
test sil, 1
jne 0x1401f6d10
jmp 0x1401f6d00
cmp r11, 0x20
setb al
movzx edx, byte [0x14055c41c]
mov r11d, edx
xor r11b, al
mov esi, edx
and sil, r11b
not r11b
and r11b, sil
test r11b, 1
jne 0x1401f6d4f
or al, dl
test al, 1
je 0x1401f6d92
add r8, 0x27
mov rsi, r10
mov dword [rsp + 0x20], 0x3d6d7c77
mov rcx, rsi
mov rdx, r8
mov r8d, 0xddb9d4d6
mov r9d, 0x82ea02f1
call fcn.1400a7e90
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, 0xaf473a5
lea rdx, [fcn.1401f69d0]
lea r8d, [rdx + rdx]
add r8d, 0x14a0
mov r11d, r8d
not r11d
nop
movzx edx, word [0x14042f890]
movzx r10d, word [0x140510efc]
cmp r9d, 1
adc r10w, 0xffff
mov esi, dword [0x140510eec]
add esi, eax
mov edi, r8d
xor edi, esi
not esi
and esi, r11d
or esi, edi
cmp esi, 0xffffffff
je 0x1401f6dea
movzx edx, word [0x14042f890]
jmp 0x1401f6db0
add r10d, 0x22da
mov eax, dword [0x140510efc]
sub eax, r10d
add eax, 0x22d9
mov r8d, dword [0x14055c4a0]
cmp r8d, 0x4f
jg 0x1401f6e30
mov r8d, edx
sub r8w, word [0x140510efc]
mov r9d, dword [0x14055c4a0]
cmp r9d, 0x13
jl 0x1401f6e4c
nop word cs:[rax + rax]
mov r8d, dword [0x14055c49c]
mov r9d, 0x2c9b356d
sub r9d, r8d
imul r9d, r8d
test r9b, 1
jne 0x1401f6e30
jmp 0x1401f6e0c
sub r8d, ecx
add r8d, 0xffffc74a
mov ecx, r8d
xor ecx, 0x15dc
and r8d, 0x15dc
lea ecx, [rcx + r8*2]
mov r8d, eax
not r8d
mov r9d, 0xffffdd26
mov r10d, ecx
not r10d
and r10d, eax
mov edx, ecx
xor edx, r8d
or edx, r10d
not edx
or edx, r10d
nop dword [rax]
mov r10d, dword [0x140510efc]
mov r11d, dword [0x14055c49c]
lea esi, [r11 - 1]
imul esi, r11d
test sil, 1
jne 0x1401f6e90
lea r11d, [r10 + 0x22d9]
xor ecx, r11d
sub r9d, r10d
and r8d, r11d
and eax, r9d
or eax, r8d
xor eax, ecx
not eax
and eax, ecx
or edx, eax
mov eax, 0x22d9
add eax, dword [0x140510efc]
mov ecx, edx
not ecx
mov r8d, ecx
xor r8d, eax
and ecx, eax
not eax
mov r9d, edx
and r9d, eax
or r9d, r8d
not r9d
xor eax, edx
or ecx, eax
not ecx
or ecx, r9d
mov edx, dword [0x14055c49c]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0xaf473a6
add r8d, dword [0x140510eec]
xor edx, edx
div r8d
test edx, edx
jne 0x1401f6f3c
test cx, cx
setne al
movzx r8d, byte [0x14055bdf0]
mov edx, dword [0x14055c49c]
lea r9d, [rdx - 1]
imul r9d, edx
test r9b, 1
je 0x1401f6f56
lea rax, [fcn.1401f69d0]
add eax, eax
add eax, 0x3c00
mov edx, eax
not edx
nop
test edx, eax
jne 0x1401f6f50
jmp 0x1401f6f1a
xor al, r8b
xor al, 1
and al, r8b
test cx, cx
sete cl
setne r9b
mov edx, r8d
xor dl, 1
xor r9b, dl
and r8b, cl
or r8b, r9b
xor r8b, 1
xor dl, cl
and dl, cl
or dl, r8b
mov r8d, eax
or r8b, dl
and r8b, 1
add dl, al
lea ecx, [rdx + rdx]
mov r9d, 0xaf473a4
mov eax, dword [0x14055c49c]
lea r10d, [rax - 1]
imul r10d, eax
test r10b, 1
jne 0x1401f6fbd
mov byte [0x14055bdf0], r8b
mov eax, dword [0x14055c4a0]
cmp eax, 0x22
jle 0x1401f6ffe
mov eax, ecx
mul dl
lea r10d, [rax + rdx]
sub al, r10b
mul r10b
add r10b, al
or r10b, al
and r10b, 1
mov byte [0x14055bdf0], r10b
mov eax, dword [0x14055c49c]
lea r10d, [rax - 1]
imul r10d, eax
and r10d, 1
mov eax, dword [0x140510eec]
add eax, r9d
cmp r10d, eax
jne 0x1401f6f97
jmp 0x1401f6fab
call fcn.1403c4adc
int3