Function at 0x140252920
Capabilities:
Encode data using xor

Disassembly:
push rbx
test ecx, ecx
je 0x14025293a
cmp dword [0x140518e6c], 0x1f440812
jne 0x140252a40
jmp 0x140252a19
test edx, edx
je 0x140252962
movzx eax, byte [0x140518a46]
cmp al, 0x36
je 0x1402529d0
mov cl, 0x70
nop
mov al, 0x7d
lock cmpxchg byte [0x140518a46], cl
je 0x140252992
cmp al, 0x36
jne 0x140252950
jmp 0x1402529d0
movzx eax, byte [0x140518ae5]
cmp al, 0xe8
je 0x140252a10
mov cl, 0xff
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x140518ae5], cl
je 0x1402529d9
cmp al, 0xe8
jne 0x140252980
jmp 0x140252a10
xor eax, eax
lea rcx, [0x140518a40]
lea rdx, [0x14042e7c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 5
jg 0x1402529c8
inc rax
jmp 0x1402529b0
mov al, 0x36
xchg byte [0x140518a46], al
lea rax, [0x140518a40]
pop rbx
ret
xor eax, eax
lea rcx, [0x140518ad0]
lea rdx, [0x14042e850]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x140252a08
inc rax
jmp 0x1402529f0
mov al, 0xe8
xchg byte [0x140518ae5], al
lea rax, [0x140518ad0]
pop rbx
ret
mov eax, dword [0x140560400]
mov ecx, dword [0x140518e6c]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x140252a53
nop word cs:[rax + rax]
mov eax, dword [0x140560400]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140252a40
jmp 0x140252a19
test edx, edx
je 0x140252b0e
movzx eax, byte [0x140518970]
cmp al, 0xc4
je 0x140252bf3
mov cl, 0x98
mov edx, 0xe0bbf7ef
lea rax, [fcn.140252920]
lea r8d, [rax + rax]
add r8d, 0x460
mov r9d, r8d
not r9d
nop dword [rax]
mov eax, dword [0x140560400]
lea r10d, [rax - 1]
imul r10d, eax
test r10b, 1
jne 0x140252ad0
nop word cs:[rax + rax]
mov al, 0x32
lock cmpxchg byte [0x140518970], cl
sete r10b
cmp dword [0x14055f614], 0
je 0x140252b00
nop word [rax + rax]
mov al, 0x32
lock cmpxchg byte [0x140518970], cl
mov eax, dword [0x140518e6c]
add eax, edx
mov r10d, r8d
xor r10d, eax
not eax
and eax, r9d
or eax, r10d
cmp eax, 0xffffffff
jne 0x140252ad0
jmp 0x140252ab0
test r10b, r10b
jne 0x140252b39
cmp al, 0xc4
jne 0x140252a90
jmp 0x140252bf3
movzx eax, byte [0x140518994]
cmp al, 0xff
je 0x140252c51
mov cl, 0xfe
nop
mov al, 0x80
lock cmpxchg byte [0x140518994], cl
je 0x140252bfc
cmp al, 0xff
jne 0x140252b20
jmp 0x140252c51
xor edx, edx
mov r8d, 1
lea r9, [0x140518960]
lea r10, [0x14042e710]
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x140560400]
mov ecx, dword [0x140518e6c]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140252b9a
nop dword [rax + rax]
movzx eax, byte [rdx + r10]
add byte [rdx + r9], al
mov eax, dword [0x140560400]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140252bc0
movzx ebx, byte [rdx + r9]
movzx ecx, byte [rdx + r10]
sub cl, bl
shl bl, cl
mov eax, ecx
sub al, bl
mul cl
mov ebx, eax
xor bl, cl
and al, cl
add al, al
add bl, cl
add bl, al
mov byte [rdx + r9], bl
jmp 0x140252b80
lea eax, [rdx + 1]
cmp eax, 0xf
jg 0x140252be0
dec r11d
add r8d, 0xfffffffe
inc rdx
jmp 0x140252b60
mov eax, dword [0x140560404]
cmp eax, 0xf
jg 0x140252be0
mov al, 0xc4
xchg byte [0x140518970], al
lea rax, [0x140518960]
pop rbx
ret
xor r8d, r8d
lea rax, [0x140518990]
lea rcx, [0x14042e730]
mov edx, 0xe0bbf7ef
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x140518e6c]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 4
jl 0x140252c20
mov al, 0xff
xchg byte [0x140518994], al
lea rax, [0x140518990]
pop rbx
ret