Function at 0x1400739f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rsi, qword [rcx + 0x10]
xor r14d, r14d
mov edi, edx
mov rbx, rcx
test rsi, rsi
jne 0x140073a63
call fcn.14003f730
mov qword [rbx + 0x10], rax
mov rsi, rax
test rax, rax
je 0x140073a4d
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.14003f920
cmp qword [rbx + 0x1c0], r14
jne 0x140073a63
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x140073a63
mov byte [rbx + 0x23], 1
mov eax, dword [rbx + 0x50]
mov rcx, rsi
dec eax
mov dword [rsp + 0x34], eax
call fcn.14003fa60
mov r12d, eax
mov rbp, qword [rsp + 0xc0]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0xd8], r14d
jge 0x140073aa7
movzx r8d, byte [rbp + 0x2c]
mov r9d, eax
mov edx, 0x87
mov dword [rsp + 0x20], r14d
mov rcx, rsi
call fcn.14003f920
mov ebp, dword [rbp + 0x28]
mov r15d, dword [rsp + 0xd0]
mov r13, qword [rsp + 0xc8]
mov dword [rsp + 0x38], ebp
test ebp, ebp
jle 0x140073b13
mov rbx, qword [rsp + 0xc0]
mov rdi, r13
nop dword [rax]
mov r8d, dword [rdi]
mov r9d, r12d
inc r8d
mov dword [rsp + 0x20], 0
add r8d, r15d
mov edx, 0x4c
mov rcx, rsi
call fcn.14003f920
mov ebp, dword [rbx + 0x28]
lea rdi, [rdi + 4]
inc r14d
mov dword [rsp + 0x38], ebp
cmp r14d, ebp
jl 0x140073ad0
mov rbx, qword [rsp + 0xa0]
mov edi, dword [rsp + 0xa8]
cmp dword [rsp + 0xe0], 0
jne 0x140073f87
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
jne 0x140073cb5
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x140073b42
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x140073b4e
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r8d, dword [r13]
mov r9d, edi
inc r8d
xor r13d, r13d
add r8d, r15d
mov dword [rsp + 0x20], r13d
mov edx, 0x22
mov rcx, rsi
call fcn.14003f920
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov r8d, edi
mov edx, 0x26
mov rcx, rsi
call fcn.14003f920
mov r14, qword [rsp + 0xb0]
mov ebp, eax
mov rax, qword [rsp + 0xc0]
cmp r14, qword [rax]
jne 0x140073bd6
cmp dword [rsp + 0xd8], 1
jne 0x140073bd6
mov r9d, r12d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov edx, 0x4f
mov rcx, rsi
call fcn.14003f920
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x140073bd6
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x90
mov r8d, dword [rsp + 0xa8]
mov r9, r14
mov r14d, dword [rsp + 0x34]
mov rcx, rbx
mov edx, r14d
mov dword [rsp + 0x20], gethostname
call fcn.1400771a0
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r14d
mov edx, 0x46
mov rcx, rsi
call fcn.14003f920
mov r9d, r12d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.14003f920
mov edx, dword [rsi + 0x3c]
lea eax, [rdx - 2]
cmp edx, eax
jbe 0x140073c3e
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov edx, dword [rsi + 0x3c]
cmp edx, ebp
jbe 0x140073c64
mov rax, qword [rsi + 8]
lea rcx, [rbp*2]
add rcx, rbp
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
test edi, edi
je 0x140073f8f
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x140073f8f
mov ecx, r13d
lea rax, [rbx + 0x88]
nop
cmp dword [rax + 0xc], edi
je 0x140073cac
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140073c90
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x140073f8f
mov byte [rax + 6], 1
jmp 0x140073f8f
mov ecx, dword [rbx + 0x44]
mov r12d, dword [rbx + 0x48]
mov dword [rsp + 0x3c], r12d
cmp ebp, ecx
jg 0x140073cd3
lea eax, [r12 + rbp]
sub ecx, ebp
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x140073ce4
mov eax, dword [rbx + 0x54]
lea r12d, [rax + 1]
add eax, ebp
mov dword [rbx + 0x54], eax
mov dword [rsp + 0x3c], r12d
movzx eax, byte [rbx + 0x1f]
lea r14, [rbx + 0x1f]
test al, al
jne 0x140073cf8
inc dword [rbx + 0x54]
mov eax, dword [rbx + 0x54]
jmp 0x140073d04
dec al
movzx eax, al
mov byte [r14], al
mov eax, dword [rbx + rax*4 + 0x24]
mov r9d, dword [rdx + 0x58]
mov rcx, rsi
mov r8d, dword [rsp + 0x34]
mov edx, gethostname
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x20], edi
call fcn.14003f920
mov rdx, qword [rsp + 0xb8]
mov rcx, rbx
mov rdi, qword [rbx + 0x10]
call fcn.14006beb0
mov r8, rax
mov edx, 0xffffffff
mov r9d, 0xfffffffa
mov rcx, rdi
call fcn.14003ff50
movsxd r13, ebp
test ebp, ebp
jle 0x140073d94
mov r14d, r12d
xor edi, edi
mov r12, qword [rsp + 0xc8]
mov r8d, dword [r12 + rdi*4]
mov r9d, r14d
inc r8d
mov dword [rsp + 0x20], 0
add r8d, r15d
mov edx, 0x21
mov rcx, rsi
call fcn.14003f920
inc r14d
inc rdi
cmp rdi, r13
jl 0x140073d63
lea r14, [rbx + 0x1f]
mov rax, qword [rsp + 0xc0]
mov r12, r14
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rax]
jne 0x140073eb1
cmp dword [rsp + 0xd8], 1
jne 0x140073eb1
mov eax, dword [rsi + 0x3c]
inc eax
add eax, ebp
test ebp, ebp
jle 0x140073e8f
mov rbx, qword [rsp + 0xc8]
xor edi, edi
mov ebp, eax
nop dword [rax]
mov eax, dword [rbx + rdi*4]
lea r14d, [r15 + 1]
movsxd r12, dword [rsi + 0x3c]
inc eax
add eax, r15d
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax + 8]
movsx ecx, word [rax + rdi*2]
mov rax, qword [rsi + 0x30]
add r14d, ecx
cmp cx, word [rdx + 0x40]
cmove r14d, r15d
cmp dword [rax + 0x60], r12d
jg 0x140073e25
mov rcx, rsi
call fcn.14003f870
test eax, eax
jne 0x140073e55
mov rax, qword [rsi + 8]
lea rcx, [r12 + r12*2]
inc dword [rsi + 0x3c]
mov edx, dword [rsp + 0x40]
mov word [rax + rcx*8], 0x4e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], 0
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x140073e6b
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x10
mov rdx, qword [rsp + 0xb0]
inc rdi
cmp rdi, r13
jl 0x140073de0
mov rbx, qword [rsp + 0xa0]
mov ebp, dword [rsp + 0x38]
lea r12, [rbx + 0x1f]
mov r14d, dword [rsp + 0x30]
xor r8d, r8d
mov r9d, r14d
mov dword [rsp + 0x20], 0
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.14003f920
jmp 0x140073eb6
mov r14d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0xb8]
mov rcx, rsi
call fcn.1400772e0
mov r13d, dword [rsp + 0x3c]
mov r9d, ebp
mov r15d, dword [rsp + 0xe0]
mov r8d, r13d
mov edx, 0x31
mov dword [rsp + 0x20], r15d
mov rcx, rsi
mov rdi, rax
call fcn.14003f920
mov r9d, ebp
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.14003ff50
mov r9d, r14d
mov dword [rsp + 0x20], r15d
mov r14d, dword [rsp + 0x34]
mov edx, 0x45
mov r8d, r14d
mov rcx, rsi
call fcn.14003f920
mov r9d, 0xfffffff2
xor r8d, r8d
mov edx, eax
mov rcx, rsi
call fcn.14003ff50
test r15d, r15d
je 0x140073f66
cmp byte [r12], 8
jae 0x140073f66
xor ecx, ecx
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], r15d
je 0x140073f62
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140073f43
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0x24], r15d
inc byte [rbx + 0x1f]
jmp 0x140073f66
mov byte [rax + 6], 1
mov r8d, ebp
mov edx, r13d
mov rcx, rbx
call fcn.140059630
mov r12d, dword [rsp + 0x30]
cmp ebp, dword [rbx + 0x44]
jle 0x140073f8c
mov dword [rbx + 0x44], ebp
mov dword [rbx + 0x48], r13d
jmp 0x140073f8c
mov r14d, dword [rsp + 0x34]
xor r13d, r13d
mov r8, qword [rsp + 0xc0]
movzx edx, byte [r8 + 0x2c]
lea rcx, [r8 + 0x2c]
test dl, dl
jne 0x140074029
mov rax, qword [rbx]
test dword [rax + 0x2c], 0x1000000
jne 0x140074029
cmp qword [rbx + 0x1c0], 0
jne 0x140074029
cmp byte [rbx + 0x20], dl
jne 0x140074029
mov rcx, rbx
call fcn.140088a20
mov rcx, qword [rbx + 0x1c0]
mov edx, 0x18
test rcx, rcx
mov dword [rsp + 0x20], r13d
mov r9d, 2
mov r8d, 0x313
cmovne rbx, rcx
mov rdi, rax
mov rcx, rax
mov byte [rbx + 0x21], 1
call fcn.14003f920
mov r9d, 0xfffffffe
xor r8d, r8d
mov edx, eax
mov rcx, rdi
call fcn.14003ff50
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x140074066
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 4
jmp 0x140074066
mov r9d, dword [rsp + 0xd8]
test r9d, r9d
jle 0x140074050
test dl, dl
jne 0x140074050
mov rax, qword [rbx + 0x1c0]
lea rcx, [r8 + 0x2c]
test rax, rax
cmovne rbx, rax
mov byte [rbx + 0x21], 1
movzx r8d, byte [rcx]
mov edx, 0x86
mov rcx, rsi
mov dword [rsp + 0x20], r13d
call fcn.14003f920
mov r9, qword [rsi + 0x30]
not r12d
test r12d, r12d
js 0x140074087
mov rcx, qword [r9 + 0x80]
test rcx, rcx
je 0x140074087
mov eax, dword [rsi + 0x3c]
movsxd rdx, r12d
mov dword [rcx + rdx*4], eax
mov eax, dword [rsi + 0x3c]
mov r8d, r14d
dec eax
mov dword [rsp + 0xc0], r13d
mov dword [r9 + 0x64], eax
mov edx, 0x3d
xor r9d, r9d
mov rcx, rsi
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.14003f920