Function at 0x140213160
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
test ecx, ecx
je 0x1402131e7
test edx, edx
je 0x1402132a8
movzx eax, byte [0x14061fe1d]
cmp al, 0x41
je 0x140213553
mov cl, 0x3f
lea rax, [fcn.140213160]
lea edx, [rax + rax]
add edx, 0x2a80
nop word cs:[rax + rax]
mov al, 0x37
lock cmpxchg byte [0x14061fe1d], cl
je 0x140213349
mov r8d, dword [0x1406215d0]
lea r9d, [r8 + 0x76a2eb09]
xor r9d, edx
not r9d
and r9d, edx
add r8d, 0x76a2eb08
cmp r9d, r8d
mov r8d, dword [0x14069425c]
cmp r8d, 0x35
jg 0x1402131d1
cmp al, 0x41
jne 0x1402131a0
jmp 0x140213553
mov eax, 0x76a2eb08
xor ecx, ecx
nop
mov r8d, dword [0x14069425c]
cmp r8d, 0x10
jg 0x140213201
test cl, cl
je 0x140213218
mov r8d, dword [0x140694258]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1402131f0
jmp 0x1402131fd
add eax, dword [0x1406215d0]
cmp edx, eax
jne 0x140213316
movzx eax, byte [0x14061fafd]
movzx ecx, byte [0x1406215d4]
add cl, 0xe
cmp al, cl
je 0x14021348e
mov cl, 0xac
mov dl, 1
jmp 0x14021326a
mov r9d, r8d
xor r9b, 0xe
and r8b, 0xe
add r8b, r8b
add r8b, r9b
cmp al, r8b
je 0x14021348e
mov al, 0x8f
lock cmpxchg byte [0x14061fafd], cl
je 0x1402133a5
nop word [rax + rax]
mov r8d, dword [0x14069425c]
cmp r8d, 0x46
jg 0x1402132a2
movzx r8d, byte [0x1406215d4]
mov r9d, dword [0x14069425c]
cmp r9d, 0x31
jle 0x140213250
test dl, dl
je 0x140213280
jmp 0x14021328d
movzx eax, byte [0x14061fe01]
movzx ecx, byte [0x1406215d4]
add cl, 0xc7
cmp al, cl
je 0x140213399
mov cl, 0xba
mov dl, 1
jmp 0x1402132d8
cmp al, 0x2a
je 0x140213399
mov al, 0xaf
lock cmpxchg byte [0x14061fe01], cl
je 0x14021335d
mov r8d, dword [0x14069425c]
cmp r8d, 0x52
jg 0x140213310
nop word cs:[rax + rax]
mov r8d, dword [0x14069425c]
cmp r8d, 0x53
jl 0x1402132d0
nop dword [rax]
test dl, dl
je 0x140213310
jmp 0x140213300
movzx eax, byte [0x14061fb61]
cmp al, 0x61
je 0x140213547
mov cl, 0x6f
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x14061fb61], cl
je 0x1402133dc
cmp al, 0x61
jne 0x140213330
jmp 0x140213547
mov eax, dword [0x14069425c]
cmp eax, 0xd
jg 0x140213570
jmp 0x14021355c
xor edx, edx
lea rax, [0x14061fdf0]
lea rcx, [0x140535df0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x1406215d0]
add edx, r8d
add edx, 0x76a2eb09
cmp edx, 0x11
jl 0x140213370
mov al, 0x2a
xchg byte [0x14061fe01], al
lea rax, [0x14061fdf0]
jmp 0x14021354e
xor eax, eax
lea rcx, [0x14061fae0]
lea rdx, [0x140535af0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x1c
jg 0x140213486
inc rax
jmp 0x1402133c0
xor r9d, r9d
lea r10, [0x14061fb50]
lea r11, [0x140535b60]
mov bl, 1
xor esi, esi
jmp 0x140213414
mov eax, esi
xor eax, 1
and esi, 1
lea esi, [rax + rsi*2]
cmp esi, 0x11
jge 0x14021349a
movsxd rdi, esi
test r9b, r9b
jne 0x140213430
nop dword [rax]
movzx eax, byte [rdi + r11]
xor byte [rdi + r10], al
test bl, bl
jne 0x140213400
nop dword [rax]
movzx eax, byte [rdi + r10]
movzx ecx, byte [rdi + r11]
sub cl, al
sub al, cl
mul cl
mov edx, eax
shl dl, cl
sub dl, al
mov ecx, edx
shl al, cl
mov r8d, eax
shl r8b, cl
mov ecx, r8d
shl al, cl
mov edx, r8d
sub dl, al
mov ebp, edx
mov ecx, r8d
shl bpl, cl
mov eax, edx
sub al, bpl
mul bpl
mov ecx, eax
mov eax, edx
sub al, cl
mul cl
mov ecx, eax
xor cl, al
not cl
and cl, dl
xor cl, al
mov byte [rdi + r10], cl
test bl, bl
je 0x140213430
jmp 0x140213420
mov al, 0x71
xchg byte [0x14061fafd], al
lea rax, [0x14061fae0]
jmp 0x14021354e
mov eax, 0x76a2eb09
lea rcx, [fcn.140213160]
add ecx, ecx
add ecx, 0x43c0
nop
mov edx, dword [0x1406215d0]
add edx, eax
test ecx, edx
jne 0x1402134c7
mov edx, dword [0x14069425c]
cmp edx, 0x46
jl 0x1402134e6
mov edx, dword [0x140694258]
mov r8d, dword [0x1406215d0]
add r8d, edx
dec r8d
imul r8d, edx
test r8b, 1
jne 0x1402134b0
jmp 0x1402134bc
mov ecx, 0x76a2eb0a
xor r8d, r8d
mov r9d, 0x76a2eb17
nop word cs:[rax + rax]
mov edx, dword [0x140694258]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x1406215d0]
add r10d, ecx
xor edx, edx
div r10d
test edx, edx
je 0x14021353a
mov al, 0x61
xchg byte [0x14061fb61], al
mov eax, dword [0x14069425c]
mov edx, dword [0x1406215d0]
add edx, r9d
cmp eax, edx
jge 0x140213500
mov al, 0x61
xchg byte [0x14061fb61], al
test r8b, r8b
jne 0x14021351f
lea rax, [0x14061fb50]
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea rax, [0x14061fe10]
jmp 0x14021354e
mov eax, dword [0x14069425c]
cmp eax, 0x4a
jl 0x14021357d
nop word [rax + rax]
mov eax, dword [0x14069425c]
cmp eax, 0x5a
jge 0x140213570
jmp 0x14021355c
xor edx, edx
lea rax, [0x14061fe10]
lea rcx, [0x140535e10]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, dword [0x1406215d0]
add edx, r8d
add edx, 0x76a2eb09
cmp edx, 0xd
jl 0x140213590
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1402135dd
cmp byte [0x140694270], 0
je 0x1402135ea
mov ecx, dword [0x14069425c]
cmp ecx, 0x41
jge 0x1402135d0
jmp 0x1402135d4
mov al, 0x41
xchg byte [0x14061fe1d], al
jmp 0x140213553