Function at 0x140332d60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
test ecx, ecx
je 0x140332e07
test edx, edx
je 0x140332e9a
movzx eax, byte [0x140545365]
cmp al, 0x4d
je 0x140332fc1
xor ecx, ecx
mov r8b, 0xa7
nop word cs:[rax + rax]
test cl, cl
jne 0x140332dd0
mov al, 0xd4
lock cmpxchg byte [0x140545365], r8b
sete dl
mov r9d, dword [0x140566c54]
cmp r9d, 0x4e
jg 0x140332dd0
test dl, dl
jne 0x140332f3c
cmp al, 0x4d
jne 0x140332da0
jmp 0x140332fc1
mov al, 0xd4
lock cmpxchg byte [0x140545365], r8b
mov edx, dword [0x140566c50]
mov r9d, dword [0x140546380]
mov eax, edx
sub eax, r9d
add eax, 0x8021d014
imul eax, edx
add r9d, 0x7fde2fed
xor edx, edx
div r9d
test edx, edx
jne 0x140332da0
jmp 0x140332da4
movzx eax, byte [0x14054540b]
cmp al, 0x5b
je 0x1403331f2
mov cl, 0x49
xor edx, edx
nop word [rax + rax]
mov eax, dword [0x140566c50]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x140332e60
mov al, 0xcf
lock cmpxchg byte [0x14054540b], cl
sete r8b
test dl, dl
jne 0x140332e60
test r8b, r8b
jne 0x140332fcd
cmp al, 0x5b
jne 0x140332e20
jmp 0x1403331f2
movzx r8d, byte [0x140546390]
mov r9d, r8d
xor r9b, 0xc8
mov eax, r8d
not al
and al, 0x37
or al, r9b
not al
add al, al
add al, r9b
add r8b, 0x42
lock cmpxchg byte [0x14054540b], r8b
mov eax, dword [0x140566c54]
cmp eax, 0x13
jge 0x140332e20
jmp 0x140332e34
movzx eax, byte [0x140545352]
movzx ecx, byte [0x140546390]
add cl, 0xc7
cmp al, cl
je 0x1403331e9
lea rsi, [rsp + 0x40]
mov bl, 0xb3
nop word [rax + rax]
mov rcx, rsi
mov edx, 0x61d7469b
mov r8d, 0xebe526c3
call fcn.1400aaf10
mov ecx, dword [rsp + 0x40]
mov edx, 0x76c10946
mov r8d, 0xc33da769
call fcn.1400a9ce0
test al, 1
je 0x140332f30
nop dword [rax + rax]
mov al, 0x82
lock cmpxchg byte [0x140545352], bl
sete cl
mov edx, dword [0x140566c54]
cmp edx, 0x20
jg 0x140332f30
test cl, cl
jne 0x140333118
mov ecx, eax
mov edx, 0x3f75e4a7
mov r8d, 0x836c949b
call fcn.140333390
test al, 1
je 0x140332ec0
jmp 0x1403331e9
mov al, 0x82
lock cmpxchg byte [0x140545352], bl
jmp 0x140332ef0
xor edi, edi
lea rbx, [0x140545360]
lea r14, [0x14044a980]
lea rsi, [rsp + 0x40]
nop word cs:[rax + rax]
movsxd rcx, edi
movzx edx, byte [rcx + rbx]
add dl, byte [rcx + r14]
mov dword [rsp + 0x28], 0x15ab2989
mov dword [rsp + 0x20], 0x1748e14b
mov r8d, ecx
mov r9, rsi
call fcn.140333420
mov edi, dword [rsp + 0x40]
mov eax, dword [0x140546380]
lea edx, [rax - 0x6faaab41]
mov ecx, eax
xor ecx, 0xbab31503
and eax, 0x3ab31503
lea r8d, [rcx + rax*2]
mov ecx, edi
call fcn.1403333e0
test al, 1
je 0x140332f60
mov ecx, 0xc82cdece
mov edx, 0xd68e1995
call fcn.140333300
lea rax, [0x140545360]
jmp 0x1403331f9
xor esi, esi
lea r15, [0x140545400]
lea r12, [0x14044aa20]
lea rdi, [rsp + 0x40]
lea rax, [fcn.140332d60]
lea r13d, [rax + rax]
add r13d, 0x1100
jmp 0x140333011
add esi, eax
add esi, 0x7fde2fec
cmp esi, 0xb
jge 0x140333104
cmp dword [0x140546380], 0x8021d015
movsxd rbx, esi
jne 0x140333060
movzx ecx, byte [rbx + r15]
movzx edx, byte [rbx + r12]
mov dword [rsp + 0x20], 0x46fb1b4f
mov r8, rdi
mov r9d, 0x8b26153d
call fcn.14031eb70
movzx eax, byte [rsp + 0x40]
mov byte [rbx + r15], al
mov eax, dword [0x140546380]
lea ecx, [rax + 0x7fde2fec]
mov edx, r13d
xor edx, ecx
not edx
test edx, ecx
je 0x140333000
movzx edx, byte [rbx + r15]
mov eax, dword [0x140546380]
lea r9d, [rax - 0x62a216a]
add eax, 0x90e7c5ad
mov dword [rsp + 0x20], eax
mov ecx, esi
mov r8, rdi
call fcn.140333400
lea ecx, [rsi + rsi]
mov edx, esi
shl edx, cl
movzx eax, byte [rsp + 0x40]
mov byte [rbx + r15], al
mov eax, ecx
sub eax, edx
mov ebp, eax
shl ebp, cl
mov dword [rsp + 0x20], 0xeb9a6bc9
mov ecx, eax
mov edx, ebp
mov r8, rdi
mov r9d, 0xd5c8e4dd
call fcn.140312ec0
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x20], 0xe620b864
mov ecx, r14d
mov edx, ebp
mov r8, rdi
mov r9d, 0x8845305c
call fcn.1400ad9c0
mov ecx, dword [rsp + 0x40]
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x30], 0xa73c21ba
mov dword [rsp + 0x28], 0x1d118d9e
mov edx, ebp
mov r8d, r14d
lea r9, [rsp + 0x44]
call fcn.140333310
jmp 0x140333020
mov eax, dword [0x140566c54]
cmp eax, 0x13
jl 0x14033320a
jmp 0x14033322c
xor edx, edx
lea rax, [0x140545340]
lea rcx, [0x14044a960]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
add r8b, 0x10
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
add r8b, 0xf0
mov byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x12
jl 0x140333130
lea rax, [fcn.140332d60]
add eax, eax
add eax, 0x4460
mov edi, eax
not edi
and edi, eax
mov ebx, 0x7fde2feb
lea rsi, [rsp + 0x40]
nop dword [rax]
mov eax, dword [0x140566c54]
cmp eax, 0x4c
jle 0x1403331d5
nop dword [rax + rax]
mov rcx, rsi
mov edx, 0x72599881
mov r8d, 0x473b48f0
call fcn.1403332e0
mov ecx, dword [rsp + 0x40]
mov r8d, dword [0x140546380]
lea edx, [r8 + 0x4bf5794b]
add r8d, 0xca09fc0a
call fcn.1400a9ce0
test al, 1
je 0x140333190
mov eax, dword [0x140546380]
add eax, ebx
cmp edi, eax
jne 0x1403331a0
mov al, 0xce
xchg byte [0x140545352], al
lea rax, [0x140545340]
jmp 0x1403331f9
lea rax, [0x140545400]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 0x5b
xchg byte [0x14054540b], al
mov ecx, dword [0x140566c50]
mov edx, 0x9dff50b1
mov r8d, 0x2bad351f
call fcn.1403333a0
test al, 1
jne 0x1403331f2
mov al, 1
nop
movzx ecx, byte [0x140546390]
add cl, 0x18
mov edx, ecx
xor dl, 0x3c
and cl, 0x3c
add cl, cl
add cl, dl
xchg byte [0x14054540b], cl
test al, al
je 0x140333230
jmp 0x14033320a