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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
push ebx
push esi
push edi
lea edi, [ebp - 0x164]
mov ecx, 0x59
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x124], 0
jmp 0x410d9c
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x108]
jae 0x410dc0
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp + eax*4 - 0x104]
cmp ecx, dword [ebp + 8]
jne 0x410dbe
jmp 0x410dc0
jmp 0x410d8d
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x108]
jne 0x410df6
cmp dword [ebp - 0x108], 0x40
jae 0x410df6
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x104], ecx
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
xor eax, eax
test eax, eax
jne 0x410d81
cmp dword [ebp + 8], 0xffffffff
je 0x410e08
cmp dword [ebp + 0x10], 0
jne 0x410e42
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
movsx ecx, word [0x41907c]
add ecx, 0x12
push ecx
push str.e:_svn_workfile_softwarehisilion_srcipcamv100r003c01b041_s_allipcamv100r003c01b041_s_fipcamv100r003c01b041_src_boardhisi_vsrd_support_vscp_transferhi_socket.c
push str._r_nHI_SOCKET_Recv_:__s__d:_s32Socket___d_ps8Buffer___x_pstruFromAddr___x_r_n
push 2
push str.TRANS
call fcn.00407880
add esp, 0x20
mov eax, 0xa1006002
jmp 0x411053
movsx edx, word [0x41907c]
add edx, 0x17
push edx
push str.e:_svn_workfile_softwarehisilion_srcipcamv100r003c01b041_s_allipcamv100r003c01b041_s_fipcamv100r003c01b041_src_boardhisi_vsrd_support_vscp_transferhi_socket.c
push str._r_nHI_SOCKET_Recv_:__s__d_r_n
push 2
push str.TRANS
call fcn.00407880
add esp, 0x14
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x10c], 0
jle 0x41102d
cmp dword [ebp + 0xc], 0
je 0x410f68
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x410e9b
mov edx, dword [ebp + 0xc]
cmp dword [edx + 4], 0
je 0x410f68
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x11c], eax
xor ecx, ecx
test ecx, ecx
jne 0x410e9b
mov esi, esp
lea edx, [ebp - 0x120]
push edx
push 0
push 0
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
add ecx, 1
push ecx
call dword [sym.imp.WSOCK32.dll_select]
cmp esi, esp
call sub.MSVCRT.dll__chkesp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x11c], edx
xor eax, eax
test eax, eax
jne 0x410ee3
cmp dword [ebp - 4], 0
jge 0x410f34
movsx ecx, word [0x41907c]
add ecx, 0x26
push ecx
push str.e:_svn_workfile_softwarehisilion_srcipcamv100r003c01b041_s_allipcamv100r003c01b041_s_fipcamv100r003c01b041_src_boardhisi_vsrd_support_vscp_transferhi_socket.c
push str._r_nHI_SOCKET_Recv_:__s__d_r_n
push 2
push str.TRANS
call fcn.00407880
add esp, 0x14
mov eax, 0xa1528102
jmp 0x411053
cmp dword [ebp - 4], 0
jne 0x410f68
movsx edx, word [0x41907c]
add edx, 0x2b
push edx
push str.e:_svn_workfile_softwarehisilion_srcipcamv100r003c01b041_s_allipcamv100r003c01b041_s_fipcamv100r003c01b041_src_boardhisi_vsrd_support_vscp_transferhi_socket.c
push str._r_nHI_SOCKET_Recv_:__s__d_r_n
push 2
push str.TRANS
call fcn.00407880
add esp, 0x14
mov eax, 0xa1528101
jmp 0x411053
movsx eax, word [0x41907c]
add eax, 0x2f
push eax
push str.e:_svn_workfile_softwarehisilion_srcipcamv100r003c01b041_s_allipcamv100r003c01b041_s_fipcamv100r003c01b041_src_boardhisi_vsrd_support_vscp_transferhi_socket.c
push str._r_nHI_SOCKET_Recv_:__s__d_r_n
push 2
push str.TRANS
call fcn.00407880
add esp, 0x14
mov ecx, dword [ebp + 0x18]
neg ecx
sbb ecx, ecx
and ecx, 0x10
mov dword [ebp - 0x118], ecx
mov esi, esp
lea edx, [ebp - 0x118]
push edx
mov eax, dword [ebp + 0x18]
push eax
push 0
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [ebp - 0x114]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WSOCK32.dll_recvfrom]
cmp esi, esp
call sub.MSVCRT.dll__chkesp
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jg 0x411004
movsx ecx, word [0x41907c]
add ecx, 0x35
push ecx
push str.e:_svn_workfile_softwarehisilion_srcipcamv100r003c01b041_s_allipcamv100r003c01b041_s_fipcamv100r003c01b041_src_boardhisi_vsrd_support_vscp_transferhi_socket.c
push str._r_nHI_SOCKET_Recv_:__s__d_r_n
push 2
push str.TRANS
call fcn.00407880
add esp, 0x14
mov eax, 0xa1528102
jmp 0x411053
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x114]
add eax, dword [ebp - 0x110]
mov dword [ebp - 0x114], eax
jmp 0x410e6f
movsx ecx, word [0x41907c]
add ecx, 0x3b
push ecx
push str.e:_svn_workfile_softwarehisilion_srcipcamv100r003c01b041_s_allipcamv100r003c01b041_s_fipcamv100r003c01b041_src_boardhisi_vsrd_support_vscp_transferhi_socket.c
push str._r_nHI_SOCKET_Recv_:__s__d_r_n
push 2
push str.TRANS
call fcn.00407880
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x164
cmp ebp, esp
call sub.MSVCRT.dll__chkesp
mov esp, ebp
pop ebp
ret