Function at 0x1401e7da0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
test ecx, ecx
je 0x1401e7ef5
test edx, edx
je 0x1401e7f39
lea rax, [fcn.1401e7da0]
add eax, eax
add eax, 0x3fc0
mov ecx, eax
not ecx
nop word cs:[rax + rax]
mov edx, dword [0x14061db70]
mov r8d, 0xfbf28974
sub r8d, edx
add edx, 0x40d768b
and edx, ecx
mov r9d, eax
and r9d, r8d
or r9d, edx
and r8d, ecx
or r8d, r9d
cmp r8d, 0xffffffff
jne 0x1401e7e10
movzx edx, byte [0x14061d630]
mov r8d, dword [0x14069416c]
cmp r8d, 0x35
jle 0x1401e7e24
movzx edx, byte [0x14061d630]
mov edx, dword [0x14069416c]
cmp edx, 0x4a
jge 0x1401e7dd0
jmp 0x1401e7dfc
cmp dl, 0x78
je 0x1401e84e2
mov cl, 0x68
lea rax, [fcn.1401e7da0]
lea edx, [rax + rax]
add edx, 0x46e0
mov r8d, edx
not r8d
jmp 0x1401e7e8b
mov al, 0x88
lock cmpxchg byte [0x14061d630], cl
mov eax, dword [0x14061db70]
mov r9d, eax
xor r9d, 0x90b301e1
and eax, 0x10b301e1
lea eax, [r9 + rax*2]
add eax, 0x735a74aa
mov r9d, edx
xor r9d, eax
not eax
and eax, r8d
or eax, r9d
cmp eax, 0xffffffff
je 0x1401e7e96
mov eax, dword [0x14069416c]
cmp eax, 0x50
jg 0x1401e7e50
movzx r9d, byte [0x14061db80]
mov eax, r9d
xor al, 0x24
and al, r9b
mov r10d, r9d
mov r11d, r9d
xor r11b, 0x44
and r11b, r9b
xor r9b, 0x5b
add al, al
add al, r9b
xor r10b, 0x3b
add r11b, r11b
add r11b, r10b
lock cmpxchg byte [0x14061d630], r11b
sete r9b
cmp dword [0x14061db70], 0xfbf28976
jne 0x1401e7e50
test r9b, r9b
jne 0x1401e80b2
cmp al, 0x78
jne 0x1401e7e8b
jmp 0x1401e84e2
test edx, edx
je 0x1401e7ff7
movzx eax, byte [0x14061d672]
movzx ecx, byte [0x14061db80]
add cl, 0x44
cmp al, cl
je 0x1401e848b
mov cl, 0x70
nop dword [rax + rax]
mov al, 0xa6
lock cmpxchg byte [0x14061d672], cl
je 0x1401e8190
cmp al, 0x71
jne 0x1401e7f20
jmp 0x1401e848b
movzx eax, byte [0x14061d81d]
movzx ecx, byte [0x14061db80]
add cl, 0xde
cmp al, cl
je 0x1401e8330
mov r8b, 0x8e
mov r9d, 0x40d768c
mov r10b, 1
nop
mov eax, dword [0x140694168]
mov ecx, dword [0x14061db70]
lea edx, [rcx + rax]
dec edx
imul edx, eax
and edx, 1
add ecx, 0x40d768a
cmp edx, ecx
jne 0x1401e7fc0
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x14061d81d], r8b
mov ecx, eax
sete r11b
mov edx, dword [0x140694168]
lea eax, [rdx - 1]
imul eax, edx
mov esi, dword [0x14061db70]
add esi, r9d
xor edx, edx
div esi
test edx, edx
je 0x1401e7fe0
nop
mov al, 0x9d
lock cmpxchg byte [0x14061d81d], r8b
test r10b, r10b
je 0x1401e7fc0
jmp 0x1401e7f90
test r11b, r11b
jne 0x1401e821b
cmp cl, 0xb
jne 0x1401e7f60
jmp 0x1401e8330
movzx eax, byte [0x14061d68e]
cmp al, 0x72
je 0x1401e845c
movabs rcx, 0xca9334e9cae0d0c2
mov dl, 0xf1
lea rax, [fcn.1401e7da0]
lea r8d, [rax + rax]
add r8d, 0x1b20
mov r9d, r8d
not r9d
nop word [rax + rax]
mov rax, qword [0x14061db78]
add rax, rcx
cmp qword [0x140693d58], rax
jne 0x1401e8080
nop word cs:[rax + rax]
mov al, 0x21
lock cmpxchg byte [0x14061d68e], dl
sete r10b
mov r11d, dword [0x140694168]
lea esi, [r11 - 1]
imul esi, r11d
test sil, 1
je 0x1401e80a0
nop word cs:[rax + rax]
movzx r10d, byte [0x14061db80]
lea eax, [r10 - 0xc]
add r10b, 0xc4
lock cmpxchg byte [0x14061d68e], r10b
test r9d, r8d
jne 0x1401e8080
jmp 0x1401e8050
test r10b, r10b
jne 0x1401e8344
cmp al, 0x72
jne 0x1401e8030
jmp 0x1401e845c
xor r9d, r9d
lea r10, [0x14061d620]
lea r11, [0x140534e80]
xor esi, esi
jmp 0x1401e80e6
mov eax, esi
xor eax, 0x7ffffffe
and eax, esi
mov ecx, esi
xor ecx, 1
lea esi, [rcx + rax*2]
cmp esi, 0x10
jge 0x1401e815b
movsxd rdi, esi
test r9b, r9b
jne 0x1401e8111
nop
movzx eax, byte [rdi + r11]
add byte [rdi + r10], al
mov eax, dword [0x140694168]
mov ecx, dword [0x14061db70]
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
je 0x1401e80d0
movzx ecx, byte [rdi + r11]
movzx edx, byte [rdi + r10]
xor eax, eax
sub al, dl
mov edx, eax
xor dl, cl
and al, cl
add al, al
add al, dl
mov edx, eax
shl dl, cl
sub al, dl
mul dl
sub al, dl
mul dl
sub al, dl
mul dl
mov r8d, eax
mov ebx, eax
mov ecx, edx
shl bl, cl
sub al, bl
mul bl
mov ecx, eax
sub cl, r8b
mov eax, r8d
sub al, cl
mul cl
add al, r8b
mov byte [rdi + r10], al
jmp 0x1401e80f0
mov eax, dword [0x140694168]
nop word cs:[rax + rax]
mov eax, dword [0x140694168]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401e8170
mov al, 1
test al, al
jne 0x1401e84bf
jmp 0x1401e84d8
xor eax, eax
lea rcx, [0x14061d660]
lea rdx, [0x140534eb0]
xor r8d, r8d
nop word cs:[rax + rax]
mov r9d, dword [0x140694168]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x1401e8210
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [rax + rcx]
xor r10b, r9b
mov byte [rax + rcx], r10b
mov r9d, dword [0x14069416c]
cmp r9d, 0x34
jg 0x1401e8210
lea r9d, [rax + 1]
cmp r9d, 0x11
jg 0x1401e8261
dec r8d
inc rax
jmp 0x1401e81b0
movzx r9d, byte [rax + rdx]
xor byte [rax + rcx], r9b
jmp 0x1401e81d0
xor eax, eax
lea rcx, [0x14061d810]
lea rdx, [0x140535060]
mov r8d, 0x40d7697
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x14061db70]
add r10d, r8d
cmp r9d, r10d
jge 0x1401e827b
inc rax
jmp 0x1401e8240
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e8481
jmp 0x1401e8468
mov eax, 0x40d768a
lea rcx, [fcn.1401e7da0]
add ecx, ecx
add ecx, 0x49a0
mov edx, ecx
not edx
nop word cs:[rax + rax]
mov r8d, dword [0x140694168]
mov r9d, 0x70aa5af5
sub r9d, r8d
imul r9d, r8d
test r9b, 1
je 0x1401e8304
mov r8b, 0xb
xchg byte [0x14061d81d], r8b
mov r8d, dword [0x14061db70]
lea r9d, [r8 + 0x40d768b]
mov r10d, r9d
not r10d
mov r11d, edx
and r11d, r9d
mov esi, ecx
and esi, r10d
or esi, r11d
xor r10d, edx
and r9d, ecx
or r9d, r10d
not r9d
or r9d, esi
not r9d
add r8d, 0x40d768a
cmp r9d, r8d
jne 0x1401e82a0
mov r8b, 0xb
xchg byte [0x14061d81d], r8b
mov r8d, dword [0x140694168]
lea r9d, [r8 + 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x14061db70]
add r8d, eax
cmp r9d, r8d
jne 0x1401e82ba
mov eax, dword [0x14069416c]
cmp eax, 0xd
jle 0x1401e8494
jmp 0x1401e84a9
xor r8d, r8d
lea rax, [fcn.1401e7da0]
lea r9d, [rax + rax]
add r9d, 0x4b60
mov r10d, r9d
not r10d
lea r11, [0x14061d680]
lea rsi, [0x140534ed0]
mov edi, 0x40d76bb
jmp 0x1401e838d
inc r8d
cmp r8d, 0xe
jge 0x1401e8442
movsxd rbx, r8d
test r10d, r9d
jne 0x1401e83c0
nop word cs:[rax + rax]
movzx eax, byte [rbx + rsi]
add byte [rbx + r11], al
mov eax, dword [0x14069416c]
mov ecx, dword [0x14061db70]
add ecx, edi
cmp eax, ecx
jl 0x1401e8380
nop word [rax + rax]
movzx eax, byte [rbx + r11]
movzx ecx, byte [0x14061db80]
mov edx, eax
neg dl
sub cl, al
add cl, byte [rbx + rsi]
add cl, 0xd3
mov ebp, edx
xor bpl, cl
and cl, dl
add cl, cl
mov edx, ebp
xor dl, cl
and cl, bpl
add cl, cl
add cl, dl
sub cl, al
sub cl, al
shl al, cl
sub al, cl
mul cl
sub al, cl
mul cl
shl al, cl
xor cl, al
mov edx, ecx
not dl
and dl, al
add dl, dl
add dl, cl
mov byte [rbx + r11], dl
mov ecx, dword [0x140694168]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14061db70]
mov edx, ecx
xor edx, 0x40d768c
not ecx
and ecx, 0x7bf28973
or ecx, edx
not ecx
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
jne 0x1401e83c0
jmp 0x1401e83a0
mov eax, dword [0x14069416c]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1401e8450
mov al, 0x72
xchg byte [0x14061d68e], al
lea rax, [0x14061d680]
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov al, 0x71
xchg byte [0x14061d672], al
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401e848b
mov al, 0x71
xchg byte [0x14061d672], al
jmp 0x1401e8468
lea rax, [0x14061d660]
jmp 0x1401e8463
mov eax, dword [0x140694168]
mov ecx, eax
not ecx
add ecx, 0xfffffffe
imul ecx, eax
test cl, 1
je 0x1401e84b6
mov al, 1
nop dword [rax + rax]
test al, al
je 0x1401e84b0
jmp 0x1401e8494
lea rax, [0x14061d810]
jmp 0x1401e8463
mov al, 0x78
xchg byte [0x14061d630], al
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401e84e2
mov al, 0x78
xchg byte [0x14061d630], al
jmp 0x1401e84bf
lea rax, [0x14061d620]
jmp 0x1401e8463