Function at 0x1400120c0
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
lea r8d, [rcx - 0x241d]
mov ebx, ecx
xor ebx, 0x2bd
lea r12d, [r8 + 0x254a]
lea esi, [r9 - 0x254a]
mov r14d, r9d
lea r10d, [rdx - 0x241d]
lea r15d, [r9 - 0x14b]
lea ebp, [rcx - 0x1e]
cmp esi, r12d
jge 0x1400123ef
lea eax, [r10 + 0x25c3]
cmp esi, eax
je 0x140012360
lea eax, [rbx - 0xdd]
mov r9d, ebx
mov r13d, ebp
lea r8d, [r10 + 0x26c0]
xor r13d, 0x5b5
lea edx, [r15 + 0x1bb]
mov dword [r11 - 0x38], r13d
lea ecx, [rbx - 0x169]
mov dword [rsp + 0x28], eax
xor r9d, 0x60
lea rax, [0x1400d7010]
mov qword [r11 - 0x48], rax
call fcn.140002ec4
mov rdi, qword [rsp + 0x90]
lea r9d, [r15 + 0x7b]
mov dword [rsp + 0x28], r9d
lea r8d, [r15 + 0x34c]
add eax, 0xfffffef1
xor ebx, 0x57d
mov r9, rdi
mov dword [rsp + 0x20], eax
mov edx, dword [rdi + 0x11c]
mov ecx, ebx
mov dword [rdi + 0x114], edx
mov edx, ebp
xor edx, 0x63c
call fcn.140011cc4
lea ecx, [rbp + 0x23a]
mov r9d, esi
xor r9d, 0x264a
lea r8d, [rsi + 0x249d]
lea edx, [rax - 0x1dd]
lea eax, [rsi + 0x240c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.140014ec4
mov r11d, eax
xor ebx, ebx
lea rax, [0x140113450]
mov qword [rdi + 0xe0], rax
mov rax, qword [rdi + 0xe0]
mov r10d, dword [rbx + rax]
add rbx, 4
mov eax, dword [rdi + 0xcc]
sub eax, dword [rdi + 0xd4]
sub eax, 0x55629
add dword [rdi + 0xc0], eax
mov eax, dword [rdi + 0x140]
sub eax, dword [rdi + 0x30]
sub eax, 0xb5833
add dword [rdi + 0x15c], eax
mov rax, qword [section..data]
imul r10d, dword [rax + 0x58]
movsxd rcx, dword [rax + 0x6c]
mov rax, qword [rdi + 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 [rdi + 0x20]
dec eax
xor dword [rdi + 0xa4], eax
mov eax, dword [0x1400d7120]
xor eax, dword [rdi + 0x24]
mov rcx, qword [section..data]
sub eax, 0x170c8e
add dword [rcx + 0x60], eax
mov rax, qword [section..data]
movsxd rdx, dword [rdi + 0x6c]
mov rcx, qword [rax + 0xf0]
mov byte [rdx + rcx], r8b
mov edx, r10d
inc dword [rdi + 0x6c]
mov ecx, dword [rdi + 0x90]
add ecx, dword [rdi + 0xc4]
mov eax, dword [0x1400d70c4]
add eax, 0xffea1c00
shr edx, 8
add ecx, eax
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 [rdi + 0x6c]
mov rax, qword [rdi + 0xf0]
mov byte [rcx + rax], dl
inc dword [rdi + 0x6c]
mov eax, dword [rdi + 0xac]
mov ecx, dword [0x1400d70dc]
sub ecx, dword [0x1400d7090]
sub ecx, 0x55628
imul eax, ecx
mov dword [rdi + 0xac], eax
movsxd r9, dword [0x1400d707c]
mov rax, qword [rdi + 0xf0]
mov byte [r9 + rax], r10b
inc dword [0x1400d707c]
cmp rbx, 0x59c40
jl 0x1400121f3
xor r11d, 0x53d
lea r9d, [r15 + 0x9e]
mov dword [rsp + 0x28], r11d
mov r8d, r12d
mov rdx, rdi
mov dword [rsp + 0x20], r14d
mov ecx, r13d
call fcn.140011f0c
jmp 0x1400123ef
mov rdi, qword [rsp + 0x90]
mov eax, dword [rdi + 0x110]
xor eax, ebx
or eax, r10d
cmp r8d, eax
jb 0x1400123ef
mov ecx, dword [rdi + 0xc8]
add r10d, 0xffffda3d
movsxd rax, r8d
and ecx, 0x26c0
mov r8d, dword [rdi + 0xc4]
movsxd r11, esi
xor r11, rax
movsxd rdx, ebp
mov eax, ebp
mov qword [rsp + 0x28], r11
imul eax, ebx
mov dword [rsp + 0x20], r10d
movsxd r9, eax
mov eax, dword [rdi + 0x98]
xor r8, rax
movsxd rax, ebx
xor rdx, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rax, qword [section..data]
mov ecx, dword [rax + 0xc0]
sub ecx, ebp
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
mov eax, dword [rdi + 0x12c]
xor eax, 0x274b
imul eax, r15d
sub dword [0x1400d70d0], eax
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
lea eax, [rsi + 0x274b]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret