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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
xor ebx, ebx
mov esi, dword [ebp + 8]
cmp dword [esi + 0x24], 1
jle 0x4044e2
test byte [esi + 0x42], 8
je 0x4044a0
mov dword [esp], 0x28
call sub.cygwin1.dll_malloc
test eax, eax
mov ebx, eax
je 0x4044b2
cld
xor eax, eax
mov ecx, 0xa
mov edi, ebx
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebx + 0x1c]
mov dword [esp], eax
call sub.cygwin1.dll_pthread_mutex_init
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebx + 0x18]
mov dword [esp], eax
call sub.cygwin1.dll_pthread_cond_init
mov eax, dword [ebp + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x24]
mov dword [ebx + 0xc], eax
test byte [esi + 0x42], 8
je 0x4044f6
add esp, 0x1c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x250
call sub.cygwin1.dll_malloc
test eax, eax
mov ebx, eax
jne 0x404450
mov dword [esp], str.Out_of_Memory___n
mov eax, str._home_Owner_build_iperf_cygport_iperf_2.0.4_1_src_iperf_2.0.4_src_Reporter.c
mov edx, 0xb4
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004095b0
mov dword [esp], esi
call fcn.00409120
add esp, 0x1c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esi + 0x44], 1
je 0x404438
add esp, 0x1c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebx + 0x28]
xor ecx, ecx
mov edi, 0xe8
mov dword [ebx + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
call sub.cygwin1.dll_memset
mov edx, dword [ebx + 0x10]
xor ecx, ecx
mov dword [ebp - 0x1c], edx
add edx, 0xe8
mov dword [ebp - 0x18], edx
mov dword [ebx + 0x14], edx
mov esi, esi
lea edi, [edi]
mov edi, dword [ebp - 0x18]
mov eax, ecx
xor edx, edx
shl eax, 6
inc ecx
cmp ecx, 4
mov dword [eax + edi + 0x28], edx
mov edx, 0xbff00000
mov dword [eax + edi + 0x2c], edx
mov edx, dword [ebp + 0xc]
mov dword [eax + edi + 4], edx
mov edx, 0xfffffffe
mov dword [eax + edi + 8], edx
jle 0x404530
fld qword [esi + 0x60]
mov edi, dword [ebp - 0x1c]
fldz
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
mov dword [edi + 8], 1
sahf
jp 0x404686
jne 0x404686
fstp st(0)
mov edx, dword [ebp - 0x1c]
mov eax, dword [esi + 4]
mov dword [edx], eax
mov eax, dword [esi + 8]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x34]
mov dword [edx + 0x28], eax
mov eax, dword [esi + 0x38]
mov dword [edx + 0x2c], eax
mov eax, dword [esi + 0x3c]
mov dword [edx + 0x30], eax
mov eax, dword [esi + 0x40]
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x44]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 0x48]
mov dword [edx + 0x3c], eax
movzx eax, byte [esi + 0x6c]
mov byte [edx + 0x98], al
mov eax, dword [esi + 0x70]
mov byte [edx + 0x99], al
mov eax, dword [esi + 0x40]
test ah, 8
je 0x4045df
mov eax, dword [esi + 0x44]
mov edx, dword [ebx + 0x10]
mov byte [edx + 0x9a], al
mov eax, dword [esi + 0x40]
test eax, 0x10000
jne 0x404490
mov edi, dword [ebp - 0x1c]
or dword [edi + 8], 8
mov eax, dword [esi + 0x78]
mov dword [edi + 0xa0], eax
mov eax, dword [esi + 0x7c]
mov dword [edi + 0xa4], eax
mov eax, dword [esi + 0x80]
mov dword [edi + 0xa8], eax
mov eax, dword [esi + 0x84]
mov dword [edi + 0xac], eax
mov eax, dword [esi + 0x88]
mov dword [edi + 0xb0], eax
mov eax, edi
add eax, 0xa0
mov dword [esp], eax
call fcn.00407770
mov eax, dword [esi + 0x8c]
mov dword [edi + 0xb4], eax
mov eax, dword [esi + 0x90]
mov dword [edi + 0xb8], eax
mov eax, dword [esi + 0x94]
mov dword [edi + 0xbc], eax
mov eax, dword [esi + 0x98]
mov dword [edi + 0xc0], eax
mov eax, dword [esi + 0x9c]
mov dword [edi + 0xc4], eax
mov eax, edi
add eax, 0xb4
mov dword [esp], eax
call fcn.00407770
jmp 0x404490
fnstcw word [ebp - 0xe]
movzx eax, word [ebp - 0xe]
or ax, 0xc00
mov word [ebp - 0x10], ax
fldcw word [ebp - 0x10]
fist dword [ebp - 0x14]
fldcw word [ebp - 0xe]
mov eax, dword [ebp - 0x14]
mov dword [edi + 0xe0], eax
push eax
fild dword [esp]
add esp, 4
fsubp st(1)
fmul dword [0x410b5c]
fldcw word [ebp - 0x10]
fistp dword [edi + 0xe4]
fldcw word [ebp - 0xe]
jmp 0x404583