Function at 0x140002e20
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x140005030]
xor rax, rsp
mov qword [rbp + 0x4f], rax
movzx eax, word [0x140001350]
lea rcx, [rbp + 0x3f]
mov word [rbp + 0x3f], ax
movzx eax, byte [0x140001352]
mov byte [rbp + 0x41], al
xor eax, eax
mov qword [rbp + 0x42], rax
mov dword [rbp + 0x4a], eax
mov byte [rbp + 0x4e], al
mov eax, dword [0x140001354]
mov dword [rbp + 7], eax
movzx eax, byte [0x140001358]
mov byte [rbp + 0xb], al
mov eax, dword [0x14000135c]
mov dword [rbp + 0x1f], eax
movzx eax, byte [0x140001360]
mov byte [rbp + 0x23], al
xor eax, eax
mov qword [rbp + 0x24], rax
mov dword [rbp + 0x2c], eax
mov eax, dword [0x140001364]
mov dword [rbp + 0xf], eax
movzx eax, byte [0x140001368]
mov byte [rbp + 0x13], al
xor eax, eax
mov word [rbp + 0x14], ax
movzx eax, word [0x14000136c]
mov word [rbp - 1], ax
movzx eax, byte [0x14000136e]
mov byte [rbp + 1], al
xor eax, eax
mov word [rbp + 2], ax
dec rcx
mov byte [rbp + 4], al
mov eax, 0x6c
mov word [rbp - 5], ax
mov word [rbp - 9], ax
mov qword [rbp + 0x37], 0x6c416c
mov dword [rbp + 0x17], 0x636f6c
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140002ef0
lea r8, [rbp + 7]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140002f00
lea rcx, [rbp + 0x37]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140002f20
lea r8, [rbp + 0x17]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140002f30
lea rcx, [rbp + 0x3f]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140002f50
lea r8, [rbp + 0x37]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140002f60
lea rcx, [rbp + 0x1f]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140002f80
lea r8, [rbp + 0xf]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140002f90
lea rcx, [rbp + 0x1f]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140002fb0
lea r8, [rbp - 1]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140002fc0
lea rcx, [rbp + 0x1f]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140002fe0
lea r8, [rbp - 5]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140002ff0
lea rcx, [rbp + 0x1f]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140003010
lea r8, [rbp - 9]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140003020
lea rcx, [rbp + 0x1f]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [0x140001370]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rbp + 0x1f]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [rbp + 0x3f]
call rbx
lea rdx, [rbp - 9]
mov dword [rbp - 9], 0
mov rbx, rax
call fcn.140002b80
mov rsi, rax
test rax, rax
je 0x140003106
mov edx, dword [rbp - 9]
mov r9d, 0x40
mov r8d, 0x1000
xor ecx, ecx
call rbx
mov rbx, rax
test rax, rax
je 0x140003106
mov r8d, dword [rbp - 9]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor r9d, r9d
mov qword [rsp + 0x28], 0
mov r8, rbx
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
jne 0x1400030e7
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, 1
jmp 0x140003108
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.140003640
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret