Function at 0x1401083a0
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
mov esi, r9d
mov r12d, dword [rsp + 0xb0]
test ecx, ecx
je 0x140108429
test edx, edx
je 0x14010849f
movzx eax, byte [0x1405286bf]
cmp al, 0xe7
je 0x14010860a
mov bpl, 0x70
mov edi, esi
xor edi, 0xba373248
mov r14d, r12d
xor r14d, 0x35df6e73
nop dword [rax + rax]
mov al, 4
lock cmpxchg byte [0x1405286bf], bpl
mov ebx, eax
sete dl
mov r9d, dword [0x140534170]
add r9d, r14d
xor r9d, r12d
mov ecx, eax
mov r8d, edi
call fcn.140108fd0
test al, 1
jne 0x14010855d
cmp bl, 0xe7
jne 0x1401083f0
jmp 0x14010860a
test edx, edx
je 0x1401084f8
mov ecx, esi
xor ecx, 0x3108be7e
mov edx, r12d
xor edx, 0x5fe17b26
call fcn.140109170
test al, 1
jne 0x140108680
mov bl, 0x94
mov edi, esi
xor edi, 0x27d06a0b
mov ebp, r12d
xor ebp, 0xc7e14796
nop word cs:[rax + rax]
mov al, 0xf1
lock cmpxchg byte [0x140528620], bl
je 0x140108616
mov r8d, dword [0x140534170]
add r8d, ebp
xor r8d, r12d
mov ecx, eax
mov edx, edi
call fcn.1401087c0
test al, 1
je 0x140108470
jmp 0x140108680
movzx eax, byte [0x140528603]
cmp al, 0xda
je 0x140108732
mov edi, esi
xor edi, 0xed308489
mov ebx, r12d
xor ebx, 0xe5b32fe4
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x3f]
nop dword [rax]
mov rcx, r14
mov rdx, r15
mov r8d, edi
mov r9d, ebx
call fcn.140108a70
cmp byte [rsp + 0x41], 0
jne 0x14010868c
cmp byte [rsp + 0x3f], 0xda
jne 0x1401084d0
jmp 0x140108732
movzx eax, byte [0x1405286ef]
mov ecx, r12d
xor cl, 0x7d
add cl, byte [0x140534180]
cmp al, cl
je 0x140108794
mov bl, 7
mov ebp, r12d
xor ebp, 0x4adcfd9d
mov edi, r12d
xor edi, 0x4308449
nop word [rax + rax]
mov al, 0x8c
lock cmpxchg byte [0x1405286ef], bl
je 0x14010873b
mov edx, dword [0x140534170]
add edx, ebp
xor edx, esi
mov ecx, eax
mov r8d, edi
call fcn.140109150
test al, 1
je 0x140108530
jmp 0x140108794
xor edi, edi
mov r15d, esi
xor r15d, 0xda3fea7
mov eax, r12d
not eax
mov ecx, eax
and ecx, 0xd88524ab
mov r13d, r12d
and r13d, 0x277adb54
or r13d, ecx
lea r14, [rsp + 0x40]
lea rbx, [rsp + 0x3f]
xor esi, 0xa6665d77
and eax, 0xebb063a
mov ebp, r12d
and ebp, 0xf144f9c5
or ebp, eax
xor r12d, 0x26b90691
nop word [rax + rax]
lea rax, [0x1405286b0]
movzx edx, byte [rdi + rax]
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov r8d, edi
mov r9, rbx
call fcn.1401089f0
movzx ecx, byte [rsp + 0x3f]
mov rdx, qword [rsp + 0x40]
mov r8d, esi
mov r9d, ebp
call fcn.140108f10
lea eax, [rdi + 1]
mov ecx, dword [0x140534170]
add ecx, r12d
cmp eax, ecx
jge 0x140108602
inc rdi
jmp 0x1401085b0
mov al, 0xe7
xchg byte [0x1405286bf], al
lea rax, [0x1405286b0]
jmp 0x14010879b
xor ebp, ebp
xor esi, 0xd7c59913
xor r12d, 0x2560947e
lea rdi, [rsp + 0x3f]
lea rbx, [rsp + 0x40]
lea r14, [0x140528610]
nop word cs:[rax + rax]
mov dword [rsp + 0x20], r12d
mov ecx, ebp
mov rdx, rdi
mov r8, rbx
mov r9d, esi
call fcn.140108ed0
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
xor al, byte [rcx]
movsxd rcx, ebp
mov byte [rcx + r14], al
mov eax, ecx
xor eax, 1
and ecx, 1
lea ebp, [rax + rcx*2]
cmp ebp, 0x10
jl 0x140108640
mov al, 0x43
xchg byte [0x140528620], al
lea rax, [0x140528610]
jmp 0x14010879b
xor ebx, ebx
mov edi, esi
xor edi, 0x3de17dcb
mov eax, r12d
not eax
mov ecx, eax
and ecx, 0xa8419995
mov ebp, r12d
and ebp, 0x57be666a
or ebp, ecx
lea r14, [rsp + 0x3f]
lea r15, [rsp + 0x40]
xor esi, 0xb1e7c55a
and eax, 0x8847d577
and r12d, 0x77b82a88
or r12d, eax
lea r13, [0x140528600]
nop word cs:[rax + rax]
mov dword [rsp + 0x20], ebp
mov ecx, ebx
mov rdx, r14
mov r8, r15
mov r9d, edi
call fcn.140109130
movzx edx, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], r12d
mov r8, r15
mov r9d, esi
call fcn.140108b20
movzx eax, byte [rsp + 0x40]
movsxd rcx, ebx
mov byte [rcx + r13], al
mov eax, ecx
xor eax, 1
and ecx, 1
lea ebx, [rax + rcx*2]
cmp ebx, 3
jl 0x1401086e0
mov al, 0xda
xchg byte [0x140528603], al
lea rax, [0x140528600]
jmp 0x14010879b
xor ecx, ecx
lea rbx, [0x1405286e0]
lea r14, [0x14045f190]
xor esi, 0x1ff558f7
mov ebp, r12d
xor ebp, 0x48e80da0
lea rdi, [rsp + 0x40]
nop
movsxd rcx, ecx
movzx edx, byte [rcx + rbx]
add dl, byte [rcx + r14]
mov dword [rsp + 0x20], ebp
mov r8, rdi
mov r9d, esi
call fcn.140108e80
mov ecx, dword [rsp + 0x40]
test al, 1
je 0x140108760
xor r12b, 0x7d
add r12b, byte [0x140534180]
xchg byte [0x1405286ef], r12b
lea rax, [0x1405286e0]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret