Function at 0x14018a080
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
test ecx, ecx
je 0x14018a0b9
test edx, edx
je 0x14018a0f9
movzx eax, byte [0x14051d4f9]
cmp al, 0x90
je 0x14018a268
mov cl, 0x6a
nop dword [rax]
mov al, 0xcc
lock cmpxchg byte [0x14051d4f9], cl
je 0x14018a199
cmp al, 0x90
jne 0x14018a0a0
jmp 0x14018a268
mov eax, 0x6f69d2ef
add eax, dword [0x14051d6cc]
cmp edx, eax
jne 0x14018a160
movzx eax, byte [0x14051d485]
cmp al, 0x15
je 0x14018a3e0
mov cl, 0x17
nop dword [rax]
mov al, 0x83
lock cmpxchg byte [0x14051d485], cl
je 0x14018a2d0
cmp al, 0x15
jne 0x14018a0e0
jmp 0x14018a3e0
movzx eax, byte [0x14051d59b]
cmp al, 0x3d
je 0x14018a421
mov cl, 0x3b
mov dl, 1
nop dword [rax]
mov eax, dword [0x140575c5c]
cmp eax, 0x52
jg 0x14018a150
nop dword [rax + rax]
mov al, 0xac
lock cmpxchg byte [0x14051d59b], cl
sete r8b
cmp dword [0x14051d6cc], 0x90962d11
jne 0x14018a150
test r8b, r8b
jne 0x14018a274
cmp al, 0x3d
jne 0x14018a110
jmp 0x14018a421
mov al, 0xac
lock cmpxchg byte [0x14051d59b], cl
test dl, dl
je 0x14018a150
jmp 0x14018a120
movzx eax, byte [0x14051d4e0]
cmp al, 0x78
je 0x14018a418
mov cl, 0x66
nop word cs:[rax + rax]
mov al, 0x94
lock cmpxchg byte [0x14051d4e0], cl
je 0x14018a3a6
cmp al, 0x78
jne 0x14018a180
jmp 0x14018a418
xor eax, eax
lea rcx, [0x14051d4f0]
lea rdx, [0x14043d7f0]
mov r8d, 0x6f69d343
xor r9d, r9d
jmp 0x14018a1cd
inc r9d
cmp r9d, 9
jge 0x14018a260
movsxd r10, r9d
test al, al
jne 0x14018a200
nop word cs:[rax + rax]
movzx r11d, byte [r10 + rdx]
add byte [r10 + rcx], r11b
mov r11d, dword [0x140575c5c]
mov esi, dword [0x14051d6cc]
add esi, r8d
cmp r11d, esi
jl 0x14018a1c0
nop
mov bl, 0xb7
sub bl, byte [r10 + rcx]
movzx r11d, byte [r10 + rdx]
mov esi, ebx
xor sil, 0x49
and bl, 0x49
add bl, bl
add bl, sil
mov esi, ebx
xor sil, r11b
and bl, r11b
add bl, bl
add bl, sil
mov esi, ebx
neg sil
dec bl
xor bl, sil
and bl, r11b
xor bl, sil
and sil, r11b
add sil, sil
mov edi, ebx
xor dil, sil
and sil, bl
add sil, sil
add dil, r11b
add dil, sil
mov byte [r10 + rcx], dil
mov r11d, dword [0x140575c5c]
cmp r11d, 0x39
jge 0x14018a200
jmp 0x14018a1e0
mov al, 0x90
xchg byte [0x14051d4f9], al
lea rax, [0x14051d4f0]
jmp 0x14018a3f6
xor eax, eax
lea rcx, [0x14051d590]
lea rdx, [0x14043d890]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xa
jg 0x14018a2a8
inc rax
jmp 0x14018a290
mov ecx, dword [0x140575c58]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x6f69d2f1
add ecx, dword [0x14051d6cc]
xor edx, edx
div ecx
test edx, edx
jne 0x14018a43b
jmp 0x14018a42a
xor r8d, r8d
lea rax, [fcn.14018a080]
add eax, eax
add eax, 0x14a0
mov r9d, eax
not r9d
and r9d, eax
mov r10d, 0x6f69d2ef
lea r11, [0x14051d470]
lea rsi, [0x14043d780]
mov bl, 1
jmp 0x14018a31d
inc r8d
cmp r8d, 0x15
jge 0x14018a3d8
mov eax, dword [0x14051d6cc]
add eax, r10d
movsxd rdi, r8d
cmp r9d, eax
jne 0x14018a340
nop
movzx eax, byte [rdi + rsi]
add byte [rdi + r11], al
test bl, bl
jne 0x14018a310
nop dword [rax]
movzx eax, byte [rdi + r11]
movzx ecx, byte [rdi + rsi]
sub al, cl
add al, 0xa8
mov edx, eax
xor dl, 0x58
and al, 0x58
add al, al
add al, dl
mul cl
mov edx, eax
shl dl, cl
sub dl, al
sub al, dl
mul dl
sub al, dl
mul dl
sub al, dl
add al, 0x48
mov ecx, eax
xor cl, 0xb8
and al, 0x38
add al, al
add al, cl
mul dl
mov ebp, eax
mov ecx, edx
shl bpl, cl
sub bpl, al
add bpl, 0xed
mov eax, ebp
xor al, 0x13
and bpl, 0x13
add bpl, bpl
add bpl, al
mov byte [rdi + r11], bpl
mov eax, dword [0x140575c5c]
cmp eax, 0x15
jge 0x14018a340
jmp 0x14018a330
xor eax, eax
lea rcx, [0x14051d4d0]
lea rdx, [0x14043d7e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x14018a3e9
inc rax
jmp 0x14018a3c0
mov al, 0x15
xchg byte [0x14051d485], al
lea rax, [0x14051d470]
jmp 0x14018a3f6
mov eax, dword [0x140575c5c]
cmp eax, 0x14
jl 0x14018a3fb
jmp 0x14018a40e
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov al, 0x78
xchg byte [0x14051d4e0], al
mov eax, dword [0x140575c5c]
cmp eax, 0x5f
jle 0x14018a418
mov al, 0x78
xchg byte [0x14051d4e0], al
jmp 0x14018a3fb
lea rax, [0x14051d4d0]
jmp 0x14018a3f6
lea rax, [0x14051d590]
jmp 0x14018a3f6
mov eax, dword [0x140575c58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14018a446
mov al, 1
nop dword [rax]
test al, al
je 0x14018a440
jmp 0x14018a42a
mov al, 0x3d
xchg byte [0x14051d59b], al
jmp 0x14018a421