Function at 0x140002710
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x80
cmp byte [rcx + 0x2f], 0
mov rdi, rcx
jne 0x140002be1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
xor r14d, r14d
mov byte [rcx + 0x2f], 1
mov esi, r14d
mov qword [rax - 0x28], r15
lea ecx, [r14 + 0x20]
call fcn.140006800
mov rbx, rax
lea r8, [0x140001e70]
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, [0x140001e10]
mov qword [rbx + 0x10], rax
lea rax, [rsp + 0x90]
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 0x1400027be
lea edx, [rax + 0x20]
mov rcx, rbx
call fcn.14000683c
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 0x14000287f
mov ecx, 0x20
mov esi, r14d
call fcn.140006800
mov rbx, rax
lea r8, [0x140001e70]
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, [0x140001e20]
mov qword [rbx + 0x10], rax
lea rax, [rsp + 0x90]
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 0x140002862
lea rcx, [rdi + 0xa0]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x140002853
mov eax, dword [rsp + 0x90]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x140002877
lea r8, [rsp + 0x90]
call fcn.140003740
jmp 0x140002877
mov edx, 0x20
mov rcx, rbx
call fcn.14000683c
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 0x1400028c1
lea rdx, str.Successfully_connected_to__s_n
call r10
mov r13, qword [rdi + 0x60]
xorps xmm0, xmm0
mov r14, qword [str.filename]
mov r12d, 8
movups xmmword [rsp + 0x40], xmm0
mov esi, 0xf
mov qword [rsp + 0x50], r12
mov r15, qword [r13 + 0x48]
mov qword [rsp + 0x58], rsi
mov rbp, r15
mov qword [rsp + 0x40], r14
mov byte [rsp + 0x48], 0
mov rbx, qword [r15 + 8]
cmp byte [rbx + 0x19], 0
jne 0x140002956
nop word [rax + rax]
cmp qword [rbx + 0x38], 0x10
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x20]
jb 0x140002924
mov rcx, qword [rbx + 0x20]
mov rsi, qword [rbx + 0x30]
cmp r12, rsi
mov r8, rsi
cmovb r8, r12
call fcn.14001fbf0
test eax, eax
je 0x140002b1f
js 0x140002b28
mov rbp, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x140002910
mov esi, 0xf
cmp byte [rbp + 0x19], 0
jne 0x140002999
cmp qword [rbp + 0x38], 0x10
lea rdx, [rbp + 0x20]
jb 0x14000296b
mov rdx, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x30]
lea rcx, [rsp + 0x40]
cmp rsi, 0x10
mov r8, r12
cmovae rcx, r14
cmp rbx, r12
cmovb r8, rbx
call fcn.14001fbf0
test eax, eax
je 0x140002b31
jns 0x140002b3a
xor al, al
test al, al
cmove rbp, r15
cmp rsi, 0x10
jb 0x1400029d8
lea rdx, [rsi + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400029d0
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002bea
mov rcx, r14
call fcn.14000683c
cmp rbp, qword [r13 + 0x48]
je 0x140002b5f
movzx eax, word [0x14005c700]
mov esi, listen
mov r13, qword [rdi + 0x60]
mov r8d, 0xf
movsd xmm0, qword [str.fileversion]
mov r12, qword [rbp + 0x40]
mov word [rsp + 0x48], ax
mov r15, qword [r13 + 0x48]
movzx eax, byte [0x14005c702]
mov rbp, r15
movsd qword [rsp + 0x40], xmm0
mov r14, qword [rsp + 0x40]
mov rbx, qword [r15 + 8]
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r8
cmp byte [rbx + 0x19], 0
mov byte [rsp + 0x4a], al
mov byte [rsp + 0x4b], 0
jne 0x140002a9e
mov r15d, esi
nop word [rax + rax]
cmp qword [rbx + 0x38], 0x10
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x20]
jb 0x140002a64
mov rcx, qword [rbx + 0x20]
mov rsi, qword [rbx + 0x30]
cmp r15, rsi
mov r8, rsi
cmovb r8, r15
call fcn.14001fbf0
test eax, eax
je 0x140002b41
js 0x140002b4a
mov rbp, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x140002a50
mov r15, qword [r13 + 0x48]
mov esi, listen
lea r8d, [rsi + 4]
cmp byte [rbp + 0x19], 0
jne 0x140002ad9
cmp qword [rbp + 0x38], 0x10
lea rdx, [rbp + 0x20]
jb 0x140002ab3
mov rdx, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x30]
lea rcx, [rsp + 0x40]
cmp r8, 0x10
mov r8, rsi
cmovae rcx, r14
cmp rbx, rsi
cmovb r8, rbx
call fcn.14001fbf0
test eax, eax
je 0x140002b53
jns 0x140002b58
xor al, al
test al, al
cmove rbp, r15
cmp rbp, qword [r13 + 0x48]
je 0x140002b5f
mov rax, qword [rdi]
lea rdx, str.filename:__s
mov rbx, qword [rbp + 0x40]
mov r9, r12
mov r8d, 2
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 0x140002b75
cmp rsi, r12
jae 0x140002945
mov rbx, qword [rbx + 0x10]
jmp 0x14000294b
cmp r12, rbx
jb 0x140002999
mov al, 1
jmp 0x14000299b
cmp rsi, r15
jae 0x140002a85
mov rbx, qword [rbx + 0x10]
jmp 0x140002a8b
cmp rsi, rbx
jb 0x140002ad9
mov al, 1
jmp 0x140002adb
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 0x140002bb5
xor ecx, ecx
call fcn.140003e60
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.14000683c
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x60]
add rsp, 0x80
pop rdi
ret
call fcn.14000d14c
int3