Function at 0x140375d80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov esi, r9d
test ecx, ecx
je 0x140375dfb
mov eax, 0x4937e5c0
add eax, dword [0x14051ddd8]
cmp edx, eax
jne 0x140375e49
movzx eax, byte [0x14051ca26]
cmp al, 0x7d
je 0x140375fef
mov edi, 0xba3b8047
nop dword [rax]
movzx ecx, byte [0x14051dddc]
lea eax, [rcx - 0x41]
add cl, 0x10
lock cmpxchg byte [0x14051ca26], cl
je 0x140375ed3
mov edx, dword [0x14051ddd8]
add edx, edi
xor edx, esi
mov ecx, eax
mov r8d, 0x30403c7
call fcn.140379a30
test al, 1
je 0x140375dc0
jmp 0x140375fef
xor eax, eax
sub eax, dword [0x14051ddd8]
mov ecx, eax
xor ecx, 0xb6c81a40
and eax, 0x36c81a40
lea eax, [rcx + rax*2]
add edx, eax
jne 0x140375e94
movzx eax, byte [0x14051c2da]
cmp al, 0x13
je 0x1403760e2
mov cl, 0x70
nop dword [rax + rax]
mov al, 0x29
lock cmpxchg byte [0x14051c2da], cl
je 0x140375ffb
cmp al, 0x13
jne 0x140375e30
jmp 0x1403760e2
movzx eax, byte [0x14051c990]
cmp al, 0x3e
je 0x140375fdb
mov edi, esi
xor edi, 0x62d06c67
lea rbx, [rsp + 0x38]
nop word cs:[rax + rax]
mov rcx, rbx
mov edx, edi
mov r8d, 0x2b264f35
call fcn.14037a200
test al, 1
jne 0x140375f29
cmp byte [rsp + 0x38], 0x3e
jne 0x140375e70
jmp 0x140375fdb
movzx eax, byte [0x14051c717]
cmp al, 0xea
je 0x1403760c1
mov cl, 8
nop word cs:[rax + rax]
mov al, 0xf0
lock cmpxchg byte [0x14051c717], cl
je 0x140376051
movzx edx, byte [0x14051dddc]
add dl, 0x79
cmp al, dl
jne 0x140375eb0
jmp 0x1403760c1
xor edi, edi
xor esi, 0xaf11ba05
lea rbx, [rsp + 0x37]
lea r14, [rsp + 0x38]
lea r15, [0x14051ca10]
nop dword [rax]
mov dword [rsp + 0x20], 0x9377192b
mov ecx, edi
mov rdx, rbx
mov r8, r14
mov r9d, esi
call fcn.14037a600
movzx eax, byte [rsp + 0x37]
mov rcx, qword [rsp + 0x38]
add al, byte [rcx]
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 0x15
jg 0x140375fe7
inc rdi
jmp 0x140375ef0
xor ebp, ebp
mov r14d, esi
not r14d
lea rdi, [rsp + 0x37]
lea rbx, [rsp + 0x38]
mov eax, r14d
and eax, 0xfcc0b7a
mov r15d, esi
xor r15d, 0xfcc0b7a
and r15d, esi
or r15d, eax
nop word cs:[rax + rax]
mov eax, dword [0x14051ddd8]
lea ecx, [rax - 0x533bc670]
mov edx, ecx
xor edx, 0x61ca71c5
and ecx, 0x61ca71c5
lea ecx, [rdx + rcx*2]
mov r9d, r14d
xor r9d, esi
and r9d, ecx
xor r9d, esi
add eax, 0x84c27dec
mov dword [rsp + 0x20], eax
mov ecx, ebp
mov rdx, rdi
mov r8, rbx
call fcn.14037a020
movzx ecx, byte [rsp + 0x37]
movzx edx, byte [rsp + 0x38]
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x28], 0x2f570e41
mov r8d, ebp
mov r9, rbx
call fcn.14037a230
mov ebp, dword [rsp + 0x38]
test al, 1
je 0x140375f60
xor esi, 0xa7dd8862
mov ecx, esi
mov edx, 0xcffe69b0
call fcn.140379df0
lea rax, [0x14051c980]
jmp 0x1403760e9
mov al, 0x7d
xchg byte [0x14051ca26], al
lea rax, [0x14051ca10]
jmp 0x1403760e9
xor edi, edi
mov ebx, esi
xor ebx, 0x50e79701
lea r14, [rsp + 0x38]
lea r15, [0x140426350]
lea r12, [0x14051c2d0]
nop dword [rax + rax]
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
mov r9d, 0x47d5cab3
call fcn.14037a540
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
add al, byte [rdi + r15]
mov byte [rdi + r12], al
lea eax, [rdi + 1]
cmp eax, 9
jg 0x1403760ca
inc rdi
jmp 0x140376020
xor ebx, ebx
mov ebp, 0x5aaec3b7
lea rdi, [rsp + 0x38]
lea r14, [0x14051c710]
lea r15, [0x140426760]
nop dword [rax + rax]
mov r8d, dword [0x14051ddd8]
add r8d, ebp
xor r8d, esi
mov ecx, ebx
mov rdx, rdi
mov r9d, 0x673d5888
call fcn.140110d50
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax + r14]
movsxd rcx, ebx
add al, byte [rcx + r15]
mov byte [rcx + r14], al
mov eax, ecx
xor eax, 1
and ecx, 1
lea ebx, [rax + rcx*2]
cmp ebx, 7
jl 0x140376070
movzx eax, byte [0x14051dddc]
add al, 0x79
xchg byte [0x14051c717], al
lea rax, [0x14051c710]
jmp 0x1403760e9
xor esi, 0x9c508cbc
mov edx, 0x35253cb4
add edx, dword [0x14051ddd8]
mov ecx, esi
call fcn.14037a0b0
lea rax, [0x14051c2d0]
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret