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

Disassembly:
mov qword [rsp + 0x18], r8
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xf8
mov rax, qword [0x1800a2228]
xor rax, rsp
mov qword [rsp + 0xe0], rax
xor eax, eax
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x118]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 1
je 0x180032b75
cmp dword [rsp + 0x34], 2
je 0x180032b75
cmp dword [rsp + 0x34], 3
je 0x180032b75
cmp dword [rsp + 0x34], 6
je 0x180032bd1
cmp dword [rsp + 0x34], 7
je 0x180032bd1
jmp 0x180032c09
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0x164], 4
je 0x180032bcf
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0x164], 5
je 0x180032bcf
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0x164], 6
je 0x180032bcf
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, listen
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
mov eax, 1
jmp 0x18003315c
jmp 0x180032c09
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0x164], 4
je 0x180032c09
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, listen
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
mov eax, 1
jmp 0x18003315c
cmp qword [rsp + 0x120], 0
je 0x180032c26
mov rax, qword [rsp + 0x110]
cmp qword [rax + 0x570], 0
jne 0x180032c4d
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, 0xa
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
mov eax, 1
jmp 0x18003315c
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, 0x1122
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x170]
mov dword [rsp + 0x20], 0
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.180053474
mov qword [rsp + 0x80], rax
movzx eax, word [rsp + 0x118]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 1
je 0x180032d4b
cmp dword [rsp + 0x38], 2
je 0x180032d4b
cmp dword [rsp + 0x38], 3
je 0x180032d4b
cmp dword [rsp + 0x38], 6
je 0x180032ee4
cmp dword [rsp + 0x38], 7
je 0x180032cd6
jmp 0x180033130
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x80]
call qword [rax + 0x20]
movzx eax, al
test eax, eax
jne 0x180032d1c
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, recv
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
mov eax, 1
mov word [rsp + 0x30], ax
jmp 0x180032d3e
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov r8w, 0x1122
mov dx, 7
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x188]
mov eax, 2
mov word [rsp + 0x118], ax
lea rcx, [rsp + 0x88]
call fcn.180046300
movzx eax, word [rsp + 0x118]
cmp eax, 3
jne 0x180032db1
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x570]
call fcn.1800483c0
movzx eax, al
test eax, eax
jne 0x180032daf
mov eax, 1
mov word [rsp + 0x30], ax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, recv
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
jmp 0x180032dfb
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x570]
call fcn.180048450
movzx eax, al
test eax, eax
jne 0x180032dfb
mov eax, 1
mov word [rsp + 0x30], ax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, recv
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
movsx eax, word [rsp + 0x30]
test eax, eax
jne 0x180032edf
mov dword [rsp + 0x50], 5
movss xmm0, dword [0x180083428]
movss dword [rsp + 0x4c], xmm0
movss xmm0, dword [0x180083428]
movss dword [rsp + 0x48], xmm0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x110]
call fcn.18001dd50
movss xmm0, dword [rsp + 0x48]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x50]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x88]
call fcn.1800475e0
mov rdi, qword [rsp + 0x120]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x570]
call fcn.180048500
mov rcx, qword [rsp + 0x120]
mov dword [rcx + 0x18], eax
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x110]
mov ecx, dword [rcx + 0x394]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x110]
mov ecx, dword [rcx + 0x398]
mov dword [rax + 0x14], ecx
jmp 0x180033157
mov ecx, reloc.WS2_32.dll_select
call fcn.180021960
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x1800330b9
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x74], rax
mov eax, 0x1114
mov word [rsp + 0x70], ax
mov eax, 5
mov word [rsp + 0x72], ax
mov rcx, qword [rsp + 0x74]
call fcn.1800219e0
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
lea rdi, [rax + 2]
mov rsi, qword [rsp + 0x120]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x44], 5
movss xmm0, dword [0x180083428]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x180083428]
movss dword [rsp + 0x3c], xmm0
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x44]
mov rcx, qword [rsp + 0x110]
call fcn.18001dd50
mov word [rsp + 0x30], ax
lea rax, [rsp + 0xb0]
mov rcx, qword [rsp + 0x58]
mov rdi, rax
lea rsi, [rcx + 2]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
movss xmm0, dword [rsp + 0x3c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x98]
call fcn.180046390
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
lea rdx, [rsp + 0x98]
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x190]
movzx eax, al
test eax, eax
je 0x180033041
movss xmm0, dword [rsp + 0x3c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x98]
call fcn.1800475e0
mov rcx, qword [rsp + 0x58]
lea rdi, [rcx + 2]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, 2
mov word [rsp + 0x30], ax
mov eax, 8
mov rcx, qword [rsp + 0x58]
mov word [rcx], ax
mov rcx, qword [rsp + 0x60]
call fcn.180021a20
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x570]
mov rcx, qword [rsp + 0x110]
mov rcx, qword [rcx + 0x570]
mov rax, qword [rax]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x70]
call qword [rax + 0x18]
cwde
test eax, eax
je 0x1800330ad
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov r8w, 0x1114
mov dx, 6
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x188]
mov rcx, qword [rsp + 0x60]
call fcn.1800219a0
jmp 0x1800330e0
mov eax, 1
mov word [rsp + 0x30], ax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, recv
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
mov rax, qword [rsp + 0x120]
cmp dword [rax + 0x10], 0xffffffff
je 0x180033107
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x120]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x394], ecx
mov rax, qword [rsp + 0x120]
cmp dword [rax + 0x14], 0xffffffff
je 0x18003312e
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x120]
mov ecx, dword [rcx + 0x14]
mov dword [rax + 0x398], ecx
jmp 0x180033157
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov dx, 9
mov rcx, qword [rsp + 0x110]
call qword [rax + 0x168]
mov eax, 1
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1800507a0
add rsp, 0xf8
pop rdi
pop rsi
ret