Function at 0x140134510
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov esi, edx
mov eax, dword [0x1405a6d84]
mov edx, 0xa5c3332b
add edx, dword [0x14053a034]
cmp eax, edx
nop dword [rax]
mov eax, dword [0x1405a6d80]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140134530
test ecx, ecx
je 0x14013461c
test esi, esi
je 0x140134761
nop word cs:[rax + rax]
cmp dword [0x14053a034], 0x5a3ccce5
je 0x14013457e
movzx eax, byte [0x140538b87]
mov eax, dword [0x1405a6d84]
cmp eax, 0x51
jge 0x140134560
movzx eax, byte [0x140538b87]
mov ecx, dword [0x1405a6d84]
cmp ecx, 0x42
jg 0x14013456c
cmp al, 0x2b
je 0x140134885
mov ecx, 0xa5c3335e
mov dl, 0xb
nop
mov eax, dword [0x1405a6d84]
mov r8d, dword [0x14053a034]
add r8d, ecx
cmp eax, r8d
jge 0x140134610
nop word cs:[rax + rax]
mov al, 0x88
lock cmpxchg byte [0x140538b87], dl
sete r8b
mov r9d, dword [0x1405a6d80]
mov r10d, dword [0x14053a034]
mov r11d, r9d
sub r11d, r10d
add r11d, 0x5a3ccce4
imul r11d, r9d
and r11d, 1
add r10d, 0xa5c3331b
cmp r11d, r10d
jne 0x140134610
test r8b, r8b
jne 0x1401347cc
cmp al, 0x2b
jne 0x1401345a0
jmp 0x140134885
mov al, 0x88
lock cmpxchg byte [0x140538b87], dl
jmp 0x1401345c0
mov ebx, 0xa5c3331d
lea rdi, [0x140134a00]
nop dword [rax + rax]
mov eax, dword [0x1405a6d80]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14013465d
mov ecx, dword [0x1405a6d80]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14053a034]
add ecx, ebx
xor edx, edx
div ecx
test edx, edx
je 0x140134689
mov ecx, 0x13
call fcn.1403f8a54
mov qword [0x1405a6d78], rax
mov rcx, rdi
call fcn.140418e40
mov eax, dword [0x1405a6d80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140134630
jmp 0x140134641
test esi, esi
jne 0x1401346a7
xor eax, eax
test al, al
je 0x1401348f9
jmp 0x140134917
movzx eax, byte [0x140538bfd]
mov eax, dword [0x1405a6d80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401346a0
movzx eax, byte [0x140538bfd]
mov ecx, dword [0x1405a6d80]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, 0xa5c3331b
add ecx, dword [0x14053a034]
cmp edx, ecx
jne 0x1401346a0
cmp al, 0xb7
je 0x1401348d9
xor ecx, ecx
mov dl, 0x12
lea rax, [fcn.140134510]
lea r8d, [rax + rax]
add r8d, 0x2ba0
mov r9d, r8d
not r9d
nop word cs:[rax + rax]
test cl, cl
jne 0x140134750
nop word cs:[rax + rax]
mov al, 0x54
lock cmpxchg byte [0x140538bfd], dl
sete r10b
mov r11d, dword [0x1405a6d84]
cmp r11d, 0x1e
jge 0x140134750
test r10b, r10b
jne 0x140134891
cmp al, 0xb7
jne 0x140134710
jmp 0x1401348d9
mov al, 0x54
lock cmpxchg byte [0x140538bfd], dl
test r9d, r8d
jne 0x140134750
jmp 0x140134720
movzx eax, byte [0x1405389c6]
nop dword [rax + rax]
cmp al, 0x1a
je 0x1401349e2
movzx ecx, byte [0x14053a030]
mov edx, ecx
xor dl, 0x28
mov eax, ecx
and al, 0x28
add al, al
add al, dl
add cl, 0x57
lock cmpxchg byte [0x1405389c6], cl
jne 0x140134770
xor eax, eax
lea rcx, [0x1405389b0]
lea rdx, [0x140460f20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x15
jg 0x1401348e5
inc rax
jmp 0x1401347b0
xor edx, edx
lea r8, [0x140538b80]
lea r9, [0x1404610c0]
mov r10d, 0xa5c33322
jmp 0x1401347fa
inc edx
cmp edx, eax
jge 0x14013487d
mov eax, dword [0x1405a6d80]
lea ecx, [rax + 1]
imul ecx, eax
movsxd r11, edx
test cl, 1
jne 0x140134840
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 [0x14053a034]
add eax, r10d
mov ecx, dword [0x1405a6d80]
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
je 0x1401347f0
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 [0x1405a6d84]
cmp eax, 0x50
jge 0x140134840
jmp 0x140134810
mov al, 0x2b
xchg byte [0x140538b87], al
lea rax, [0x140538b80]
jmp 0x1401349b7
xor edx, edx
lea rax, [0x140538bf0]
lea rcx, [0x140461130]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14053a034]
add edx, r8d
add edx, 0xa5c3331c
cmp edx, 0xd
jl 0x1401348b0
mov al, 0xb7
xchg byte [0x140538bfd], al
lea rax, [0x140538bf0]
jmp 0x1401349b7
mov eax, dword [0x1405a6d84]
cmp eax, 0x44
jl 0x1401349bf
jmp 0x1401349d8
movzx eax, byte [0x140538a43]
lea rcx, [fcn.140134510]
add ecx, ecx
add ecx, 0x44c0
mov edx, ecx
not edx
test edx, ecx
je 0x140134920
movzx eax, byte [0x140538a43]
jmp 0x1401348f9
cmp al, 0xa9
je 0x1401349b0
mov cl, 0xf4
nop word [rax + rax]
mov al, 0x24
lock cmpxchg byte [0x140538a43], cl
je 0x140134972
mov edx, dword [0x1405a6d84]
cmp edx, 0x2f
mov edx, dword [0x1405a6d84]
mov r8d, dword [0x14053a034]
mov r9d, r8d
xor r9d, 0xa5c33348
and r8d, 0x25c33348
lea r8d, [r9 + r8*2]
cmp edx, r8d
jge 0x140134945
cmp al, 0xa9
jne 0x140134930
jmp 0x1401349b0
xor eax, eax
lea rcx, [0x140538a40]
lea rdx, [0x140460fa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x1401349a8
inc rax
jmp 0x140134990
mov al, 0xa9
xchg byte [0x140538a43], al
lea rax, [0x140538a40]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov al, 0x1a
xchg byte [0x1405389c6], al
mov eax, dword [0x1405a6d80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401349e2
mov al, 0x1a
xchg byte [0x1405389c6], al
jmp 0x1401349bf
xor eax, eax
test al, al
jne 0x1401349ee
mov al, 1
test al, al
jne 0x1401349f6
mov al, 1
test al, al
je 0x1401349f0
jmp 0x1401349e8
lea rax, [0x1405389b0]
jmp 0x1401349b7