Function at 0x140005820
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1403622b0]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov r12, rcx
mov rdi, qword [rbp + 0x250]
mov qword [rbp + 0x78], rdi
xor r15d, r15d
mov dword [rsp + 0x30], r15d
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14000587f
lock inc dword [rbx + 8]
mov rbx, qword [rdi + 8]
mov qword [rbp - 0x58], rbx
mov r14d, 0xffffffff
test rbx, rbx
je 0x1400058bb
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400058bb
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400058bb
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rbp + 0x240]
add eax, 0xfbfffffa
cmp eax, 0xe
ja case.0x1400058e2.67108871
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x6144]
add rcx, rdx
jmp rcx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, r12
lea r8, [0x1400061e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
jmp case.0x1400058e2.67108871
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
mov dword [rbp + 0x150], r15d
mov qword [rbp + 0x168], r15
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x150]
call fcn.140004cb0
nop
mov qword [rbp + 0x1b0], r15
mov qword [rbp + 0x1c0], r15
mov qword [rbp + 0x1c8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1b0], 0
mov dword [rsp + 0x30], 2
cmp dword [rbp + 0x150], 6
jne 0x140006072
mov eax, dword [rbp + 0x158]
test rax, rax
je 0x1400059b4
mov rax, qword [rbp + 0x160]
movups xmm1, xmmword [rax]
movaps xmmword [rbp - 0x10], xmm1
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp], xmm0
movd eax, xmm1
cmp eax, 5
jne 0x140006099
mov r8d, dword [rbp - 8]
mov rdx, qword [rbp]
lea rcx, [rbp + 0x1b0]
call fcn.140004ff0
nop
mov rbx, qword [rbp + 0x168]
test rbx, rbx
je 0x1400059d6
mov rcx, rbx
call fcn.14001cab0
mov edx, gethostname
mov rcx, rbx
call fcn.1401df0d0
nop
mov ecx, 0x28
call fcn.1401df0d8
mov rsi, rax
mov qword [rsp + 0x60], rax
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0xa0]
call fcn.1400054c0
mov rbx, rax
mov qword [rsp + 0x38], rax
lea rcx, [rsi + 8]
mov qword [rcx], r15
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], 0
mov qword [rsi], r12
cmp rcx, rax
je 0x140005a38
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140005a2e
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
call fcn.140004ff0
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140005a72
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140005a6d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400060c0
mov rcx, r8
call fcn.1401df0d0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rsi
lea r8, [0x140006a70]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 0x10
jb case.0x1400058e2.67108871
inc rdx
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005ae0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006066
call fcn.1401df0d0
jmp case.0x1400058e2.67108871
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
mov dword [rbp + 0x170], r15d
mov qword [rbp + 0x188], r15
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x170]
call fcn.140004cb0
nop
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xf8], r15
mov qword [rbp + 0x100], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xe8], 0
mov dword [rsp + 0x30], 8
cmp dword [rbp + 0x170], 6
jne 0x1400060c6
mov esi, dword [rbp + 0x178]
test rsi, rsi
je 0x140005bdc
lea rdx, [rbp + 0xe0]
mov rbx, qword [rbp + 0x180]
mov rcx, rbx
call fcn.140009970
cmp rsi, 1
jbe 0x140005bdc
movups xmm1, xmmword [rbx + 0x18]
movaps xmmword [rbp + 0x40], xmm1
movsd xmm0, qword [rbx + 0x28]
movsd qword [rbp + 0x50], xmm0
movd eax, xmm1
cmp eax, 5
jne 0x1400060ed
mov r8d, dword [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0xe8]
call fcn.140004ff0
cmp rsi, 2
jbe 0x140005bdc
movups xmm0, xmmword [rbx + 0x30]
movaps xmmword [rbp + 0x80], xmm0
movsd xmm1, qword [rbx + 0x40]
movsd qword [rbp + 0x90], xmm1
lea rcx, [rbp + 0x80]
call fcn.140009a00
mov dword [rbp + 0x108], eax
mov rbx, qword [rbp + 0x188]
test rbx, rbx
je 0x140005bfe
mov rcx, rbx
call fcn.14001cab0
mov edx, gethostname
mov rcx, rbx
call fcn.1401df0d0
nop
mov ecx, 0x30
call fcn.1401df0d8
mov rbx, rax
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0xe8]
lea rcx, [rbp + 0xc0]
call fcn.1400054c0
mov r9, rax
mov r8d, dword [rbp + 0xe0]
mov rdx, r12
mov rcx, rbx
call fcn.1400056e0
nop
mov qword [rsp + 0x28], r15
mov r9, rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], r15d
cmp dword [rbp + 0x108], ecx
lea r8, [0x140007b70]
jne 0x140005c60
lea r8, [0x1400076b0]
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb case.0x1400058e2.67108871
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005ae0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006066
jmp 0x140005ae0
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
mov dword [rbp + 0x190], r15d
mov qword [rbp + 0x1a8], r15
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x190]
call fcn.140004cb0
cmp dword [rbp + 0x190], 6
jne 0x140006114
mov ebx, dword [rbp + 0x198]
test rbx, rbx
je 0x140005d27
lea rdx, [rbp + 0x148]
mov rsi, qword [rbp + 0x1a0]
mov rcx, rsi
call fcn.140009970
cmp rbx, 1
jbe 0x140005d27
lea rcx, [rsi + 0x18]
lea rdx, [rbp + 0x14c]
call fcn.140009970
nop
mov rbx, qword [rbp + 0x1a8]
test rbx, rbx
je 0x140005d48
mov rcx, rbx
call fcn.14001cab0
mov edx, gethostname
mov rcx, rbx
call fcn.1401df0d0
mov ecx, 0x30
call fcn.1401df0d8
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], reloc.WS2_32.dll_ntohs
xor r8d, r8d
lea rdx, [0x14032c180]
lea rcx, [rbp - 0x80]
call fcn.140004ff0
lea r9, [rbp - 0x80]
mov r8d, dword [rbp + 0x148]
mov rdx, r12
mov rcx, rbx
call fcn.1400056e0
nop
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x140007b70]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
jmp case.0x1400058e2.67108871
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x110]
call fcn.140008a40
nop
mov ecx, 0x40
call fcn.1401df0d8
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov r15, qword [rbp + 0x128]
lea r13, [rbp + 0x118]
cmp qword [rbp + 0x130], 0x10
cmovae r13, qword [rbp + 0x118]
cmp r15, 0x10
jae 0x140005e25
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
jmp 0x140005ea0
mov rsi, r15
or rsi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
cmova rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140005e79
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000613b
mov rcx, rax
call fcn.1401df0d8
mov rcx, rax
test rax, rax
je 0x140006060
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140005e87
test rcx, rcx
je 0x140005e85
call fcn.1401df0d8
jmp 0x140005e87
xor eax, eax
mov qword [rsp + 0x40], rax
lea r8, [r15 + 1]
mov rdx, r13
mov rcx, rax
call fcn.1401e1740
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], r15
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov esi, dword [rbp + 0x140]
mov r15, qword [rbp + 0x138]
mov eax, dword [rbp + 0x110]
lea rcx, [rbx + 0x10]
xor r13d, r13d
mov qword [rcx], r13
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], r13b
mov qword [rbx], r12
mov dword [rbx + 8], eax
lea rax, [rsp + 0x40]
cmp rcx, rax
je 0x140005f06
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
call fcn.140004ff0
mov qword [rbx + 0x30], r15
mov dword [rbx + 0x38], esi
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140005f4a
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005f45
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006060
call fcn.1401df0d0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
mov r9, rbx
lea r8, [0x140007e20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
nop
mov rdx, qword [rbp + 0x130]
cmp rdx, 0x10
jb case.0x1400058e2.67108871
inc rdx
mov rcx, qword [rbp + 0x118]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005ae0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000606c
jmp 0x140005ae0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140005fdb
lock inc dword [rcx + 8]
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rcx
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x78], eax
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.140008160
nop
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140006030
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140006030
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140006030
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1401df0b0
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401ee5b8
nop
call fcn.1401ee5b8
int3
call fcn.1401ee5b8
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x48]
call fcn.140004850
lea rdx, [0x140358e90]
lea rcx, [rbp - 0x48]
call fcn.1401e164c
int3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x30]
call fcn.140004850
lea rdx, [0x140358e90]
lea rcx, [rbp - 0x30]
call fcn.1401e164c
nop
call fcn.1401ee5b8
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x10]
call fcn.140004850
lea rdx, [0x140358e90]
lea rcx, [rbp + 0x10]
call fcn.1401e164c
int3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x28]
call fcn.140004850
lea rdx, [0x140358e90]
lea rcx, [rbp + 0x28]
call fcn.1401e164c
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x60]
call fcn.140004850
lea rdx, [0x140358e90]
lea rcx, [rbp + 0x60]
call fcn.1401e164c
nop
call fcn.140005460
int3