Function at 0x18001b580
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x90
cmp byte [rcx + 0x2f], 0
mov rdi, rcx
jne 0x18001bab1
mov qword [rax + 0x18], rbx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
xor r14d, r14d
mov byte [rcx + 0x2f], 1
mov esi, r14d
mov qword [rax - 0x38], r15
lea ecx, [r14 + 0x20]
call fcn.18001fe08
mov rbx, rax
lea r8, [0x18001ad40]
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov dword [rax + 9], r14d
mov word [rax + 0xd], r14w
mov byte [rax + 0xf], sil
mov qword [rax], rdi
lea rax, [0x18001ace0]
mov qword [rbx + 0x10], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov qword [rbx + 0x18], rdi
mov byte [rbx + 8], 1
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbp, rax
test rax, rax
jne 0x18001b62e
lea edx, [rax + 0x20]
mov rcx, rbx
call fcn.18001fe00
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov qword [rdi + 0x50], rbp
cmp byte [rdi + 0x28], r14b
je 0x18001b6ef
mov ecx, 0x20
mov esi, r14d
call fcn.18001fe08
mov rbx, rax
lea r8, [0x18001ad40]
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov dword [rax + 9], r14d
mov word [rax + 0xd], r14w
mov byte [rax + 0xf], sil
mov qword [rax], rdi
lea rax, [0x18001acf0]
mov qword [rbx + 0x10], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov qword [rbx + 0x18], rdi
mov byte [rbx + 8], 1
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x18001b6d2
lea rcx, [rdi + 0xa0]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x18001b6c3
mov eax, dword [rsp + 0xa0]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x18001b6e7
lea r8, [rsp + 0xa0]
call fcn.18001c5c0
jmp 0x18001b6e7
mov edx, 0x20
mov rcx, rbx
call fcn.18001fe00
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rdi]
lea rdx, str.Started
mov r8d, 2
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x68]
lea rdx, str.Failed_to_connect_to__s_n
mov rax, qword [rdi]
mov r8d, 2
mov r9, qword [rcx + 0x20]
cmp byte [rcx + 0x3d], r14b
mov rcx, rdi
mov r10, qword [rax + 0x10]
jne 0x18001b731
lea rdx, str.Successfully_connected_to__s_n
call r10
mov rsi, qword [rdi + 0x60]
lea rdx, str.filename
xorps xmm0, xmm0
mov qword [rsp + 0xa0], rsi
mov r8d, 8
mov qword [rsp + 0x50], r14
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x58], r14
movups xmmword [rsp + 0x40], xmm0
call fcn.1800091a0
mov r12, qword [rsi + 0x48]
mov r13, qword [rsp + 0x58]
mov r14, r12
mov rbp, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
mov rbx, qword [r12 + 8]
cmp byte [rbx + 0x19], 0
jne 0x18001b7e1
nop word [rax + rax]
cmp r13, 0x10
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x20]
cmovae rdx, r15
cmp qword [rbx + 0x38], 0x10
jb 0x18001b7ac
mov rcx, qword [rbx + 0x20]
mov rsi, qword [rbx + 0x30]
cmp rbp, rsi
mov r8, rsi
cmovb r8, rbp
call fcn.1800228a0
test eax, eax
je 0x18001b9eb
js 0x18001b9f4
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x18001b790
mov rsi, qword [rsp + 0xa0]
cmp byte [r14 + 0x19], 0
jne 0x18001b825
cmp qword [r14 + 0x38], 0x10
lea rdx, [r14 + 0x20]
jb 0x18001b7f7
mov rdx, qword [r14 + 0x20]
mov rbx, qword [r14 + 0x30]
lea rcx, [rsp + 0x40]
cmp r13, 0x10
mov r8, rbp
cmovae rcx, r15
cmp rbx, rbp
cmovb r8, rbx
call fcn.1800228a0
test eax, eax
je 0x18001b9fd
jns 0x18001ba06
xor al, al
test al, al
cmove r14, r12
cmp r13, 0x10
jb 0x18001b864
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x18001b85c
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001baba
mov rcx, r15
call fcn.18001fe00
cmp r14, qword [rsi + 0x48]
je 0x18001ba2f
mov rax, qword [r14 + 0x40]
lea rdx, str.fileversion
mov rsi, qword [rdi + 0x60]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xa8], rax
xorps xmm0, xmm0
xor eax, eax
mov qword [rsp + 0xa0], rsi
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
lea r8d, [rax + 0xb]
call fcn.1800091a0
mov r12, qword [rsi + 0x48]
mov r13, qword [rsp + 0x58]
mov r14, r12
mov rbp, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
mov rbx, qword [r12 + 8]
cmp byte [rbx + 0x19], 0
jne 0x18001b921
cmp r13, 0x10
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x20]
cmovae rdx, r15
cmp qword [rbx + 0x38], 0x10
jb 0x18001b8ec
mov rcx, qword [rbx + 0x20]
mov rsi, qword [rbx + 0x30]
cmp rbp, rsi
mov r8, rsi
cmovb r8, rbp
call fcn.1800228a0
test eax, eax
je 0x18001ba0d
js 0x18001ba16
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x18001b8d0
mov rsi, qword [rsp + 0xa0]
cmp byte [r14 + 0x19], 0
jne 0x18001b965
cmp qword [r14 + 0x38], 0x10
lea rdx, [r14 + 0x20]
jb 0x18001b937
mov rdx, qword [r14 + 0x20]
mov rbx, qword [r14 + 0x30]
lea rcx, [rsp + 0x40]
cmp r13, 0x10
mov r8, rbp
cmovae rcx, r15
cmp rbx, rbp
cmovb r8, rbx
call fcn.1800228a0
test eax, eax
je 0x18001ba1f
jns 0x18001ba28
xor al, al
test al, al
cmove r14, r12
cmp r13, 0x10
jb 0x18001b9a4
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x18001b99c
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001baba
mov rcx, r15
call fcn.18001fe00
cmp r14, qword [rsi + 0x48]
je 0x18001ba2f
mov rax, qword [rdi]
lea rdx, str.filename:__s
mov r9, qword [rsp + 0xa8]
mov r8d, 2
mov rbx, qword [r14 + 0x40]
mov rcx, rdi
call qword [rax + 0x10]
mov rax, qword [rdi]
lea rdx, str.fileversion__s
mov r9, rbx
mov r8d, 2
mov rcx, rdi
call qword [rax + 0x10]
jmp 0x18001ba45
cmp rsi, rbp
jae 0x18001b7cd
mov rbx, qword [rbx + 0x10]
jmp 0x18001b7d3
cmp rbp, rbx
jb 0x18001b825
mov al, 1
jmp 0x18001b827
cmp rsi, rbp
jae 0x18001b90d
mov rbx, qword [rbx + 0x10]
jmp 0x18001b913
cmp rbp, rbx
jb 0x18001b965
mov al, 1
jmp 0x18001b967
mov rax, qword [rdi]
lea rdx, str.Could_not_find_fileversion_and_filename
mov r8d, 2
mov rcx, rdi
call qword [rax + 0x10]
cmp byte [rdi + 0x29], 0
je 0x18001ba85
xor ecx, ecx
call fcn.18001c750
mov r10, qword [rdi]
lea rdx, str.dllloaded
mov rbx, rax
xor r9d, r9d
xor eax, eax
mov r8b, 1
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call qword [r10 + 0x20]
mov rcx, rbx
call fcn.18001fe00
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x60]
add rsp, 0x90
pop rdi
ret
call fcn.180026e9c
int3