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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x18], r8d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov ebp, r9d
mov r12, rdx
mov rsi, rcx
xor r15b, r15b
call fcn.140094390
mov rdi, qword [r12 + 0x10]
lea r13, [0x140330198]
mov rbx, rax
test rdi, rdi
je 0x14008a071
mov r14, qword [rsp + 0x88]
mov r8d, dword [r14]
test r8d, r8d
je 0x14008a05e
cmp qword [rdi + 0x48], 0
mov r15b, 1
je 0x140089ff5
mov r9d, dword [rbx + 0x3c]
mov edx, Ordinal_79
add r9d, 2
mov dword [rsp + 0x20], 0
mov rcx, rbx
call fcn.140056030
mov r9d, dword [r14]
mov r8d, ebp
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov dword [rsp + 0x20], 0
mov rcx, rbx
call fcn.140056030
mov eax, dword [rsp + 0xa0]
neg eax
mov eax, dword [rdi + 0x64]
sbb cl, cl
and al, 3
and cl, 0x10
movzx edx, cl
cmp al, 2
jne 0x14008a035
test byte [r12 + 0x46], 0x20
je 0x14008a035
or dl, 1
test dl, dl
je 0x14008a05e
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14008a04c
mov rax, r13
jmp 0x14008a05b
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], dl
mov rdi, qword [rdi + 0x28]
inc ebp
add r14, 4
test rdi, rdi
jne 0x140089fc2
test byte [r12 + 0x46], 0x20
jne 0x14008a23a
mov r13d, dword [rsp + 0x80]
movzx eax, byte [rsi + 0x1f]
lea edi, [r13 + 1]
test al, al
jne 0x14008a09a
inc dword [rsi + 0x54]
mov r14d, dword [rsi + 0x54]
jmp 0x14008a0a7
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov r14d, dword [rsi + rax*4 + 0x24]
movsx r9d, word [r12 + 0x3e]
mov r8d, edi
mov edx, gethostbyname
mov dword [rsp + 0x20], r14d
mov rcx, rbx
call fcn.140056030
test r15b, r15b
jne 0x14008a0d5
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call fcn.140086df0
movsx eax, word [r12 + 0x3e]
lea r9d, [rdi - 1]
add r9d, eax
lea rcx, [rsi + 0x94]
xor r15d, r15d
mov r8d, 0xa
mov edx, dword [rcx]
cmp edx, edi
jl 0x14008a11c
cmp edx, r9d
jg 0x14008a11c
cmp byte [rcx - 6], r15b
je 0x14008a119
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14008a115
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], r15b
mov dword [rcx], r15d
add rcx, 0x14
sub r8, 1
jne 0x14008a0f2
cmp byte [rsi + 0x1e], r15b
je 0x14008a130
xor dl, dl
jmp 0x14008a145
cmp dword [rsp + 0x90], r15d
mov edx, 3
mov eax, 5
cmovne edx, eax
mov r8d, dword [rsp + 0x70]
movzx eax, dl
or al, 8
mov dword [rsp + 0x20], r13d
cmp dword [rsp + 0x98], r15d
mov r9d, r14d
movzx ecx, al
movzx eax, dl
cmove ecx, eax
movzx edx, cl
mov rcx, rbx
movzx eax, dl
or al, 0x10
cmp dword [rsp + 0xa0], r15d
movzx ebp, al
cmove ebp, edx
mov edx, 0x54
call fcn.140056030
cmp byte [rsi + 0x1e], r15b
jne 0x14008a210
mov r8, qword [rbx + 8]
mov rdi, qword [r12]
mov rcx, qword [rbx]
test r8, r8
je 0x14008a206
cmp byte [rcx + 0x51], r15b
jne 0x14008a206
mov eax, dword [rbx + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rsi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rsi + 0x10]
call fcn.140056780
mov qword [rsi + 0x10], r15
test rdi, rdi
jne 0x14008a1d8
mov qword [rsi + 0x10], r15
mov byte [rsi + 1], r15b
jmp 0x14008a210
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], r15b
jne 0x14008a1e0
mov rcx, qword [rbx]
and eax, 0x3fffffff
movsxd r8, eax
mov rdx, rdi
call fcn.140036420
mov qword [rsi + 0x10], rax
mov byte [rsi + 1], 0xff
jmp 0x14008a210
mov r8, rdi
xor edx, edx
call fcn.140056780
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x3c]
dec ecx
cmp byte [rax + 0x51], r15b
je 0x14008a227
lea rdx, [0x140330198]
jmp 0x14008a236
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rdx, [rax + rcx*8]
mov byte [rdx + 3], bpl
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret