Function at 0x1401b6610
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
mov r8d, edx
test ecx, ecx
je 0x1401b66b1
test r8d, r8d
je 0x1401b67f5
movzx eax, byte [0x140511ac4]
cmp al, 0x93
je 0x1401b6985
mov cl, 0xd1
mov edx, 0x376c82e6
nop dword [rax]
mov eax, dword [0x140564610]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401b6690
mov al, 0xcc
lock cmpxchg byte [0x140511ac4], cl
sete r8b
mov r9d, dword [0x140564614]
cmp r9d, 0xf
jg 0x1401b6690
test r8b, r8b
jne 0x1401b68b0
cmp al, 0x93
jne 0x1401b6640
jmp 0x1401b6985
mov al, 0xcc
lock cmpxchg byte [0x140511ac4], cl
mov eax, dword [0x140564614]
mov r8d, dword [0x140511ee0]
add r8d, edx
cmp eax, r8d
jge 0x1401b6640
jmp 0x1401b6654
xor ecx, ecx
mov r9d, 0x376c82b8
nop dword [rax]
test cl, cl
jne 0x1401b66e3
mov edx, dword [0x140564610]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140511ee0]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
je 0x1401b66f0
mov eax, dword [0x140564614]
cmp eax, 0x32
jge 0x1401b66c0
jmp 0x1401b66c4
test r8d, r8d
je 0x1401b6809
movzx eax, byte [0x140511a9e]
cmp al, 0x27
je 0x1401b6b1e
mov cl, 0x52
lea rdx, [fcn.1401b6610]
lea eax, [rdx + rdx]
add eax, 0x4120
mov r8d, eax
not r8d
and r8d, eax
mov r9d, 0x376c82b6
mov r10d, 0x376c82c8
nop
mov eax, dword [0x140564610]
mov r11d, dword [0x140511ee0]
add r11d, eax
dec r11d
jmp 0x1401b6764
mov al, 0x1f
lock cmpxchg byte [0x140511a9e], cl
mov eax, dword [0x140564610]
lea r11d, [rax + 1]
imul r11d, eax
test r11b, 1
jne 0x1401b6750
mov al, 0x1f
lock cmpxchg byte [0x140511a9e], cl
sete r11b
mov esi, dword [0x140511ee0]
add esi, r9d
cmp r8d, esi
jne 0x1401b6750
test r11b, r11b
jne 0x1401b699f
mov r11d, dword [0x140564614]
mov esi, dword [0x140511ee0]
add esi, r10d
cmp r11d, esi
mov r11d, dword [0x140511ee0]
mov esi, r11d
xor esi, 0x376c82b7
not r11d
and r11d, 0x48937d48
or r11d, esi
not r11d
add r11d, r11d
mov edi, esi
xor edi, r11d
and r11d, esi
lea r11d, [rdi + r11*2]
lea esi, [rdx + rdx]
add esi, 0x4740
xor esi, r11d
not esi
test esi, r11d
jne 0x1401b67a6
cmp al, 0x27
jne 0x1401b6730
jmp 0x1401b6b1e
mov eax, dword [0x140564614]
cmp eax, 0x2c
jle 0x1401b6b66
jmp 0x1401b6b87
movzx eax, byte [0x140511a79]
cmp al, 0x31
je 0x1401b6af7
mov ecx, 0x376c82c0
mov edx, 0x376c82cd
mov r8d, 0x376c82b6
jmp 0x1401b6838
cmp al, 0x31
je 0x1401b6af7
movzx r9d, byte [0x140511edc]
lea eax, [r9 - 0x38]
lock cmpxchg byte [0x140511a79], r9b
je 0x1401b6a59
nop word cs:[rax + rax]
mov r9d, dword [0x140564614]
mov r10d, dword [0x140511ee0]
add r10d, ecx
cmp r9d, r10d
jge 0x1401b688c
mov r9d, dword [0x140564614]
mov r10d, dword [0x140511ee0]
add r10d, edx
cmp r9d, r10d
jl 0x1401b6830
mov r9d, dword [0x140564610]
lea r10d, [r9 + 1]
imul r10d, r9d
and r10d, 1
mov r9d, dword [0x140511ee0]
add r9d, r8d
cmp r10d, r9d
jne 0x1401b6860
jmp 0x1401b6876
mov r9d, 0xffffffff
xor r10d, r10d
lea r11, [0x140511ab0]
lea rsi, [0x14042d4b0]
nop word [rax + rax]
mov eax, dword [0x140564610]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401b6920
nop word cs:[rax + rax]
movzx eax, byte [r10 + rsi]
add byte [r10 + r11], al
mov eax, dword [0x140564614]
cmp eax, 0x1c
jg 0x1401b6920
lea eax, [r10 + 1]
cmp eax, 0x13
jg 0x1401b6958
add r9d, 2
inc r10
jmp 0x1401b68d0
movzx eax, byte [r10 + r11]
movzx ecx, byte [r10 + rsi]
sub al, cl
mul cl
mov edx, eax
shl dl, cl
mov eax, edx
neg al
mov r8d, eax
xor r8b, cl
and cl, al
add cl, cl
add cl, r8b
mov r8d, edx
shl r8b, cl
mov ecx, r8d
shl dl, cl
mul dl
add al, dl
mov byte [r10 + r11], al
jmp 0x1401b68f0
mov al, 1
jmp 0x1401b6968
mov cl, 0x93
xchg byte [0x140511ac4], cl
test al, al
je 0x1401b6960
mov cl, 0x93
xchg byte [0x140511ac4], cl
mov ecx, dword [0x140564610]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401b6960
mov eax, dword [0x140564610]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401b6ce5
jmp 0x1401b6cd4
xor r8d, r8d
lea r9, [0x140511a90]
lea r10, [0x14042d490]
mov r11d, 0x376c82b8
jmp 0x1401b69c9
inc r8d
cmp r8d, 0xe
jge 0x1401b6a45
mov eax, dword [0x140564610]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, r8d
test cl, 1
jne 0x1401b6a00
nop dword [rax]
movzx eax, byte [rsi + r10]
add byte [rsi + r9], al
cmp dword [0x140511ee0], 0xc8937d4a
je 0x1401b69c0
nop word cs:[rax + rax]
movzx ecx, byte [rsi + r9]
movzx edx, byte [rsi + r10]
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
sub al, dl
mul dl
sub dl, al
mov ecx, edx
shl al, cl
mov byte [rsi + r9], al
mov ecx, dword [0x140564610]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140511ee0]
add ecx, r11d
xor edx, edx
div ecx
test edx, edx
jne 0x1401b6a00
jmp 0x1401b69e0
mov eax, dword [0x140564614]
cmp eax, 0x5e
jl 0x1401b6b01
jmp 0x1401b6b14
xor eax, eax
lea rcx, [0x140511a70]
lea rdx, [0x14042d470]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x1401b6a88
inc rax
jmp 0x1401b6a70
mov eax, 0x376c82b7
lea rcx, [fcn.1401b6610]
add ecx, ecx
add ecx, 0x2fe0
mov edx, ecx
not edx
mov r8d, dword [0x140564610]
mov r9d, dword [0x140511ee0]
neg r9d
add r9d, r8d
inc r9d
imul r9d, r8d
test r9b, 1
jne 0x1401b6ace
mov r8d, dword [0x140564614]
cmp r8d, 0x38
jle 0x1401b6aef
mov r8d, dword [0x140511ee0]
add r8d, eax
mov r9d, ecx
xor r9d, r8d
not r8d
and r8d, edx
or r8d, r9d
cmp r8d, 0xffffffff
jne 0x1401b6aa0
jmp 0x1401b6ac1
mov al, 0x31
xchg byte [0x140511a79], al
lea rax, [0x140511a70]
pop rdi
pop rsi
ret
mov al, 0x27
xchg byte [0x140511a9e], al
mov eax, dword [0x140564614]
cmp eax, 0x57
jle 0x1401b6b1e
mov al, 0x27
xchg byte [0x140511a9e], al
jmp 0x1401b6b01
mov eax, dword [0x140564614]
cmp eax, 0x2e
jg 0x1401b6b50
mov eax, dword [0x140564610]
mov ecx, dword [0x140511ee0]
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
je 0x1401b6b5d
nop word cs:[rax + rax]
mov eax, dword [0x140564614]
cmp eax, 0x16
jge 0x1401b6b50
jmp 0x1401b6b29
lea rax, [0x140511a90]
jmp 0x1401b6afe
movzx eax, byte [0x140511a23]
mov ecx, dword [0x140564610]
mov edx, dword [0x140511ee0]
neg edx
add edx, ecx
inc edx
imul edx, ecx
test dl, 1
je 0x1401b6b94
movzx eax, byte [0x140511a23]
jmp 0x1401b6b66
test cl, cl
jne 0x1401b6c0f
cmp al, 0x2d
je 0x1401b6cc8
mov eax, dword [0x140511ee0]
mov ecx, eax
xor ecx, 0x376c82b6
and eax, 0x376c82b6
add eax, eax
add eax, ecx
jne 0x1401b6bed
movzx ecx, byte [0x140511edc]
lea eax, [rcx - 0x77]
mov edx, ecx
xor dl, 0xc6
and cl, 0x46
add cl, cl
add cl, dl
add cl, 0x9f
lock cmpxchg byte [0x140511a23], cl
sete cl
mov edx, dword [0x140564610]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
je 0x1401b6b90
movzx ecx, byte [0x140511edc]
lea eax, [rcx - 0x77]
add cl, 0x65
lock cmpxchg byte [0x140511a23], cl
mov eax, dword [0x140564614]
cmp eax, 0x22
jge 0x1401b6b9c
jmp 0x1401b6bb5
xor r8d, r8d
lea rax, [0x140511a20]
lea rcx, [0x14042d420]
mov edx, 0x376c82b7
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x140511ee0]
add r9d, edx
add r8d, 0xd86d817e
mov r10d, r8d
xor r10d, r9d
and r8d, r9d
lea r8d, [r10 + r8*2]
add r8d, 0x27927e82
cmp r8d, 3
jl 0x1401b6c30
mov eax, dword [0x140564610]
xor eax, eax
nop
test al, al
jne 0x1401b6c70
mov eax, dword [0x140564610]
lea ecx, [rax - 1]
imul ecx, eax
jmp 0x1401b6cae
mov al, 0x2d
xchg byte [0x140511a23], al
mov eax, dword [0x140564610]
mov ecx, 0x6e82ca83
sub ecx, dword [0x140511ee0]
xor ecx, eax
imul ecx, eax
test cl, 1
jne 0x1401b6c90
movzx eax, byte [0x140511edc]
add al, 0x57
xchg byte [0x140511a23], al
mov al, 1
test al, al
je 0x1401b6c90
lea rax, [0x140511a20]
jmp 0x1401b6afe
mov eax, dword [0x140564610]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1401b6cf6
mov al, 1
nop word [rax + rax]
test al, al
je 0x1401b6cf0
jmp 0x1401b6cd4
lea rax, [0x140511ab0]
jmp 0x1401b6afe