Function at 0x1401e97e0
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov r8d, edx
test ecx, ecx
je 0x1401e9843
mov ecx, dword [0x1404bfc18]
mov r9d, dword [0x140480a84]
mov eax, r9d
xor eax, 0x136d98df
mov edx, r9d
and edx, 0x136d98df
lea edx, [rax + rdx*2]
mov eax, ecx
sub eax, edx
imul eax, ecx
add r9d, 0x136d98e0
xor edx, edx
div r9d
test edx, edx
nop
xor eax, eax
test al, al
jne 0x1401e9820
test r8d, r8d
je 0x1401e98b5
mov eax, dword [0x1404bfc1c]
cmp eax, 0x45
jg 0x1401e9bb0
jmp 0x1401e9b66
test r8d, r8d
je 0x1401e98f8
nop dword [rax]
mov eax, dword [0x1404bfc1c]
cmp eax, 0x4f
jle 0x1401e986d
movzx eax, byte [0x14047edfd]
mov eax, dword [0x1404bfc1c]
cmp eax, 0x31
jge 0x1401e9850
movzx eax, byte [0x14047edfd]
movzx ecx, byte [0x140480a80]
mov edx, dword [0x1404bfc1c]
cmp edx, 0x4a
jg 0x1401e985b
add cl, 0x40
cmp al, cl
je 0x1401e9a4c
mov cl, 0x79
nop word cs:[rax + rax]
mov al, 0x1d
lock cmpxchg byte [0x14047edfd], cl
je 0x1401e9907
cmp al, 0x95
jne 0x1401e98a0
jmp 0x1401e9a4c
movzx eax, byte [0x14047eaf5]
cmp al, 0x3b
je 0x1401e9a19
mov cl, 0x97
xor edx, edx
nop dword [rax + rax]
mov al, 0xfc
lock cmpxchg byte [0x14047eaf5], cl
je 0x1401e99dd
mov r8d, dword [0x1404bfc1c]
cmp r8d, 0x37
test dl, dl
jne 0x1401e98eb
cmp al, 0x3b
jne 0x1401e98d0
jmp 0x1401e9a19
xor eax, eax
test al, al
jne 0x1401e9a6d
jmp 0x1401e9a55
mov eax, 0xffffffff
mov edx, 1
xor r8d, r8d
lea r9, [0x14047edf0]
lea r10, [0x1403983b0]
nop word cs:[rax + rax]
mov ecx, dword [0x1404bfc18]
lea r11d, [rcx - 1]
imul r11d, ecx
test r11b, 1
jne 0x1401e9990
nop word cs:[rax + rax]
movzx ecx, byte [r8 + r10]
mov r11d, ecx
xor r11b, cl
not r11b
and r11b, byte [r8 + r9]
xor r11b, cl
mov byte [r8 + r9], r11b
cmp dword [0x140480a84], 0xec926722
jne 0x1401e9990
lea ecx, [r8 + 1]
cmp ecx, 0xc
jg 0x1401e9a44
add eax, 2
dec edx
inc r8
jmp 0x1401e9930
movzx r11d, byte [r8 + r9]
movzx ecx, byte [r8 + r10]
movzx ebx, byte [0x140480a80]
sub r11b, cl
add r11b, bl
add r11b, 0xab
add cl, r11b
add r11b, cl
add cl, bl
add cl, 0xab
mov ebx, r11d
xor bl, cl
and r11b, cl
add r11b, r11b
add r11b, bl
mov ebx, r11d
shl bl, cl
mov ecx, ebx
xor cl, bl
not cl
and cl, r11b
xor cl, bl
mov byte [r8 + r9], cl
jmp 0x1401e9950
xor edx, edx
lea rax, [0x14047eae0]
lea rcx, [0x1403980c0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x140480a84]
add edx, r8d
add edx, 0x136d98df
cmp edx, 0x15
jl 0x1401e99f0
mov al, 0x3b
xchg byte [0x14047eaf5], al
mov eax, 0x136d98df
add eax, dword [0x140480a84]
lea rcx, [fcn.1401e97e0]
add ecx, ecx
add ecx, 0x2620
xor eax, ecx
not eax
test eax, ecx
jne 0x1401e9b50
jmp 0x1401e9b40
mov al, 0x95
xchg byte [0x14047edfd], al
lea rax, [0x14047edf0]
pop rbx
ret
movzx eax, byte [0x14047ed20]
mov ecx, dword [0x1404bfc18]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1401e9a76
movzx eax, byte [0x14047ed20]
jmp 0x1401e9a55
cmp al, 0xc3
je 0x1401e9b37
mov r8b, 0x49
mov r9d, 0x136d98e0
nop word [rax + rax]
mov eax, dword [0x1404bfc1c]
cmp eax, 0x35
jg 0x1401e9ad0
nop dword [rax + rax]
mov al, 0xaf
lock cmpxchg byte [0x14047ed20], r8b
mov ecx, eax
sete r10b
mov edx, dword [0x1404bfc18]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x140480a84]
add r11d, r9d
xor edx, edx
div r11d
test edx, edx
je 0x1401e9ae0
mov al, 0xaf
lock cmpxchg byte [0x14047ed20], r8b
jmp 0x1401e9aa0
test r10b, r10b
jne 0x1401e9aec
cmp cl, 0xc3
jne 0x1401e9a90
jmp 0x1401e9b37
xor eax, eax
lea rcx, [0x14047ed10]
lea rdx, [0x1403982e0]
nop dword [rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
not r8b
mov r10d, r8d
and r10b, r9b
or r8b, r9b
not r8b
or r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x1401e9b2f
inc rax
jmp 0x1401e9b00
mov al, 0xc3
xchg byte [0x14047ed20], al
lea rax, [0x14047ed10]
pop rbx
ret
mov eax, dword [0x1404bfc1c]
cmp eax, 0xf
jl 0x1401e9b5d
nop dword [rax + rax]
mov eax, dword [0x1404bfc1c]
cmp eax, 0x5b
jge 0x1401e9b50
jmp 0x1401e9b40
lea rax, [0x14047eae0]
pop rbx
ret
movzx eax, byte [0x14047ef23]
mov ecx, dword [0x140480a84]
mov edx, ecx
xor edx, 0x136d98df
mov r8d, ecx
xor r8d, 0x6c926720
and r8d, ecx
lea edx, [rdx + r8*2]
lea r8, [fcn.1401e97e0]
add r8d, r8d
add r8d, 0x1580
and r8d, edx
add ecx, 0x136d98de
cmp r8d, ecx
je 0x1401e9be6
nop dword [rax + rax]
movzx eax, byte [0x14047ef23]
mov ecx, dword [0x1404bfc18]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140480a84]
mov edx, ecx
xor edx, 0x6c92671f
and edx, ecx
xor ecx, 0x136d98e0
lea ecx, [rcx + rdx*2]
xor edx, edx
div ecx
test edx, edx
jne 0x1401e9bb0
jmp 0x1401e9b66
movzx ecx, byte [0x140480a80]
add cl, 0x71
cmp al, cl
je 0x1401e9d4e
mov cl, 1
mov edx, 0x136d98de
mov r8b, 0xfd
jmp 0x1401e9c1d
add r9b, 0x71
cmp al, r9b
je 0x1401e9d4e
mov eax, dword [0x1404bfc1c]
cmp eax, 0x56
jg 0x1401e9c60
nop dword [rax + rax]
movzx r9d, byte [0x140480a80]
lea eax, [r9 - 4]
add r9b, 0xa8
lock cmpxchg byte [0x14047ef23], r9b
sete r9b
test cl, cl
jne 0x1401e9c90
nop word cs:[rax + rax]
mov al, 0x51
lock cmpxchg byte [0x14047ef23], r8b
mov eax, dword [0x1404bfc18]
lea r9d, [rax - 1]
imul r9d, eax
test r9b, 1
jne 0x1401e9c60
jmp 0x1401e9c30
test r9b, r9b
jne 0x1401e9cf7
nop word cs:[rax + rax]
mov r9d, dword [0x1404bfc18]
mov r10d, 1
sub r10d, r9d
imul r10d, r9d
test r10b, 1
jne 0x1401e9cd3
movzx r9d, byte [0x140480a80]
mov r10d, dword [0x1404bfc1c]
cmp r10d, 0x5e
jle 0x1401e9c10
mov r9d, dword [0x1404bfc18]
lea r10d, [r9 - 1]
imul r10d, r9d
and r10d, 1
mov r9d, dword [0x140480a84]
add r9d, edx
cmp r10d, r9d
jne 0x1401e9ca0
jmp 0x1401e9cba
xor eax, eax
lea rcx, [0x14047ef10]
lea rdx, [0x1403984d0]
mov r8d, 0x87e4f3aa
nop dword [rax]
movzx r9d, byte [rax + rdx]
xor byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x140480a84]
add r10d, r8d
mov r11d, r10d
xor r11d, 0x8b88a547
and r10d, 0xb88a547
lea r10d, [r11 + r10*2]
cmp r9d, r10d
jge 0x1401e9d46
inc rax
jmp 0x1401e9d10
mov al, 0xc6
xchg byte [0x14047ef23], al
lea rax, [0x14047ef10]
pop rbx
ret