Function at 0x1404881e0
Capabilities:
Encode data using xor

Disassembly:
push rsi
test ecx, ecx
je 0x140488226
test edx, edx
je 0x14048823e
movzx eax, byte [0x14067acda]
cmp al, 0x4a
je 0x1404885dc
xor ecx, ecx
nop word [rax + rax]
movzx edx, byte [0x14067c4b4]
lea eax, [rdx - 0x53]
add dl, 0xca
lock cmpxchg byte [0x14067acda], dl
je 0x140488285
test cl, cl
test cl, cl
jne 0x140488219
cmp al, 0x4a
jne 0x140488200
jmp 0x1404885dc
test edx, edx
je 0x140488272
mov eax, dword [0x1406976ac]
cmp eax, 0x45
jle 0x14048838a
jmp 0x140488397
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x14067c4b0]
mov edx, eax
xor edx, 0x6c43234b
and edx, eax
xor eax, 0x13bcdcb4
lea eax, [rax + rdx*2]
cmp ecx, eax
je 0x14048850d
jmp 0x14048851f
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1404882ac
jmp 0x14048829f
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140488611
jmp 0x14048860b
movzx eax, byte [0x14067af8b]
xor ecx, ecx
test cl, cl
je 0x1404882b5
movzx eax, byte [0x14067af8b]
jmp 0x14048829f
cmp al, 0xde
je 0x140488369
mov cl, 0x62
mov dl, 1
jmp 0x1404882d8
cmp al, 0xde
je 0x140488369
mov al, 0xf4
lock cmpxchg byte [0x14067af8b], cl
je 0x14048831f
mov r8d, dword [0x1406976ac]
cmp r8d, 0x2a
jg 0x140488310
nop word cs:[rax + rax]
test dl, dl
jne 0x1404882d0
nop word cs:[rax + rax]
mov r8d, dword [0x1406976ac]
cmp r8d, 0x43
jge 0x140488310
jmp 0x140488300
xor eax, eax
lea rcx, [0x14067af70]
lea rdx, [0x14055c420]
mov r8d, 0x13bcdccf
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x14067c4b0]
add r10d, r8d
cmp r9d, r10d
jge 0x140488361
inc rax
jmp 0x140488340
mov al, 0xde
xchg byte [0x14067af8b], al
mov eax, dword [0x1406976a8]
nop
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140488370
lea rax, [0x14067af70]
pop rsi
ret
movzx eax, byte [0x14067ae9a]
xor ecx, ecx
test cl, cl
je 0x1404883a0
movzx eax, byte [0x14067ae9a]
jmp 0x14048838a
movzx ecx, byte [0x14067c4b4]
add cl, 0xda
cmp al, cl
je 0x140488504
mov cl, 0x4f
mov dl, 1
jmp 0x1404883ce
mov al, 0x84
lock cmpxchg byte [0x14067ae9a], cl
test dl, dl
jne 0x1404883d9
mov eax, dword [0x1406976ac]
cmp eax, 0x55
jg 0x1404883c0
mov al, 0x84
lock cmpxchg byte [0x14067ae9a], cl
sete r8b
mov r9d, dword [0x1406976a8]
mov r10d, r9d
not r10d
imul r10d, r9d
test r10b, 1
jne 0x1404883c0
test r8b, r8b
jne 0x140488410
cmp al, 0xc1
jne 0x1404883ce
jmp 0x140488504
mov eax, dword [0x1406976ac]
cmp eax, 0x1f
jle 0x140488426
mov eax, dword [0x1406976ac]
cmp eax, 0x63
jge 0x140488410
mov eax, dword [0x1406976ac]
cmp eax, 0x3a
jg 0x14048841b
xor r8d, r8d
lea rax, [0x14067ae90]
lea rcx, [0x14055c350]
mov edx, 0x13bcdcb5
nop word [rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x14067c4b0]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
add r8d, 0x56a61808
mov r9d, r8d
xor r9d, 0xa959e7f8
and r8d, 0x2959e7f8
lea r8d, [r9 + r8*2]
cmp r8d, 0xa
jl 0x140488450
xor eax, eax
nop word [rax + rax]
mov ecx, dword [0x1406976ac]
cmp ecx, 0x51
jg 0x1404884af
test al, al
je 0x1404884c2
mov ecx, dword [0x1406976a8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1404884a0
jmp 0x1404884ab
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x13bcdcb4
add eax, dword [0x14067c4b0]
cmp ecx, eax
jne 0x1404884fa
movzx eax, byte [0x14067c4b4]
add al, 0xda
xchg byte [0x14067ae9a], al
mov eax, dword [0x1406976ac]
cmp eax, 0x1e
jle 0x140488504
mov al, 0xc1
xchg byte [0x14067ae9a], al
jmp 0x1404884e0
lea rax, [0x14067ae90]
pop rsi
ret
movzx eax, byte [0x14067accb]
mov ecx, dword [0x1406976ac]
cmp ecx, 0x17
jle 0x140488528
movzx eax, byte [0x14067accb]
jmp 0x14048850d
cmp al, 9
je 0x1404885d3
xor ecx, ecx
nop word cs:[rax + rax]
movzx edx, byte [0x14067c4b4]
lea eax, [rdx + 0x5c]
add dl, 0x71
lock cmpxchg byte [0x14067accb], dl
je 0x14048856a
test cl, cl
mov edx, dword [0x1406976ac]
cmp edx, 0xf
jg 0x140488559
cmp al, 9
jne 0x140488540
jmp 0x1404885d3
xor edx, edx
lea rax, [0x14067acc0]
lea rcx, [0x14055c190]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
mov r9d, r10d
xor r9b, r8b
and r8b, r10b
add r8b, r8b
add r8b, r9b
mov byte [rdx + rax], r8b
add edx, 0x437b10e6
mov r8d, edx
xor r8d, 0xbc84ef1b
and edx, 0x3c84ef1b
lea edx, [r8 + rdx*2]
cmp edx, 0xb
jl 0x140488580
mov al, 9
xchg byte [0x14067accb], al
lea rax, [0x14067acc0]
pop rsi
ret
mov eax, 0x13bcdd11
nop word cs:[rax + rax]
mov ecx, dword [0x1406976ac]
mov edx, dword [0x14067c4b0]
add edx, eax
cmp ecx, edx
jge 0x1404885f0
lea rax, [0x14067acd0]
pop rsi
ret
mov al, 1
test al, al
jne 0x140488636
lea rax, [fcn.1404881e0]
add eax, eax
add eax, 0xdc0
mov ecx, eax
xor ecx, 0xfffffffe
nop word cs:[rax + rax]
test eax, ecx
jne 0x140488630
jmp 0x14048860b
xor r8d, r8d
lea rax, [0x14067acd0]
lea rcx, [0x14055c1a0]
mov edx, 0x13bcdcb5
nop dword [rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rax]
movzx r10d, byte [r8 + rcx]
mov r11d, r9d
not r11b
xor r9b, r11b
and r9b, r10b
xor r9b, r11b
and r11b, r10b
or r9b, r11b
not r9b
or r9b, r11b
mov byte [r8 + rax], r9b
mov r9d, dword [0x14067c4b0]
add r9d, edx
mov r10d, r8d
not r10d
mov r11d, r9d
not r11d
mov esi, r8d
and esi, r11d
and r11d, r10d
xor r10d, r9d
or r10d, esi
not r10d
or r10d, esi
xor r9d, r8d
or r11d, r9d
not r11d
lea r8d, [r10 + r11*2]
cmp r8d, 0xa
jl 0x140488650
mov al, 0x4a
xchg byte [0x14067acda], al
jmp 0x1404885dc