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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r14d, r14d
xor ebp, ebp
xor r12d, r12d
mov rsi, rdx
mov rdi, rcx
mov dword [rsp + 0x70], r14d
test rcx, rcx
je 0x180054d80
test rdx, rdx
je 0x180054d80
mov rcx, qword [0x18008a130]
lea rbx, [0x18008a130]
cmp rcx, rbx
je 0x180018839
test dword [rcx + 0x1c], 0x400
jne 0x180054c0c
test dword [rcx + 0x1c], 0x1000000
jne 0x180054c30
mov r15d, dword [rsi]
mov r8d, 1
test r15d, r15d
jne 0x180018864
mov dword [rsi], r8d
mov rcx, qword [0x18008a130]
mov r15d, r8d
mov r12d, r8d
dec r15d
xor r13d, r13d
cmp dword [rdi + 0x44], ebp
jbe 0x180018ee4
mov eax, r13d
imul rbx, rax, 0x88
add rbx, rdi
and dword [rbx + 0xac], 0xfff00000
cmp r13d, r15d
jb 0x180054d10
test dword [rbx + 0xa4], 0x10000000
jne 0x18003ddff
test rbp, rbp
jne 0x180054ced
movsxd r14, r14d
mov qword [rsp + 0x88], r14
lea rcx, [rbx + 0x68]
mov edx, r12d
call fcn.18001894c
mov rbp, rax
test rax, rax
je 0x180018f2a
test r14, r14
jne 0x180054c6b
bts dword [rbx + 0xac], 0x14
mov r8d, 1
mov r14d, dword [rsp + 0x70]
add r13d, r8d
cmp r13d, dword [rdi + 0x44]
jb 0x180018873
lea rbx, [0x18008a130]
test rbp, rbp
je 0x180018edd
mov rcx, qword [0x18008a130]
mov r14d, 0x40000
test dword [rcx + 0x1c], r14d
jne 0x180054d38
cmp rcx, rbx
je 0x18001892e
test dword [rcx + 0x1c], r14d
jne 0x180054d5c
mov rax, rbp
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [0x18008a130]
xor edx, edx
cmp dword [rdi + 0x44], edx
jbe 0x180018f0e
mov eax, edx
add edx, r8d
imul rcx, rax, 0x88
and dword [rcx + rdi + 0xac], 0xfff00000
cmp edx, dword [rdi + 0x44]
jb 0x180018eeb
mov rcx, qword [0x18008a130]
cmp rcx, rbx
je 0x180018f20
test dword [rcx + 0x1c], 0x40000
jne 0x180054d1d
bts dword [rdi + 0x3c], 0x14
jmp 0x180018908
mov rcx, qword [0x18008a130]
lea rax, [0x18008a130]
cmp rcx, rax
je 0x180018f4a
test dword [rcx + 0x1c], 0x4000
jne 0x180054cd2
mov r8d, 1
bts dword [rbx + 0xac], 0xc
add dword [rsi], r8d
mov r12d, r8d
jmp 0x1800188e6
mov rcx, qword [0x18008a130]
lea rax, [0x18008a130]
cmp rcx, rax
je 0x18003de1f
test dword [rcx + 0x1c], 0x4000
jne 0x180054c4b
cmp byte [0x18008a067], 0
je 0x180018f50
mov r14d, r8d
mov dword [rsp + 0x70], r8d
jmp 0x1800188a3
mov r9d, dword [rsi]
mov rcx, qword [rcx + 0x10]
lea r8, [0x18001fc20]
mov edx, reloc.WS2_32.dll_getprotobyname
call fcn.180058fb0
mov rcx, qword [0x18008a130]
jmp 0x180018839
lea r8, [0x180054d88]
mov r9, rdi
call fcn.18006bc70
mov rcx, qword [0x18008a130]
jmp 0x180018846
mov rcx, qword [rcx + 0x10]
lea r8, [0x18001fc20]
mov edx, reloc.WS2_32.dll_getprotobynumber
call fcn.180058818
mov r8d, 1
jmp 0x18003de1f
lea r8, [rsp + 0x80]
xor r14d, r14d
xor edx, edx
and qword [rsp + 0x80], r14
mov rcx, rax
call fcn.180007220
mov rcx, qword [rsp + 0x80]
test eax, eax
jne 0x180054cb2
mov rax, qword [rcx + 0x58]
test rax, rax
je 0x180054cb2
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x180054cb2
cmp dword [rdx + 4], r14d
lea eax, [r14 + 1]
cmovne r14d, eax
test rcx, rcx
je 0x180054cbc
call fcn.180039eac
test r14d, r14d
mov r14, qword [rsp + 0x88]
je 0x1800188b7
jmp 0x1800188d8
mov rcx, qword [rcx + 0x10]
lea r8, [0x18001fc20]
mov edx, getservbyport
call fcn.180058818
nop
jmp 0x180018f4a
mov rcx, qword [rbx + 0x78]
mov rdx, rbp
call fcn.18000ef00
mov r8d, 1
test eax, eax
je 0x180054d10
bts dword [rbx + 0xac], 0x14
jmp 0x1800188e6
bts dword [rbx + 0xac], 0xc
jmp 0x1800188e6
mov rcx, qword [rcx + 0x10]
lea r8, [0x18001fc20]
mov edx, reloc.WS2_32.dll_getservbyport
call fcn.180058818
nop
jmp 0x180018f20
test rbp, rbp
je 0x18001891f
lea r8, [0x180054db8]
mov r9, rdi
call fcn.18006bc70
mov rcx, qword [0x18008a130]
jmp 0x18001891f
mov eax, dword [rsi]
mov rcx, qword [rcx + 0x10]
lea r8, [0x18001fc20]
mov edx, 0x39
mov r9, rbp
mov dword [rsp + 0x20], eax
call fcn.180058df4
nop
jmp 0x18001892e
xor eax, eax
jmp 0x180018931