Function at 0x140288060
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov esi, r9d
test ecx, ecx
je 0x1402880c9
test edx, edx
je 0x140288109
mov ecx, 0x5976853
add ecx, dword [0x140587a98]
xor ecx, esi
mov eax, dword [0x140587108]
add eax, esi
add eax, 0xd850
cdqe
add rax, qword [0x140587158]
call qword [case.0x14012b313.0]
test al, 1
jne 0x140288250
mov cl, 0x96
nop dword [rax]
mov al, 0xa0
lock cmpxchg byte [0x1405870cc], cl
je 0x140288215
cmp al, 0xf
jne 0x1402880b0
jmp 0x140288250
mov eax, 0x5875d356
add eax, dword [0x140587a98]
cmp edx, eax
jne 0x14028818d
movzx eax, byte [0x140586f55]
cmp al, 0xe8
je 0x140288347
mov cl, 0xff
nop dword [rax]
mov al, 0x7a
lock cmpxchg byte [0x140586f55], cl
je 0x140288302
cmp al, 0xe8
jne 0x1402880f0
jmp 0x140288347
mov ecx, esi
xor ecx, 0x994a7426
mov eax, dword [0x140587118]
add eax, esi
add eax, 0xd850
cdqe
add rax, qword [0x140587140]
call qword [case.0x14012b313.0]
test al, 1
jne 0x1402882f6
mov edi, esi
xor edi, 0xf064b337
lea rbx, [rsp + 0x2b]
nop word cs:[rax + rax]
mov eax, dword [0x14058710c]
add eax, esi
add eax, 0xd850
cdqe
add rax, qword [0x140587150]
mov rcx, rbx
mov edx, edi
call qword [case.0x14012b313.0]
test al, 1
jne 0x14028825c
movzx eax, byte [0x140587a9c]
add al, 0x56
cmp byte [rsp + 0x2b], al
jne 0x140288150
jmp 0x1402882f6
movzx eax, byte [0x140586e12]
cmp al, 0x9a
je 0x1402883d1
mov edi, esi
xor edi, 0xbdb5fee
lea rbx, [rsp + 0x29]
mov ebp, esi
xor ebp, 0xc413c565
nop word cs:[rax + rax]
mov eax, dword [0x140587100]
add eax, esi
add eax, 0xd850
cdqe
add rax, qword [0x140587128]
mov rcx, rbx
mov edx, edi
call qword [case.0x14012b313.0]
test al, 1
jne 0x140288353
movzx ecx, byte [rsp + 0x29]
mov eax, dword [0x140587110]
add eax, esi
add eax, 0xd850
cdqe
add rax, qword [0x140587130]
mov edx, ebp
call qword [case.0x14012b313.0]
test al, 1
je 0x1402881c0
jmp 0x1402883d1
xor eax, eax
lea rcx, [0x1405870c0]
lea rdx, [0x1404971c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x140288248
inc rax
jmp 0x140288230
mov al, 0xf
xchg byte [0x1405870cc], al
lea rax, [0x1405870c0]
jmp 0x1402883d8
xor eax, eax
lea rbx, [0x140586e80]
lea r14, [0x140496f90]
mov ebp, esi
xor ebp, 0xc29f1ee0
lea rdi, [rsp + 0x2c]
nop dword [rax]
movsxd r8, eax
lea rdx, [rbx + r8]
movzx ecx, byte [r8 + rbx]
xor cl, byte [r8 + r14]
mov eax, dword [0x14058711c]
add eax, esi
add eax, 0xd850
cdqe
add rax, qword [0x140587138]
mov dword [rsp + 0x20], ebp
mov r9, rdi
call qword [case.0x14012b313.0]
mov eax, dword [rsp + 0x2c]
cmp eax, 0x10
jl 0x140288280
mov eax, dword [0x140587a98]
mov ecx, eax
xor ecx, 0xfa520c41
mov edx, eax
and edx, 0x7a520c41
lea ecx, [rcx + rdx*2]
xor ecx, esi
mov edx, dword [0x140587114]
sub esi, eax
lea eax, [rsi + rdx]
add eax, 0xa78b04fa
cdqe
add rax, qword [0x140587120]
call qword [case.0x14012b313.0]
lea rax, [0x140586e80]
jmp 0x1402883d8
xor edx, edx
lea rax, [0x140586f40]
lea rcx, [0x140497040]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x15
jl 0x140288320
mov al, 0xe8
xchg byte [0x140586f55], al
lea rax, [0x140586f40]
jmp 0x1402883d8
xor edi, edi
lea r14, [0x140586e10]
mov ebp, 0xe75b7efe
lea rbx, [rsp + 0x2a]
nop word cs:[rax + rax]
movzx edx, byte [rdi + r14]
mov r9d, dword [0x140587a98]
add r9d, ebp
xor r9d, esi
mov eax, dword [0x140587104]
add eax, esi
add eax, 0xd850
cdqe
add rax, qword [0x140587148]
mov ecx, edi
mov r8, rbx
call qword [case.0x14012b313.0]
movzx eax, byte [rsp + 0x2a]
mov byte [rdi + r14], al
lea eax, [rdi + 1]
cmp eax, 1
jg 0x1402883b9
inc rdi
jmp 0x140288370
movzx eax, byte [0x140587a9c]
mov ecx, eax
xor cl, 0xb3
and al, 0x33
add al, al
add al, cl
xchg byte [0x140586e12], al
lea rax, [0x140586e10]
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret