Function at 0x140140cf0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov esi, edx
mov eax, dword [0x1405a9854]
mov edx, 0xa5c3332b
add edx, dword [0x14053d584]
cmp eax, edx
nop dword [rax]
mov eax, dword [0x1405a9850]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140140d10
test ecx, ecx
je 0x140140dfc
test esi, esi
je 0x140140f41
nop word cs:[rax + rax]
cmp dword [0x14053d584], 0x5a3ccce5
je 0x140140d5e
movzx eax, byte [0x14053c0d7]
mov eax, dword [0x1405a9854]
cmp eax, 0x51
jge 0x140140d40
movzx eax, byte [0x14053c0d7]
mov ecx, dword [0x1405a9854]
cmp ecx, 0x42
jg 0x140140d4c
cmp al, 0x2b
je 0x140141065
mov ecx, 0xa5c3335e
mov dl, 0xb
nop
mov eax, dword [0x1405a9854]
mov r8d, dword [0x14053d584]
add r8d, ecx
cmp eax, r8d
jge 0x140140df0
nop word cs:[rax + rax]
mov al, 0x88
lock cmpxchg byte [0x14053c0d7], dl
sete r8b
mov r9d, dword [0x1405a9850]
mov r10d, dword [0x14053d584]
mov r11d, r9d
sub r11d, r10d
add r11d, 0x5a3ccce4
imul r11d, r9d
and r11d, 1
add r10d, 0xa5c3331b
cmp r11d, r10d
jne 0x140140df0
test r8b, r8b
jne 0x140140fac
cmp al, 0x2b
jne 0x140140d80
jmp 0x140141065
mov al, 0x88
lock cmpxchg byte [0x14053c0d7], dl
jmp 0x140140da0
mov ebx, 0xa5c3331d
lea rdi, [0x1401411e0]
nop dword [rax + rax]
mov eax, dword [0x1405a9850]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140140e3d
mov ecx, dword [0x1405a9850]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14053d584]
add ecx, ebx
xor edx, edx
div ecx
test edx, edx
je 0x140140e69
mov ecx, 0x13
call fcn.1403fe444
mov qword [0x1405a9848], rax
mov rcx, rdi
call fcn.14041e5a0
mov eax, dword [0x1405a9850]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140140e10
jmp 0x140140e21
test esi, esi
jne 0x140140e87
xor eax, eax
test al, al
je 0x1401410d9
jmp 0x1401410f7
movzx eax, byte [0x14053c14d]
mov eax, dword [0x1405a9850]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140140e80
movzx eax, byte [0x14053c14d]
mov ecx, dword [0x1405a9850]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, 0xa5c3331b
add ecx, dword [0x14053d584]
cmp edx, ecx
jne 0x140140e80
cmp al, 0xb7
je 0x1401410b9
xor ecx, ecx
mov dl, 0x12
lea rax, [fcn.140140cf0]
lea r8d, [rax + rax]
add r8d, 0x2ba0
mov r9d, r8d
not r9d
nop word cs:[rax + rax]
test cl, cl
jne 0x140140f30
nop word cs:[rax + rax]
mov al, 0x54
lock cmpxchg byte [0x14053c14d], dl
sete r10b
mov r11d, dword [0x1405a9854]
cmp r11d, 0x1e
jge 0x140140f30
test r10b, r10b
jne 0x140141071
cmp al, 0xb7
jne 0x140140ef0
jmp 0x1401410b9
mov al, 0x54
lock cmpxchg byte [0x14053c14d], dl
test r9d, r8d
jne 0x140140f30
jmp 0x140140f00
movzx eax, byte [0x14053bf16]
nop dword [rax + rax]
cmp al, 0x1a
je 0x1401411c2
movzx ecx, byte [0x14053d580]
mov edx, ecx
xor dl, 0x28
mov eax, ecx
and al, 0x28
add al, al
add al, dl
add cl, 0x57
lock cmpxchg byte [0x14053bf16], cl
jne 0x140140f50
xor eax, eax
lea rcx, [0x14053bf00]
lea rdx, [0x140467040]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x15
jg 0x1401410c5
inc rax
jmp 0x140140f90
xor edx, edx
lea r8, [0x14053c0d0]
lea r9, [0x1404671e0]
mov r10d, 0xa5c33322
jmp 0x140140fda
inc edx
cmp edx, eax
jge 0x14014105d
mov eax, dword [0x1405a9850]
lea ecx, [rax + 1]
imul ecx, eax
movsxd r11, edx
test cl, 1
jne 0x140141020
nop
movzx eax, byte [r11 + r9]
mov ecx, eax
xor cl, al
not cl
and cl, byte [r11 + r8]
xor cl, al
mov byte [r11 + r8], cl
mov eax, dword [0x14053d584]
add eax, r10d
mov ecx, dword [0x1405a9850]
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
je 0x140140fd0
movzx eax, byte [r11 + r8]
movzx ecx, byte [r11 + r9]
sub al, cl
mov ebx, eax
xor bl, cl
and cl, al
add cl, cl
add cl, bl
mov ebx, eax
xor bl, cl
and al, cl
add al, al
add al, bl
sub al, cl
mul cl
sub al, cl
mul cl
shl al, cl
xor al, cl
mov byte [r11 + r8], al
mov eax, dword [0x1405a9854]
cmp eax, 0x50
jge 0x140141020
jmp 0x140140ff0
mov al, 0x2b
xchg byte [0x14053c0d7], al
lea rax, [0x14053c0d0]
jmp 0x140141197
xor edx, edx
lea rax, [0x14053c140]
lea rcx, [0x140467250]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14053d584]
add edx, r8d
add edx, 0xa5c3331c
cmp edx, 0xd
jl 0x140141090
mov al, 0xb7
xchg byte [0x14053c14d], al
lea rax, [0x14053c140]
jmp 0x140141197
mov eax, dword [0x1405a9854]
cmp eax, 0x44
jl 0x14014119f
jmp 0x1401411b8
movzx eax, byte [0x14053bf93]
lea rcx, [fcn.140140cf0]
add ecx, ecx
add ecx, 0x44c0
mov edx, ecx
not edx
test edx, ecx
je 0x140141100
movzx eax, byte [0x14053bf93]
jmp 0x1401410d9
cmp al, 0xa9
je 0x140141190
mov cl, 0xf4
nop word [rax + rax]
mov al, 0x24
lock cmpxchg byte [0x14053bf93], cl
je 0x140141152
mov edx, dword [0x1405a9854]
cmp edx, 0x2f
mov edx, dword [0x1405a9854]
mov r8d, dword [0x14053d584]
mov r9d, r8d
xor r9d, 0xa5c33348
and r8d, 0x25c33348
lea r8d, [r9 + r8*2]
cmp edx, r8d
jge 0x140141125
cmp al, 0xa9
jne 0x140141110
jmp 0x140141190
xor eax, eax
lea rcx, [0x14053bf90]
lea rdx, [0x1404670c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x140141188
inc rax
jmp 0x140141170
mov al, 0xa9
xchg byte [0x14053bf93], al
lea rax, [0x14053bf90]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov al, 0x1a
xchg byte [0x14053bf16], al
mov eax, dword [0x1405a9850]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401411c2
mov al, 0x1a
xchg byte [0x14053bf16], al
jmp 0x14014119f
xor eax, eax
test al, al
jne 0x1401411ce
mov al, 1
test al, al
jne 0x1401411d6
mov al, 1
test al, al
je 0x1401411d0
jmp 0x1401411c8
lea rax, [0x14053bf00]
jmp 0x140141197