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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xc8
mov rax, qword [0x180135070]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r8d, WSAStartup
xor edx, edx
mov rcx, qword [rsp + 0xe0]
call fcn.18000abd0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 0
cmp qword [rsp + 0xd8], 0
je 0x18003b9c6
mov rax, qword [rsp + 0xd8]
movsx eax, byte [rax]
test eax, eax
jne 0x18003b9cb
jmp 0x18003c50d
mov edx, 0x3d
mov rcx, qword [rsp + 0xd8]
call fcn.1800156cc
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
je 0x18003c28b
mov dword [rsp + 0x70], 0
mov rax, qword [rsp + 0x68]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
test eax, eax
je 0x18003ba36
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
and eax, 0xff
mov ecx, eax
call fcn.180012204
test eax, eax
je 0x18003ba36
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
jmp 0x18003ba03
mov rax, qword [rsp + 0x68]
dec rax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movsx eax, byte [rax]
and eax, 0xff
mov ecx, eax
call fcn.180012204
test eax, eax
je 0x18003ba6a
mov rax, qword [rsp + 0x68]
dec rax
mov qword [rsp + 0x68], rax
jmp 0x18003ba43
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
inc rax
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0xa
jle 0x18003ba93
mov dword [rsp + 0x48], 0xa
mov r8d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0x58]
call fcn.180023830
movsxd rax, dword [rsp + 0x48]
mov byte [rsp + rax + 0x58], 0
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
cmp eax, 0x22
jne 0x18003bb48
mov rcx, qword [rsp + 0x40]
call fcn.18000acf0
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movsx eax, byte [rax]
and eax, 0xff
mov ecx, eax
call fcn.180012204
test eax, eax
je 0x18003bb20
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x80], rax
jbe 0x18003bb20
mov rax, qword [rsp + 0x80]
dec rax
mov qword [rsp + 0x80], rax
jmp 0x18003bae1
mov rax, qword [rsp + 0x80]
movsx eax, byte [rax]
cmp eax, 0x22
jne 0x18003bb48
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov byte [rax], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.18004aec0
test eax, eax
je 0x18003bb96
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 9
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x184], 0xffffff85
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x1a0], 0xfffffff7
jmp 0x18003c50d
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0xad8]
mov qword [rsp + 0x78], rax
jmp 0x18003bbb9
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
je 0x18003bc40
mov rax, qword [rsp + 0x78]
add rax, 8
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bc3b
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x14]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x18]
mov dword [rax + 0x14], ecx
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
mov dword [rsp + 0x70], 1
jmp 0x18003bc40
jmp 0x18003bbac
cmp dword [rsp + 0x70], 0
jne 0x18003c286
lea rdx, [0x18013c6e0]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bc93
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 4
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
jmp 0x18003c286
lea rdx, [0x18013c6e8]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bcdb
mov rax, qword [rsp + 0xe0]
mov dword [rax + setsockopt], 0x10
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
jmp 0x18003c286
lea rdx, [0x18013c6ec]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bd23
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 5
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
jmp 0x18003c286
lea rdx, [0x18013c6f4]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bd6b
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], reloc.WSOCK32.dll_select
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
jmp 0x18003c286
lea rdx, [0x18013c6f8]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bdb3
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 0xa
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
jmp 0x18003c286
lea rdx, [0x18013c6fc]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bdfb
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 2
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
jmp 0x18003c286
lea rdx, str.ether
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003bf8a
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 3
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov rcx, qword [rsp + 0xe0]
add rcx, 0x38
mov rdx, qword [rsp + 0xe0]
add rdx, 0x34
mov r8, qword [rsp + 0xe0]
add r8, 0x30
mov r9, qword [rsp + 0xe0]
add r9, 0x2c
mov r10, qword [rsp + 0xe0]
add r10, 0x28
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
mov r8, r10
lea rdx, str.ether_x:_x:_x:_x:_x:_x
mov rcx, qword [rsp + 0xd8]
call fcn.180005e40
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 6
jge 0x18003bf21
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov rcx, qword [rsp + 0xe0]
add rcx, 0x38
mov rdx, qword [rsp + 0xe0]
add rdx, 0x34
mov r8, qword [rsp + 0xe0]
add r8, 0x30
mov r9, qword [rsp + 0xe0]
add r9, 0x2c
mov r10, qword [rsp + 0xe0]
add r10, 0x28
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
mov r8, r10
lea rdx, str.ether_2x_2x_2x_2x_2x_2x
mov rcx, qword [rsp + 0xd8]
call fcn.180005e40
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 6
jge 0x18003bf85
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x2c], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x30], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x34], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x38], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x3c], 0
jmp 0x18003c286
lea rdx, [0x18013c70c]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003c082
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 6
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x40], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x3c], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x38], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x34], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x30], 0
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x2c], 0
mov edx, 0x3d
mov rcx, qword [rsp + 0xd8]
call fcn.1800156cc
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
je 0x18003c046
mov rax, qword [rsp + 0x90]
inc rax
mov qword [rsp + 0x90], rax
jmp 0x18003c056
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xe0]
add rax, 0x2c
mov rdx, rax
mov rcx, qword [rsp + 0x90]
call fcn.18003c650
mov rcx, qword [rsp + 0xe0]
mov dword [rcx + 0x28], eax
jmp 0x18003c286
lea rdx, [0x18013c744]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
je 0x18003c0c1
lea rdx, str.rlm1d1
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
je 0x18003c0c1
lea rdx, str.rlmidi
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003c10f
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], ioctlsocket
lea r8, [rsp + 0x98]
lea rdx, [0x18013c75c]
mov rcx, qword [rsp + 0x40]
call fcn.180005e40
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0x98]
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x14], 1
jmp 0x18003c286
lea rdx, [0x18013c760]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
je 0x18003c139
lea rdx, str.rlm1d2
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003c187
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], reloc.WSOCK32.dll_ioctlsocket
lea r8, [rsp + 0x9c]
lea rdx, [0x18013c770]
mov rcx, qword [rsp + 0x40]
call fcn.180005e40
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0x9c]
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x14], 1
jmp 0x18003c286
lea rdx, [0x18013c774]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003c1de
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], reloc.WSOCK32.dll_ntohl
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x14], 0
jmp 0x18003c286
lea rdx, [0x18013c77c]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003c232
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], setsockopt
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x14], 0
jmp 0x18003c286
lea rdx, [0x18013c788]
lea rcx, [rsp + 0x58]
call fcn.180005964
test eax, eax
jne 0x18003c277
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], reloc.WSOCK32.dll_recvfrom
mov rax, qword [rsp + 0xe0]
add rax, 0x28
mov r8d, 0x40
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180023830
jmp 0x18003c286
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 9
jmp 0x18003c50d
mov dword [rsp + 0xa8], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0xd8]
call fcn.18004aec0
test eax, eax
je 0x18003c2e7
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 9
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x184], 0xffffff85
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x1a0], 0xfffffff7
jmp 0x18003c50d
lea r8, [rsp + 0xac]
lea rdx, [0x18013c784]
mov rcx, qword [rsp + 0xd8]
call fcn.180005e40
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa0], rax
jmp 0x18003c328
mov rax, qword [rsp + 0xa0]
inc rax
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movsx eax, byte [rax]
test eax, eax
je 0x18003c36e
mov rax, qword [rsp + 0xa0]
movsx eax, byte [rax]
and eax, 0xff
mov ecx, eax
call fcn.1800122fc
test eax, eax
jne 0x18003c361
mov dword [rsp + 0xa8], 0
jmp 0x18003c36e
mov dword [rsp + 0xa8], 1
jmp 0x18003c315
mov rax, qword [rsp + 0xd8]
movsx eax, byte [rax]
test eax, eax
jne 0x18003c391
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 0
jmp 0x18003c50d
lea rdx, [0x18013c790]
mov rcx, qword [rsp + 0xd8]
call fcn.180005964
test eax, eax
jne 0x18003c3bd
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 7
jmp 0x18003c50d
lea rdx, str.demo
mov rcx, qword [rsp + 0xd8]
call fcn.180005964
test eax, eax
jne 0x18003c3e9
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 8
jmp 0x18003c50d
lea rdx, [0x18013c7a0]
mov rcx, qword [rsp + 0xd8]
call fcn.180005964
test eax, eax
jne 0x18003c415
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 9
jmp 0x18003c50d
mov rcx, qword [rsp + 0xd8]
call fcn.18000acf0
cmp rax, 0xc
jne 0x18003c4be
cmp dword [rsp + 0xa8], 0
je 0x18003c4be
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 3
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov rcx, qword [rsp + 0xe0]
add rcx, 0x38
mov rdx, qword [rsp + 0xe0]
add rdx, 0x34
mov r8, qword [rsp + 0xe0]
add r8, 0x30
mov r9, qword [rsp + 0xe0]
add r9, 0x2c
mov r10, qword [rsp + 0xe0]
add r10, 0x28
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
mov r8, r10
lea rdx, str._2x_2x_2x_2x_2x_2x
mov rcx, qword [rsp + 0xd8]
call fcn.180005e40
jmp 0x18003c50d
mov rcx, qword [rsp + 0xd8]
call fcn.18000acf0
cmp rax, 9
jae 0x18003c4fe
cmp dword [rsp + 0xa8], 0
je 0x18003c4fe
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 1
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0xac]
mov dword [rax + 0x28], ecx
jmp 0x18003c50d
mov rax, qword [rsp + 0xe0]
mov dword [rax + 0x10], 9
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.180005860
add rsp, 0xc8
ret