Function at 0x180043660
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x88
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x30], 0x1c
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x10]
and eax, 0x10
test eax, eax
je 0x1800436cc
mov edx, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
call fcn.18004dd60
jmp 0x180043be2
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x100b8], 0
jg 0x180043801
cmp dword [rsp + 0xa8], 0
jl 0x180043722
mov eax, dword [rsp + 0xa8]
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xa8]
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x3c], eax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x58], rax
jmp 0x18004372b
mov qword [rsp + 0x58], 0
mov rax, qword [rsp + 0x48]
add rax, 0xa8
mov rcx, qword [rsp + 0x48]
add rcx, 0x80b0
mov rdi, rcx
mov rsi, rax
mov ecx, 0x8008
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x48]
add rax, 0x80b0
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov ecx, 0x1000
call qword [sym.imp.WSOCK32.dll_select]
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x100b8], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x100b8], 0xffffffff
jne 0x1800437b7
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x60], 0xffffff2b
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x64], eax
mov eax, 0xffffffff
jmp 0x180043be2
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x100b8], 0
jne 0x180043801
cmp dword [rsp + 0xa8], 0
jl 0x1800437dd
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x60], 0xffffff35
jmp 0x1800437e9
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x60], 0xffffff2b
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x64], eax
mov eax, 0xffffffff
jmp 0x180043be2
jmp 0x180043811
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
je 0x180043840
mov rax, qword [rsp + 0x40]
add rax, 0x80b0
mov rcx, qword [rsp + 0x48]
movsxd rcx, dword [rcx + 0xa0]
mov rdx, rax
call fcn.1800f93d0
test eax, eax
je 0x18004383e
jmp 0x180043840
jmp 0x180043803
cmp qword [rsp + 0x48], 0
jne 0x18004387e
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x60], 0xffffff37
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x100b8], 0
mov eax, 0xffffffff
jmp 0x180043be2
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x100b8]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x100b8], eax
mov dword [rsp + 0x60], 0
jmp 0x1800438aa
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x80b0]
cmp dword [rsp + 0x60], eax
jae 0x180043942
mov eax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
movsxd rcx, dword [rcx + 0xa0]
mov rdx, qword [rsp + 0x40]
cmp qword [rdx + rax*8 + 0x80b8], rcx
jne 0x18004393d
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x80b0]
dec eax
cmp dword [rsp + 0x60], eax
jae 0x180043923
mov eax, dword [rsp + 0x60]
inc eax
mov eax, eax
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x40]
mov rax, qword [rdi + rax*8 + 0x80b8]
mov qword [rdx + rcx*8 + 0x80b8], rax
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
jmp 0x1800438de
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x80b0]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x80b0], eax
jmp 0x180043942
jmp 0x1800438a0
xor eax, eax
test eax, eax
jne 0x180043896
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x14], 0
je 0x1800439e7
mov rcx, qword [rsp + 0x48]
call fcn.180043c00
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
jne 0x180043996
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x60], 0xffffff33
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x64], eax
mov eax, 0xffffffff
jmp 0x180043be2
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xa0]
mov dword [rax + 0x18], 0
mov rax, qword [rsp + 0xa0]
mov dword [rax + 4], 1
jmp 0x180043a07
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x48]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xa0]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0xa0]
cmp dword [rax + 4], 1
je 0x180043bde
mov dword [rsp + 0x70], 0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
and eax, 4
test eax, eax
je 0x180043a3a
mov dword [rsp + 0x74], 0x407
jmp 0x180043a56
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa0]
mov ecx, dword [rcx + 0x18]
mov eax, dword [rax + 0x1c]
sub eax, ecx
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x48]
add rax, 0x100bc
mov rcx, qword [rsp + 0x48]
movsxd rcx, dword [rcx + 0xa0]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x74]
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x10]
call qword [sym.imp.WSOCK32.dll_recvfrom]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x180043ab2
call fcn.180008f50
cmp dword [rax], 0x2714
jne 0x180043ab2
jmp 0x180043a56
cmp dword [rsp + 0x50], 0xffffffff
jne 0x180043b40
call qword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x64], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x64], 0x2746
je 0x180043ae7
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x64], 0x2745
jne 0x180043b04
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
and eax, 4
test eax, eax
jne 0x180043b02
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x60], 0xffffff36
jmp 0x180043b10
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x60], 0xffffff2c
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
and eax, 4
test eax, eax
jne 0x180043b31
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x68]
inc eax
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x68], eax
mov eax, 0xffffffff
jmp 0x180043be2
cmp dword [rsp + 0x50], 0
jg 0x180043b9b
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x60], 0xffffff36
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x68]
inc eax
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x68], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
and eax, 4
test eax, eax
jne 0x180043b92
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x68]
inc eax
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x68], eax
mov eax, 0xffffffff
jmp 0x180043be2
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x18]
add eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov dword [rcx + 0x18], eax
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
add rax, qword [rcx + 0x10]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x68], 0
mov eax, dword [rsp + 0x50]
add rsp, 0x88
pop rdi
pop rsi
ret