Function at 0x140012040
Capabilities:
Create thread
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
movsxd rbx, r9d
lea ebp, [rcx + 0xc0]
mov edi, ecx
lea eax, [rbp - 0x80]
xor edi, 0x697
lea r14d, [rcx + 0x22]
add edx, 0xfffffd2f
lea r15d, [rbx - 0x22]
cmp ebx, eax
je 0x140012366
lea eax, [rdx - 0x7b]
cmp ebx, eax
jle 0x1400122da
mov r10d, r14d
lea eax, [rdi + 0x201]
xor r10d, 0x7e2
lea r8d, [rdx + 0x23]
mov dword [r11 - 0x38], r10d
lea edx, [r15 - 0x2af]
mov dword [rsp + 0x28], eax
lea ecx, [rdi + 0xef]
mov r9d, edi
lea rax, [0x1400d7010]
xor r9d, 0x7a
mov qword [r11 - 0x48], rax
call fcn.140002e78
mov rsi, qword [rsp + 0x90]
lea r13d, [r15 - 0x1f2]
add eax, 0x1bf
mov r12d, r14d
xor r12d, 0x6c8
xor edi, 0x6b5
mov r9, rsi
mov r8d, r13d
mov edx, dword [rsi + 0x11c]
mov ecx, edi
mov dword [rsi + 0x114], edx
lea edx, [r15 - 0x16f]
mov dword [rsp + 0x28], edx
mov edx, r12d
mov dword [rsp + 0x20], eax
call fcn.140011c48
lea ecx, [r14 + 0x131]
mov r9d, ebx
xor r9d, 0x288
lea r8d, [rbx - 0x101]
lea edx, [rax + 0x102]
lea eax, [rbx - 0x8b]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.140014e44
mov r11d, eax
xor r9d, r9d
lea rax, [0x1401135e0]
mov qword [rsi + 0xe0], rax
mov rax, qword [rsi + 0xe0]
mov r10d, dword [r9 + rax]
add r9, 4
mov eax, dword [rsi + 0xcc]
sub eax, dword [rsi + 0xd4]
sub eax, 0x55629
add dword [rsi + 0xc0], eax
mov eax, dword [rsi + 0x140]
sub eax, dword [rsi + 0x30]
sub eax, 0xb5833
add dword [rsi + 0x15c], eax
mov rax, qword [section..data]
imul r10d, dword [rax + 0x58]
movsxd rcx, dword [rax + 0x6c]
mov rax, qword [rsi + 0xf0]
mov edx, r10d
mov r8d, r10d
shr edx, 0x18
mov byte [rcx + rax], dl
mov rax, qword [section..data]
shr r8d, 0x10
inc dword [rax + 0x6c]
mov eax, dword [rsi + 0x20]
dec eax
xor dword [rsi + 0xa4], eax
mov eax, dword [rsi + 0x24]
xor eax, dword [0x1400d7120]
mov rcx, qword [section..data]
sub eax, 0x170c8e
add dword [rcx + 0x60], eax
mov rax, qword [section..data]
movsxd rdx, dword [rsi + 0x6c]
mov rcx, qword [rax + 0xf0]
mov byte [rdx + rcx], r8b
mov edx, r10d
inc dword [rsi + 0x6c]
mov eax, dword [0x1400d70c4]
mov ecx, dword [rsi + 0xc4]
add eax, 0xffea1c00
add ecx, dword [rsi + 0x90]
add ecx, eax
shr edx, 8
mov rax, qword [section..data]
mov dword [0x1400d70c4], ecx
mov ecx, dword [rax + 0xc4]
xor ecx, dword [0x1400d7030]
sub ecx, 0x15e3fe
or dword [0x1400d70d4], ecx
movsxd rcx, dword [rsi + 0x6c]
mov rax, qword [rsi + 0xf0]
mov byte [rcx + rax], dl
inc dword [rsi + 0x6c]
mov eax, dword [rsi + 0xac]
mov ecx, dword [0x1400d70dc]
sub ecx, dword [0x1400d7090]
sub ecx, 0x55628
imul eax, ecx
mov dword [rsi + 0xac], eax
movsxd rcx, dword [0x1400d707c]
mov rax, qword [rsi + 0xf0]
mov byte [rcx + rax], r10b
inc dword [0x1400d707c]
cmp r9, 0x59bf8
jl 0x140012168
xor r11d, 0x2b8
lea eax, [rbx - 0x112]
mov dword [rsp + 0x28], r11d
lea r8d, [rbp + 0x19c]
mov r9d, r13d
mov dword [rsp + 0x20], eax
mov rdx, rsi
mov ecx, r12d
call fcn.140011ea8
jmp 0x140012366
mov rsi, qword [rsp + 0x90]
mov eax, dword [rsi + 0x110]
xor eax, edi
or eax, edx
cmp ebp, eax
jb 0x140012366
mov r8d, dword [rsi + 0xc4]
lea r10d, [rdx - 0x274b]
mov ecx, dword [rsi + 0xc8]
mov eax, r14d
imul eax, edi
and ecx, 0x25ba
movsxd r11, ebp
xor r11, rbx
movsxd rdx, r14d
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r10d
movsxd r9, eax
mov eax, dword [rsi + 0x98]
xor r8, rax
movsxd rax, edi
xor rdx, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rax, qword [section..data]
mov ecx, dword [rax + 0xc0]
sub ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
mov eax, dword [rsi + 0x12c]
xor eax, 0x264a
imul eax, r15d
sub dword [0x1400d70d0], eax
lea r11, [rsp + 0x40]
mov rbp, qword [r11 + 0x38]
lea eax, [rbx - 0x214]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret