Function at 0x4083e0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov esi, dword [ebp + 8]
mov dword [esp], esi
call sym._thread_setscheduler
mov dword [esp + 4], 2
mov dword [esp], esi
call sym._setTransferID
mov dword [esp], 0x110
call sym.operator_new_unsigned_int_
mov dword [esp], esi
mov ecx, eax
mov edi, eax
call method.Client.Client_thread_Settings_
sub esp, 4
lea ebx, [ebp - 0x20]
mov dword [esp], 0x4786c8
call sym._pthread_mutex_lock
mov eax, dword [0x4786cc]
test eax, eax
jne 0x408476
lea esi, [esi]
nop
mov dword [esp + 4], ebx
mov dword [esp], 0
call sym._clock_gettime
add dword [ebp - 0x20], 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4786c8
mov dword [esp], 0x4786c4
call sym._pthread_cond_timedwait
mov ecx, dword [0x4786cc]
test ecx, ecx
je 0x408440
mov dword [esp], 0x4786c8
call sym._pthread_mutex_unlock
mov eax, dword [esi + 0x7c]
test eax, 0x20000
jne 0x408670
test eax, 0x40000
jne 0x4085e8
mov edx, eax
and edx, 0x80004
je 0x4086f8
cmp edx, 4
je 0x4087a4
test eax, 0x80000
je 0x40894b
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp], esi
call sym._Settings_Copy
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4088db
mov dword [ebp - 0x20], eax
mov dword [esp + 4], 2
mov dword [esp], esi
call sym._setTransferID
mov dword [esp], esi
call sym._SockAddr_remoteAddr
test byte [esi + 0x81], 1
je 0x40877a
lea eax, [ebp - 0x20]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._Settings_Copy
mov dword [esp], esi
call sym.Iperf_push_host_thread_Settings_
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym.Iperf_push_host_thread_Settings_
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._setTransferID
mov dword [esp], 0
mov ecx, edi
call method.Client.my_connect_bool_
sub esp, 4
cmp dword [esi + 0x4c], 1
jle 0x40856c
test byte [esi + 0x7e], 0x40
je 0x4088c3
mov ecx, edi
call method.Client.isConnected___const
test al, al
je 0x408677
mov eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x60]
mov eax, dword [eax + 0x18]
mov dword [eax + 0x26c], edx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4086c5
test edx, edx
je 0x4086c5
mov edx, dword [esi + 0x60]
or dword [eax + 0x7c], 4
mov dword [eax + 0x84], 1
mov dword [eax + 0x60], edx
test byte [eax + 0x79], 0x10
je 0x4085c8
add dword [eax + 0xa8], 0xc8
adc dword [eax + 0xac], 0
mov dword [esp], eax
call sym._thread_start
mov ecx, edi
call method.Client.StartSynch__
cmp eax, 0xffffffff
je 0x408677
jmp 0x4086bc
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4086a0
or dword [esi + 0x78], 2
mov dword [esp + 4], 1
mov dword [esp], esi
call sym._setTransferID
lea eax, [esi + 0xd0]
mov dword [esp], eax
call sym._SockAddr_zeroAddress
mov dword [esp], esi
call sym._SockAddr_remoteAddr
cmp dword [esi + 0x88], 1
mov eax, dword [esi + 0x78]
je 0x40879a
and eax, 0xfffe7fff
or ah, 0x20
mov ecx, edi
mov dword [esi + 0x78], eax
mov dword [esp], 0
call method.Client.my_connect_bool_
mov ecx, edi
sub esp, 4
call method.Client.isConnected___const
test al, al
je 0x408677
mov dword [esp], esi
call sym.Iperf_push_host_thread_Settings_
mov ecx, edi
call method.Client.StartSynch__
cmp eax, 0xffffffff
je 0x408677
jmp 0x4086bc
mov ecx, edi
call method.Client.ConnectPeriodic__
mov ecx, edi
call method.Client.Client__
mov dword [esp], edi
mov dword [esp + 4], 0x110
call dbg.operator delete(void*, unsigned int)
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 1
mov dword [esp], esi
call sym._setTransferID
mov ecx, edi
call method.Client.StartSynch__
cmp eax, 0xffffffff
je 0x408677
mov ecx, edi
call method.Client.Run__
jmp 0x408677
mov dword [esp + 8], 0xef
mov dword [esp + 4], str.Launch.cpp
mov dword [esp], str.Reverse_test_failed_to_start_per_thread_settings_or_socket_problem
call sym._warn
mov dword [esp], esi
call sym._thread_stop
mov eax, dword [ebp - 0x20]
jmp 0x40859d
mov dword [esp + 4], 2
mov dword [esp], esi
call sym._setTransferID
mov dword [esp], esi
call sym._SockAddr_remoteAddr
mov dword [esp], 0
mov ecx, edi
call method.Client.my_connect_bool_
sub esp, 4
cmp dword [esi + 0x4c], 1
jle 0x408750
test byte [esi + 0x7e], 0x40
jne 0x408750
test byte [esi + 0x78], 2
jne 0x408750
mov eax, dword [esi + 0x38c]
mov ecx, edi
mov dword [esp], eax
call method.Client.BarrierClient_BarrierMutex_
sub esp, 4
lea esi, [esi]
lea esi, [esi]
mov ecx, edi
call method.Client.isConnected___const
test al, al
je 0x408677
mov dword [esp], esi
call sym.Iperf_push_host_thread_Settings_
mov ecx, edi
call method.Client.StartSynch__
mov ecx, edi
call method.Client.Run__
jmp 0x408677
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call sym._InitSumReport
mov dword [esi + 0x3c], eax
jmp 0x40850e
or eax, 0x18000
jmp 0x408635
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._Settings_Copy
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40891f
mov dword [esp + 4], 2
mov dword [esp], esi
call sym._setTransferID
mov dword [esp], esi
call sym._SockAddr_remoteAddr
mov dword [esp], 0
mov ecx, edi
call method.Client.my_connect_bool_
sub esp, 4
cmp dword [esi + 0x4c], 1
jle 0x408806
test byte [esi + 0x7e], 0x40
je 0x408907
mov ecx, edi
call method.Client.isConnected___const
test al, al
je 0x408677
test ebx, ebx
je 0x408820
mov edx, dword [esi + 0x60]
test edx, edx
jne 0x408844
mov dword [esp + 8], 0xca
mov dword [esp + 4], str.Launch.cpp
mov dword [esp], str.Reverse_test_failed_to_start_per_thread_settings_or_socket_problem
call sym._warn
mov dword [esp], esi
call sym._thread_stop
mov dword [esp + 4], 1
mov dword [esp], ebx
call sym._setTransferID
mov ecx, edi
call method.Client.StartSynch__
mov eax, dword [esi + 0x60]
lea edx, [ebx + 0x1d8]
or dword [ebx + 0x7c], 0x200004
mov dword [ebx + 0x84], 1
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x1d8], pe_nt_image_headers32
mov dword [esp + 8], edx
lea edx, [ebx + 0x158]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_getsockname]
sub esp, 0xc
mov dword [esp], ebx
call sym.Iperf_push_host_thread_Settings_
mov dword [esp], ebx
call sym._thread_start
mov eax, dword [edi]
test eax, eax
je 0x408677
mov dword [esp], eax
call sym._FreeReport
jmp 0x408677
mov eax, dword [esi + 0x38c]
mov ecx, edi
mov dword [esp], eax
call method.Client.BarrierClient_BarrierMutex_
sub esp, 4
jmp 0x40856c
mov dword [esp + 8], 0x14e
mov dword [esp + 4], str.Launch.cpp
mov dword [esp], str.Reverse_in_full_duplex_thread_alloc_failed
call sym._warn
mov dword [esp], esi
call sym._thread_stop
mov eax, dword [ebp - 0x24]
jmp 0x4084e6
mov eax, dword [esi + 0x38c]
mov ecx, edi
mov dword [esp], eax
call method.Client.BarrierClient_BarrierMutex_
sub esp, 4
jmp 0x408806
mov dword [esp + 8], 0x149
mov dword [esp + 4], str.Launch.cpp
mov dword [esp], str.Reverse_thread_alloc_failed
call sym._warn
mov dword [esp], esi
call sym._thread_stop
mov ebx, dword [ebp - 0x20]
jmp 0x4087cd
mov dword [esp], 1
call dword [0x459154]
mov dword [esp + 4], str.Program_error_in_client_side_client_spawn
mov dword [esp], eax
call sym.fprintf__iobuf__char_const__..._
mov dword [esp], 0xffffffff
call sym.__exit
mov ebx, eax
jmp sym._client_spawn.cold