Function at 0x1401c75d0
Capabilities:
Encode data using xor

Disassembly:
mov r8d, edx
test ecx, ecx
je 0x1401c7640
mov eax, dword [0x140531cb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop word cs:[rax + rax]
xor eax, eax
test al, al
jne 0x1401c75f0
test r8d, r8d
je 0x1401c7668
movzx eax, byte [0x1404e5b9a]
cmp al, 0x56
je 0x1401c7638
xor ecx, ecx
nop dword [rax + rax]
movzx edx, byte [0x1404e6608]
lea eax, [rdx + 0x23]
add dl, 0x87
lock cmpxchg byte [0x1404e5b9a], dl
je 0x1401c7698
test cl, cl
mov edx, dword [0x140531cbc]
cmp edx, 0x31
jg 0x1401c7629
cmp al, 0x56
jne 0x1401c7610
lea rax, [0x1404e5b90]
ret
mov ecx, dword [0x140531cb8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x2409cd59
add ecx, dword [0x1404e660c]
xor edx, edx
div ecx
test edx, edx
jne 0x1401c7760
jmp 0x1401c7753
movzx eax, byte [0x1404e5b15]
cmp al, 0xf7
je 0x1401c7690
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 0x58
lock cmpxchg byte [0x1404e5b15], cl
je 0x1401c76ff
cmp al, 0xf7
jne 0x1401c7680
lea rax, [0x1404e5b00]
ret
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1401c76a0
xor eax, eax
lea rcx, [0x1404e5b90]
lea rdx, [0x140405b90]
nop word cs:[rax + rax]
cdqe
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
mov r8d, dword [0x1404e660c]
mov r9d, r8d
xor r9d, 0x2409cd58
and r8d, 0x2409cd58
lea r8d, [r9 + r8*2]
add eax, r8d
cmp eax, 0xa
jl 0x1401c76c0
mov al, 0x56
xchg byte [0x1404e5b9a], al
lea rax, [0x1404e5b90]
ret
xor eax, eax
lea rcx, [0x1404e5b00]
lea rdx, [0x140405b10]
nop
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x1401c773c
inc rax
jmp 0x1401c7710
movzx eax, byte [0x1404e6608]
add al, 0xc9
xchg byte [0x1404e5b15], al
lea rax, [0x1404e5b00]
ret
mov al, 1
test al, al
jne 0x1401c776d
nop dword [rax]
mov eax, dword [0x140531cbc]
cmp eax, 0x1b
jge 0x1401c7760
jmp 0x1401c7753
test r8d, r8d
je 0x1401c77a5
movzx eax, byte [0x1404e5ba3]
cmp al, 0xb5
je 0x1401c793c
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x29
lock cmpxchg byte [0x1404e5ba3], cl
je 0x1401c77dc
cmp al, 0xb5
jne 0x1401c7790
jmp 0x1401c793c
movzx eax, byte [0x1404e5af0]
cmp al, 0xe8
je 0x1401c77d4
mov cl, 0x95
nop word cs:[rax + rax]
mov al, 0x17
lock cmpxchg byte [0x1404e5af0], cl
je 0x1401c7860
cmp al, 0xe8
jne 0x1401c77c0
lea rax, [0x1404e5ae0]
ret
xor eax, eax
lea rcx, [0x1404e5ba0]
lea rdx, [0x140405ba0]
nop dword [rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
mov r9d, dword [0x1404e660c]
mov r10d, r9d
xor r10d, 0x2409cd5a
not r9d
and r9d, 0x5bf632a5
or r9d, r10d
not r9d
add r9d, r9d
mov r11d, r10d
xor r11d, r9d
and r9d, r10d
lea r9d, [r11 + r9*2]
cmp r8d, r9d
jge 0x1401c784c
inc rax
jmp 0x1401c77f0
mov eax, dword [0x140531cbc]
cmp eax, 0x2a
jge 0x1401c7900
jmp 0x1401c78e6
xor eax, eax
lea rcx, [0x1404e5ae0]
lea rdx, [0x140405b00]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x1401c7898
inc rax
jmp 0x1401c7870
mov eax, dword [0x140531cbc]
cmp eax, 0x18
jge 0x1401c78b9
lea rax, [fcn.1401c75d0]
add eax, eax
add eax, 0x1f20
mov ecx, eax
not ecx
test ecx, eax
je 0x1401c78d6
lea rax, [fcn.1401c75d0]
add eax, eax
add eax, 0x2760
mov ecx, eax
not ecx
nop dword [rax + rax]
test ecx, eax
jne 0x1401c78d0
jmp 0x1401c78a3
mov al, 0xe8
xchg byte [0x1404e5af0], al
lea rax, [0x1404e5ae0]
ret
mov al, 0xb5
xchg byte [0x1404e5ba3], al
mov eax, dword [0x140531cbc]
cmp eax, 0x5e
jl 0x1401c793c
nop dword [rax]
mov al, 0xb5
xchg byte [0x1404e5ba3], al
mov eax, dword [0x140531cb8]
mov ecx, dword [0x1404e660c]
mov edx, eax
sub edx, ecx
add edx, 0x7d993910
imul edx, eax
lea eax, [rcx + 0x2409cd82]
mov dword [0x140531cbc], eax
and edx, 1
add ecx, 0x2409cd57
cmp edx, ecx
jne 0x1401c7900
jmp 0x1401c78e6
lea rax, [0x1404e5ba0]
ret