Function at 0x42d0f0
Capabilities:
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
push edi
mov eax, 0x133c
push esi
push ebx
call fcn.005ac030
sub esp, eax
mov eax, dword [0x5bb98c]
lea ebx, [esp + 0x7c]
mov dword [esp + 8], 0x5cb308
mov dword [esp + 4], 0xa
mov dword [esp + 0x73], 0x696d6763
mov dword [esp + 0x77], 0x2d72656e
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov byte [esp + 0x7b], 0
call sym._snprintf_2
xor eax, eax
mov dword [esp + eax + 0x90], 0
add eax, 4
cmp eax, 0x20
jb 0x42d13c
lea eax, [esp + 0x68]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [str.224.0.0.75]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_getaddrinfo]
mov dword [esp + 0x44], eax
call eax
sub esp, 0x10
test eax, eax
je 0x42d1c3
lea ebp, [esp + 0x930]
mov dword [esp + 8], str.Invalid_API_Multicast_Address
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
call sym._snprintf_2
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov dword [esp], 0
call sym.__applog
mov dword [esp], 1
call sym.__quit
mov edi, dword [esp + 0x68]
test edi, edi
je 0x42dc56
mov esi, dword [sym.imp.WS2_32.dll_socket]
mov eax, edi
mov ebx, esi
jmp 0x42d1ea
mov edi, dword [edi + 0x1c]
test edi, edi
je 0x42d2d8
mov eax, dword [esp + 0x68]
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov eax, dword [eax + 4]
mov dword [esp], eax
call ebx
sub esp, 0xc
test eax, eax
je 0x42d1db
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
je 0x42d3ba
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 1
mov dword [esp + 0x10], 4
mov dword [esp + 8], 4
mov dword [esp + 4], 0xffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov ebx, dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [esp], eax
call ebx
sub esp, 0x14
cmp eax, 0xffffffff
jne 0x42d2e1
cmp byte [0x745ef7], 0
jne 0x42d275
cmp byte [0x732fa0], 0
jne 0x42d275
mov edi, dword [0x5bc2e0]
test edi, edi
js 0x42d2bd
call sym._WSAErrorMsg
mov dword [esp + 0x10], str.___API_multicast_listener_will_not_be_available
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.API_mcast_setsockopt_SO_REUSEADDR_failed___s__s
lea ebx, [esp + 0x930]
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call sym.__applog
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 4
add esp, 0x133c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x28], eax
jmp 0x42d216
mov dword [esp], 0
mov esi, dword [sym.imp.msvcrt.dll_time]
call esi
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_bind]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x42d390
mov eax, dword [edi + 4]
cmp eax, 2
je 0x42dc5d
cmp eax, 0x17
jne 0x42d48b
mov eax, dword [edi + 0x18]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x540], 0
mov dword [esp + 0x10], 0x14
mov dword [esp + 0x530], ecx
mov dword [esp + 0x534], esi
mov dword [esp + 0x53c], eax
lea eax, [esp + 0x530]
mov dword [esp + 0x538], edx
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0x29
mov dword [esp + 0x40], eax
mov dword [esp + 0xc], eax
jmp 0x42dca9
call sym._WSAErrorMsg
mov dword [esp], 0
mov ebp, eax
call esi
sub eax, dword [esp + 0x2c]
cmp eax, 0x3d
jg 0x42d41a
mov dword [esp], 0x7530
call sym._cgsleep_ms
jmp 0x42d2f4
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
sub esp, 4
lea ebp, [esp + 0x930]
mov dword [esp + 8], str.API_mcast_could_not_open_socket
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
call sym._snprintf_2
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov dword [esp], 0
call sym.__applog
mov dword [esp], 1
call sym.__quit
mov dword [esp + 0x28], 0xffffffff
jmp 0x42d216
cmp byte [0x745ef7], 0
jne 0x42d43a
cmp byte [0x732fa0], 0
jne 0x42d43a
mov esi, dword [0x5bc2e0]
test esi, esi
js 0x42d2bd
mov eax, dword [0x5bb98c]
lea ebx, [esp + 0x930]
mov dword [esp + 0x14], str.___API_multicast_listener_will_not_be_available
mov dword [esp + 0x10], ebp
mov dword [esp + 8], str.API_mcast_bind_to_port__d_failed___s__s
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call sym.__applog
jmp 0x42d2bd
lea eax, [esp + 0x530]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_freeaddrinfo]
mov dword [esp + 0x4c], eax
call eax
mov eax, dword [0x5bb994]
sub esp, 4
lea ebp, [esp + 0x930]
mov dword [esp], eax
call sym._strlen
lea ebx, [eax + 0xa]
lea esi, [eax + 9]
mov dword [esp + 0xc], 0x12b2
mov dword [esp + 8], str.mcast
mov dword [esp + 4], str.api.c
mov dword [esp], ebx
mov dword [esp + 0x30], esi
call sym.__cgmalloc
mov edi, eax
mov dword [esp + 0x34], eax
mov eax, dword [0x5bb994]
mov dword [esp], edi
mov dword [esp + 8], str._s_s_
lea edi, [esp + 0xb0]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x73]
mov dword [esp + 0xc], eax
call sym._snprintf_2
lea eax, [esp + 0x130]
mov dword [esp + 0x3c], 0xffffffff
add eax, esi
xor esi, esi
mov dword [esp + 0x38], eax
mov eax, dword [sym.imp.WS2_32.dll_socket]
mov dword [esp + 0x48], eax
nop
lea esi, [esi]
mov dword [esp], 0x3e8
add esi, 1
call sym._cgsleep_ms
lea eax, [esp + 0x60]
mov dword [esp + 0x60], pe_nt_image_headers32
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3ff
mov dword [esp + 0x14], eax
lea eax, [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_recvfrom]
sub esp, 0x18
cmp eax, 0xffffffff
mov ebx, eax
jne 0x42d603
cmp byte [0x732fa1], 0
je 0x42d540
cmp byte [0x745ef7], 0
jne 0x42d5b9
cmp byte [0x732fa0], 0
jne 0x42d5b9
cmp dword [0x5bc2e0], 3
jle 0x42d540
call sym._WSAErrorMsg
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.API_mcast_failed_count_d___s____d_
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
mov dword [esp + 0x14], ecx
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
jmp 0x42d540
lea edx, [esp + 0x64]
lea ecx, [esp + 0x5f]
mov eax, edi
call sym._check_connect
cmp byte [0x732fa1], 0
mov edx, eax
je 0x42d694
cmp byte [0x745ef7], 0
jne 0x42d640
cmp byte [0x732fa0], 0
jne 0x42d640
cmp dword [0x5bc2e0], 3
jle 0x42d694
nop
lea esi, [esi]
test dl, dl
mov ecx, str.Ignored
mov eax, 0x5cb9fa
cmove eax, ecx
mov dword [esp + 8], str.API_mcast_from__s____s
mov dword [esp + 4], 0xa00
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esp], ebp
mov byte [esp + 0x2c], dl
mov dword [esp + 0xc], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
movzx edx, byte [esp + 0x2c]
test dl, dl
je 0x42d540
test ebx, ebx
mov byte [esp + ebx + 0x130], 0
jle 0x42d6b9
cmp byte [esp + ebx + 0x12f], 0xa
lea eax, [ebx - 1]
je 0x42d900
lea eax, [esp + 0x86]
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 0xa
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.WS2_32.dll_getnameinfo]
sub esp, 0x1c
cmp byte [0x732fa1], 0
je 0x42d7b4
cmp byte [0x745ef7], 0
jne 0x42d870
cmp byte [0x732fa0], 0
jne 0x42d870
cmp dword [0x5bc2e0], 3
jg 0x42d870
cmp dword [esp + 0x30], ebx
jae 0x42d769
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
lea eax, [esp + 0x130]
mov dword [esp], eax
call sym._memcmp
test eax, eax
je 0x42d7e5
lea esi, [esi]
cmp byte [0x745ef7], 0
jne 0x42d77f
cmp byte [0x732fa0], 0
jne 0x42d77f
cmp dword [0x5bc2e0], 3
jle 0x42d540
mov dword [esp + 8], str.API_mcast_request_was_no_good
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
jmp 0x42d540
cmp ebx, dword [esp + 0x30]
jbe 0x42d540
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
lea eax, [esp + 0x130]
mov dword [esp], eax
call sym._memcmp
test eax, eax
jne 0x42d540
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._atoi
lea edx, [eax - 1]
cmp edx, 0xfffe
jbe 0x42d910
cmp byte [0x732fa1], 0
je 0x42d540
cmp byte [0x745ef7], 0
jne 0x42d82c
cmp byte [0x732fa0], 0
jne 0x42d82c
cmp dword [0x5bc2e0], 3
jle 0x42d540
mov eax, dword [esp + 0x38]
mov dword [esp + 8], str.API_mcast_request_ignored___invalid_port___s_
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
jmp 0x42d540
lea eax, [esp + 0x86]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.API_mcast_request_rep_d___s__from___s_:_s
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x10], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
mov eax, dword [esp + 0x30]
cmp eax, ebx
jae 0x42d8ed
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
lea eax, [esp + 0x130]
mov dword [esp], eax
call sym._memcmp
test eax, eax
je 0x42d7e5
cmp byte [0x732fa1], 0
jne 0x42d760
jmp 0x42d540
mov byte [esp + ebx + 0x12f], 0
mov ebx, eax
jmp 0x42d6b9
cmp byte [0x732fa1], 0
je 0x42d970
cmp byte [0x745ef7], 0
jne 0x42d934
cmp byte [0x732fa0], 0
jne 0x42d934
cmp dword [0x5bc2e0], 3
jle 0x42d970
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], str.API_mcast_request_OK_port__s_d
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
lea eax, [esp + 0x68]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call dword [esp + 0x44]
sub esp, 0x10
test eax, eax
je 0x42d9fa
cmp byte [0x745ef7], 0
jne 0x42d9bd
cmp byte [0x732fa0], 0
jne 0x42d9bd
mov ecx, dword [0x5bc2e0]
test ecx, ecx
js 0x42d540
mov eax, dword [esp + 0x64]
mov dword [esp + 8], str.Invalid_client_address__s
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 0
call sym.__applog
jmp 0x42d540
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x42da70
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov eax, dword [ebx + 4]
mov dword [esp], eax
call dword [esp + 0x48]
sub esp, 0xc
mov edx, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
test edx, edx
jne 0x42da70
mov dword [esp + 0x2c], esi
mov esi, ebx
mov ebx, dword [esp + 0x48]
jmp 0x42da5f
mov eax, dword [esp + 0x68]
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov eax, dword [eax + 4]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x42da40
mov ebx, esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], 0xffffffff
je 0x42dbaa
mov eax, dword [0x5bb990]
mov dword [esp + 8], str.cgm_FTW__d__s
mov dword [esp + 4], 0x400
mov dword [esp + 0x10], eax
mov eax, dword [0x5bb9a0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._snprintf_2
mov edx, dword [esp + 0x40]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x42daad
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x40]
sbb edx, 3
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x18]
sub edx, ecx
add edx, 1
mov dword [esp + 4], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_sendto]
sub esp, 0x18
mov ebx, eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call dword [esp + 0x4c]
sub esp, 4
cmp ebx, 0xffffffff
je 0x42dbec
cmp byte [0x732fa1], 0
je 0x42db95
cmp byte [0x745ef7], 0
jne 0x42db51
cmp byte [0x732fa0], 0
jne 0x42db51
cmp dword [0x5bc2e0], 3
jle 0x42db95
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], str.API_mcast_send_reply___s__succeeded___d____d_
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 4
jmp 0x42d540
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call dword [esp + 0x4c]
sub esp, 4
cmp byte [0x745ef7], 0
jne 0x42dbd7
cmp byte [0x732fa0], 0
jne 0x42dbd7
mov eax, dword [0x5bc2e0]
test eax, eax
js 0x42d540
mov eax, dword [esp + 0x64]
mov dword [esp + 8], str.API_mcast_could_not_open_socket_to_client__s
mov dword [esp + 0xc], eax
jmp 0x42d9cd
cmp byte [0x732fa1], 0
je 0x42db95
cmp byte [0x745ef7], 0
jne 0x42dc10
cmp byte [0x732fa0], 0
jne 0x42dc10
cmp dword [0x5bc2e0], 3
jle 0x42db95
call sym._WSAErrorMsg
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.API_mcast_send_reply_failed___s____d_
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
mov dword [esp + 0x10], ecx
call sym._snprintf_2
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
jmp 0x42db95
xor eax, eax
jmp 0x42d3be
lea eax, [esp + 0x530]
mov dword [esp + 0x530], 0
mov dword [esp + 0x534], 0
mov esi, eax
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call ebx
sub esp, 0x14
cmp eax, 0xffffffff
jne 0x42d496
cmp byte [0x745ef7], 0
jne 0x42dcd0
cmp byte [0x732fa0], 0
je 0x42dcee
call sym._WSAErrorMsg
mov dword [esp + 0x10], str.___API_multicast_listener_will_not_be_available
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.API_mcast_join_failed___s__s
jmp 0x42d28e
mov ebx, dword [0x5bc2e0]
test ebx, ebx
jns 0x42dcd0
jmp 0x42d2bd