Function at 0x140012080
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
mov qword [r11 + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x40
lea ebp, [rcx - 0x178]
mov edi, ecx
xor edi, 0x189
lea eax, [rbp + 0x201]
lea ebx, [r9 + 0x166]
lea r10d, [rdx - 0x1d6]
lea r15d, [r9 - 0x25c3]
lea r14d, [rcx - 0x26c2]
cmp ebx, eax
jge 0x1400123ab
lea r8d, [r10 + 0x40]
cmp ebx, r8d
jle 0x14001231b
lea eax, [rdi - 0x34c]
mov r9d, edi
mov r12d, r14d
lea edx, [r15 + 0x247a]
xor r12d, 0x2537
lea ecx, [rdi - 0x188]
mov dword [r11 - 0x28], r12d
xor r9d, 0x27b
mov dword [rsp + 0x28], eax
lea rax, [0x1400d8010]
mov qword [r11 - 0x38], rax
call fcn.140002e74
mov rsi, qword [rsp + 0x80]
lea r8d, [r15 + 0x25b3]
add eax, 0x8a
mov r9, rsi
mov ecx, edi
mov edx, dword [rsi + 0x11c]
mov dword [rsi + 0x114], edx
lea edx, [r15 + 0x254a]
mov dword [rsp + 0x28], edx
mov edx, r12d
mov dword [rsp + 0x20], eax
call fcn.140011c88
lea ecx, [r14 + 0x264a]
mov r9d, ebx
xor r9d, 0x4d6
lea r8d, [rbx - 0xf0]
lea edx, [rax + 0x198]
lea eax, [rbx - 0x1f9]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.140014e80
mov r10d, eax
xor r11d, r11d
lea rax, [0x140112b60]
mov qword [rsi + 0xe0], rax
mov rax, qword [rsi + 0xe0]
mov r9d, dword [r11 + rax]
add r11, 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 r9d, dword [rax + 0x58]
movsxd rcx, dword [rax + 0x6c]
mov rax, qword [rsi + 0xf0]
mov edx, r9d
mov r8d, r9d
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 [0x1400d8120]
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, r9d
inc dword [rsi + 0x6c]
mov ecx, dword [rsi + 0x90]
add ecx, dword [rsi + 0xc4]
mov eax, dword [0x1400d80c4]
add eax, 0xffea1c00
shr edx, 8
add ecx, eax
mov rax, qword [section..data]
mov dword [0x1400d80c4], ecx
mov ecx, dword [rax + 0xc4]
xor ecx, dword [0x1400d8030]
sub ecx, 0x15e3fe
or dword [0x1400d80d4], 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 [0x1400d80dc]
sub ecx, dword [0x1400d8090]
sub ecx, 0x55628
imul eax, ecx
mov dword [rsi + 0xac], eax
movsxd rcx, dword [0x1400d807c]
mov rax, qword [rsi + 0xf0]
mov byte [rcx + rax], r9b
inc dword [0x1400d807c]
cmp r11, 0x59c58
jl 0x1400121a5
xor r10d, 0x1ae
lea eax, [rbx - 0x31d]
mov dword [rsp + 0x28], r10d
lea r9d, [r15 + 0x249d]
lea r8d, [rbp - 0x14b]
mov dword [rsp + 0x20], eax
mov rdx, rsi
mov ecx, r12d
call fcn.140011ee8
jmp 0x1400123ab
mov rsi, qword [rsp + 0x80]
mov eax, dword [rsi + 0x110]
xor eax, edi
or eax, r10d
cmp ebp, eax
jb 0x1400123ab
mov r8d, dword [rsi + 0xc4]
add r10d, 0xffffd9c7
mov ecx, dword [rsi + 0xc8]
movsxd rax, ebp
and ecx, 0x2729
movsxd r11, ebx
xor r11, rax
movsxd rdx, r14d
mov eax, r14d
mov qword [rsp + 0x28], r11
imul eax, edi
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, 0x2639
imul eax, r15d
sub dword [0x1400d80d0], eax
mov rbp, qword [rsp + 0x68]
lea eax, [rbx - 0x89]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret