Function at 0x1800044a4
Capabilities:
Create thread

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov r12, r9
mov r13d, r8d
mov rsi, rdx
mov r14, rcx
lea rcx, [0x180008740]
lea rdx, [0x18000875a]
lea r9, [rsp + 0x81]
mov r8d, 0x1a
call fcn.180004c50
mov rbp, rax
mov rcx, qword [r14 + 0x860]
xor r15d, r15d
mov rdx, rsi
xor r8d, r8d
call fcn.1800041e4
test rax, rax
je 0x1800046fa
mov rdi, rax
mov qword [rsp + 0x48], rsi
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call sub.msvcrt.dll_malloc
mov rsi, rax
mov rdx, qword [rdi + 0x10]
mov rcx, rax
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r8, qword [r14 + 0x868]
mov rcx, rsi
mov rdx, rbx
call fcn.180004c1e
mov ecx, 0x58
call sub.msvcrt.dll_malloc
test rax, rax
je 0x1800046df
mov r15, rax
mov ecx, dword [rsp + 0x168]
mov rax, qword [rsp + 0x160]
mov dword [r15], 1
mov dword [r15 + 4], ecx
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], r14
xorps xmm0, xmm0
movups xmmword [r15 + 0x20], xmm0
mov ecx, 0x68
call sub.msvcrt.dll_malloc
mov qword [r15 + 0x18], rax
test rax, rax
je 0x1800046d7
mov qword [rsp + 0x38], r14
lea rcx, [0x1800049ed]
mov qword [rax], rcx
lea rcx, [0x180004a1d]
mov qword [rax + 8], rcx
lea rcx, [0x180004a32]
mov qword [rax + 0x10], rcx
lea rcx, [0x180004a4a]
mov qword [rax + 0x18], rcx
lea rcx, [0x180004a5b]
mov qword [rax + 0x20], rcx
lea rcx, [0x180004a6f]
mov qword [rax + 0x28], rcx
lea rcx, [0x180004afa]
mov qword [rax + 0x30], rcx
lea rcx, [sub.msvcrt.dll_malloc]
mov qword [rax + 0x40], rcx
lea rcx, [sub.msvcrt.dll_calloc]
mov qword [rax + 0x38], rcx
lea rcx, [sub.msvcrt.dll_realloc]
mov qword [rax + 0x48], rcx
lea rcx, [fcn.180006ea0]
mov qword [rax + 0x50], rcx
lea rcx, [sub.msvcrt.dll_memset]
mov qword [rax + 0x58], rcx
lea rcx, [sub.msvcrt.dll_memcpy]
mov qword [rax + 0x60], rcx
lea rcx, [0x18000875b]
lea rdx, [0x180008762]
lea r9, [rsp + 0x58]
mov r8d, 7
call fcn.180004c50
mov rdi, rax
mov qword [rsp + 0x40], rbx
add rbx, 0xfffffffffffffff9
xor r14d, r14d
cmp rbx, r14
je 0x1800046d0
lea rcx, [rsi + r14]
mov r8d, 7
mov rdx, rdi
call sub.msvcrt.dll_memcmp
inc r14
test eax, eax
jne 0x180004654
test rsi, rsi
je 0x1800046d0
lea rbp, [rsi + r14]
dec rbp
mov qword [rbp], r15
mov edi, r13d
mov qword [r15 + 0x30], rdi
inc r13d
shl r13, 3
mov rcx, r13
call sub.msvcrt.dll_malloc
mov rcx, qword [rbp]
mov qword [rcx + 0x38], rax
xor r13d, r13d
mov rbx, qword [rsp + 0x40]
cmp rdi, r13
je 0x180004711
mov rcx, qword [r12 + r13*8]
test rcx, rcx
je 0x1800046bd
call sub.msvcrt.dll__strdup
jmp 0x1800046bf
xor eax, eax
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x38]
mov qword [rcx + r13*8], rax
inc r13
jmp 0x1800046a8
mov rcx, qword [rsp + 0x38]
jmp 0x1800046e2
mov rcx, r15
call fcn.180006ea0
mov rcx, r14
mov edx, 1
mov r8, rbp
call fcn.18000378e
xor r15d, r15d
mov rcx, rsi
call fcn.180006ea0
mov rax, r15
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbp]
mov rax, qword [rax + 0x38]
and qword [rax + rdi*8], 0
mov eax, dword [rsp + 0x150]
mov rcx, qword [rbp]
mov qword [rcx + 0x40], rax
mov rax, qword [rbp]
and qword [rax + 0x48], 0
mov rax, qword [rbp]
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x180004769
call sub.msvcrt.dll_malloc
mov rcx, qword [rbp]
mov qword [rcx + 0x48], rax
mov rax, qword [rbp]
mov r8, qword [rax + 0x40]
mov rcx, qword [rax + 0x48]
mov rdx, qword [rsp + 0x158]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsi + r14 + 7]
test rcx, rcx
je 0x180004798
call sub.msvcrt.dll_malloc
mov rcx, qword [rsi + r14 - 1]
mov qword [rcx + 0x50], rax
mov rax, qword [rsi + r14 - 1]
mov r8, qword [rsi + r14 + 7]
mov rcx, qword [rax + 0x50]
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x1800047a1
mov rax, qword [rbp]
and qword [rax + 0x50], 0
mov r14, qword [rsp + 0x38]
mov ecx, 0x10
call sub.msvcrt.dll_malloc
mov rdi, rax
mov r8d, 0x10
mov rcx, rax
mov rdx, rbp
call sub.msvcrt.dll_memcpy
mov ecx, 0x48
call sub.msvcrt.dll_malloc
mov r12, rax
mov qword [rax], r14
mov qword [rax + 8], r15
mov qword [rax + 0x38], rdi
mov edi, dword [rsp + 0x168]
mov dword [rax + 0x10], edi
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll__strdup
mov qword [r12 + 0x18], rax
mov qword [r12 + 0x20], rsi
mov qword [r12 + 0x28], rbx
and dword [r12 + 0x40], 0
and dword [r12 + 0x30], 0
mov al, byte [rsp + 0x170]
mov byte [r12 + 0x44], al
mov r15, rbx
mov r14, rsi
test edi, edi
je 0x180004861
mov r14, qword [rsp + 0x38]
mov rdx, qword [r14 + 0x20]
mov edi, edi
cmp rdx, rdi
jbe 0x18000483a
mov rax, qword [r14 + 0x18]
mov r15, rbx
jmp 0x180004858
lea rax, [rdx + rdx]
mov qword [r14 + 0x20], rax
mov rcx, qword [r14 + 0x18]
shl rdx, 4
call sub.msvcrt.dll_realloc
mov qword [r14 + 0x18], rax
mov r15, qword [r12 + 0x28]
mov qword [rax + rdi*8], r12
mov r14, qword [r12 + 0x20]
lea rcx, [0x1800086e0]
lea rdx, [0x180008707]
lea r9, [rsp + 0xc1]
mov r8d, 0x27
call fcn.180004c50
mov r13, rax
lea rcx, [0x180008710]
lea rdx, [0x180008736]
lea r9, [rsp + 0x9b]
mov r8d, 0x26
call fcn.180004c50
mov rdi, rax
xor ecx, ecx
mov rdx, r15
mov r8d, 0x3000
mov r9d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1800049a0
mov rbp, rax
lea r9, [rsp + 0x58]
mov rcx, rax
mov rdx, r15
mov r8d, 4
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x180004970
mov qword [r12 + 0x20], rbp
mov rcx, rbp
mov rdx, r14
mov r8, r15
call sub.msvcrt.dll_memcpy
lea r9, [rsp + 0x58]
mov rcx, rbp
mov rdx, r15
mov r8d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x180004970
lea rax, [rsp + 0x54]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
lea r8, [0x1800043f0]
xor ecx, ecx
xor edx, edx
mov r9, r12
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r15, rax
test rax, rax
jne 0x1800049db
mov rcx, rbp
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, r14
call fcn.180006ea0
mov rcx, qword [rsp + 0x38]
mov edx, 1
mov r8, rdi
jmp 0x180004999
xor r15d, r15d
mov rcx, rbp
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, r14
call fcn.180006ea0
mov rcx, qword [rsp + 0x38]
mov edx, 1
mov r8, r13
call fcn.18000378e
jmp 0x1800049db
lea rcx, [0x1800086b0]
lea rdx, [0x1800086d8]
lea r9, [rsp + 0x58]
mov r8d, 0x28
call fcn.180004c50
mov rcx, qword [rsp + 0x38]
mov edx, 1
mov r8, rax
call fcn.18000378e
mov rcx, r14
call fcn.180006ea0
xor r15d, r15d
mov rcx, rsi
xor edx, edx
mov r8, rbx
call sub.msvcrt.dll_memset
jmp 0x1800046f2