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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x40
lea r14d, [rcx - 0x25ba]
mov edi, ecx
mov r11d, 0x25ba
lea eax, [r14 + 0x25b3]
xor edi, r11d
lea esi, [r9 + 0x126]
lea r10d, [rdx - 0x1d0]
lea r15d, [r9 + 0x11d]
lea ebx, [rcx - 0x70]
cmp esi, eax
je 0x140012407
lea r8d, [r10 + 0x139]
cmp esi, r8d
jle 0x140012379
mov edx, ebx
lea eax, [rdi + 0x2729]
xor edx, 0x89
lea ecx, [rdi + 0x240c]
mov dword [rsp + 0x30], edx
mov r9d, edi
mov dword [rsp + 0x28], eax
xor r9d, r11d
lea rax, [0x1400d8010]
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.140002eb8
mov rbp, qword [rsp + 0x80]
lea r12d, [r15 - 0x19d]
add eax, 0xfffffdc2
mov dword [rsp + 0x28], r12d
xor edi, 0x2639
mov dword [rsp + 0x20], eax
lea r8d, [r15 + 0x7f]
mov r9, rbp
mov edx, dword [rbp + 0x11c]
mov ecx, edi
mov dword [rbp + 0x114], edx
mov edx, ebx
xor edx, 0x7d
call fcn.140011cc4
lea ecx, [rbx + 0x1df]
mov r9d, esi
xor r9d, 0x301
lea r8d, [rsi + 0xfd]
lea edx, [rax + 0x2e3]
lea eax, [rsi - 0x1e6]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rbp
call fcn.140014ec4
mov r10d, eax
xor r11d, r11d
lea rax, [0x140113980]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe0]
mov r9d, dword [r11 + rax]
add r11, 4
mov eax, dword [rbp + 0xcc]
sub eax, dword [rbp + 0xd4]
sub eax, 0x55629
add dword [rbp + 0xc0], eax
mov eax, dword [rbp + 0x140]
sub eax, dword [rbp + 0x30]
sub eax, 0xb5833
add dword [rbp + 0x15c], eax
mov rax, qword [section..data]
imul r9d, dword [rax + 0x58]
movsxd rcx, dword [rax + 0x6c]
mov rax, qword [rbp + 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 [rbp + 0x20]
dec eax
xor dword [rbp + 0xa4], eax
mov eax, dword [rbp + 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 [rbp + 0x6c]
mov rcx, qword [rax + 0xf0]
mov byte [rdx + rcx], r8b
mov edx, r9d
inc dword [rbp + 0x6c]
mov ecx, dword [rbp + 0x90]
add ecx, dword [rbp + 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 [rbp + 0x6c]
mov rax, qword [rbp + 0xf0]
mov byte [rcx + rax], dl
inc dword [rbp + 0x6c]
mov eax, dword [rbp + 0xac]
mov ecx, dword [0x1400d80dc]
sub ecx, dword [0x1400d8090]
sub ecx, 0x55628
imul eax, ecx
mov dword [rbp + 0xac], eax
movsxd rcx, dword [0x1400d807c]
mov rax, qword [rbp + 0xf0]
mov byte [rcx + rax], r9b
inc dword [0x1400d807c]
cmp r11, 0x59d3c
jl 0x140012205
xor r10d, 0x60
lea eax, [rsi - 0x1a6]
xor ebx, 0x300
mov dword [rsp + 0x28], r10d
mov ecx, ebx
mov dword [rsp + 0x20], eax
lea r8d, [r14 + 0x249d]
mov r9d, r12d
mov rdx, rbp
call fcn.140011f30
jmp 0x140012407
mov rbp, qword [rsp + 0x80]
mov eax, dword [rbp + 0x110]
xor eax, edi
or eax, r10d
cmp r14d, eax
jb 0x140012407
mov r8d, dword [rbp + 0xc4]
add r10d, 0xffffd9c7
mov ecx, dword [rbp + 0xc8]
movsxd rax, r14d
movsxd r11, esi
xor r11, rax
movsxd rdx, ebx
mov eax, ebx
mov qword [rsp + 0x28], r11
imul eax, edi
mov dword [rsp + 0x20], r10d
movsxd r9, eax
mov eax, dword [rbp + 0x98]
xor r8, rax
movsxd rax, edi
mov edi, 0x274b
xor rdx, rax
and rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rax, qword [section..data]
mov ecx, dword [rax + 0xc0]
sub ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
mov eax, dword [rbp + 0x12c]
xor eax, edi
imul eax, r15d
sub dword [0x1400d80d0], eax
mov rbx, qword [rsp + 0x60]
lea eax, [rsi + 0x76]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret