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

Disassembly:
sub esp, 0x70
cmp byte [0x41b78c], 1
fld qword [esp + 0x78]
mov ecx, dword [eax + 4]
fstp qword [esp + 0x40]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x18]
push ebx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x78]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 0x10]
push ebp
mov ebp, dword [ecx + 8]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x1c]
push esi
push edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x18], ebx
jbe 0x403a3a
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov edx, eax
imul edx, eax
fidiv dword [esp + 0x2c]
sub esp, 8
fstp qword [esp]
push edx
push ecx
push str.total_interaction_pairs___d_out_of__d__avg_neighbors_per_edge___f_n
call dword [sym.imp.MSVCR90.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0x18
mov eax, ebx
imul eax, ebp
lea esi, [eax*8]
push esi
mov dword [esp + 0x44], eax
call sub.gvc.dll_gmalloc
add esp, 4
push esi
mov dword [esp + 0x18], eax
call sub.gvc.dll_gmalloc
fld qword [0x41ddf8]
mov edi, eax
fcomp qword [esp + 0x8c]
add esp, 4
mov dword [esp + 0x4c], edi
fnstsw ax
test ah, 5
jp 0x403e65
mov edi, edi
cmp dword [esp + 0x1c], 0xa
jge 0x403e65
call dword [sym.imp.MSVCR90.dll_clock]
inc dword [esp + 0x1c]
cmp dword [esp + 0x34], 0
mov dword [esp + 0x88], eax
fild dword [esp + 0x88]
mov dword [esp + 0x20], 0
fstp qword [esp + 0x78]
jle 0x403df1
mov eax, dword [esp + 0x14]
lea ecx, [eax + ebx*8]
mov eax, dword [esp + 0x3c]
add ebp, 0xfffffffe
imul ebp, ebx
lea edx, [edi + ebx*8]
add eax, 4
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x40]
test edx, edx
jle 0x403b02
mov ecx, dword [esp + 0x14]
fldz
mov eax, edi
sub ecx, edi
fst qword [ecx + eax]
add eax, 8
sub edx, 1
fst qword [eax - 8]
jne 0x403af2
fstp st(0)
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x20]
mov ebx, dword [ecx + edx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x20]
push ecx
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.00403440
mov edx, dword [esp + 0x8c]
mov esi, dword [edx - 4]
mov eax, edx
add esp, 4
cmp esi, dword [eax]
jge 0x403b75
jmp 0x403b40
mov ecx, dword [esp + 0x44]
fld qword [ecx + esi*8]
mov edx, dword [esp + 0x48]
mov eax, dword [edx + esi*4]
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + eax*4]
sub esp, 8
fstp qword [esp]
push edi
mov eax, ebx
call fcn.00403680
mov edx, dword [esp + 0x94]
inc esi
add esp, 0xc
cmp esi, dword [edx]
jl 0x403b40
fldz
mov esi, dword [esp + 0x24]
xor edx, edx
cmp ebp, 4
jl 0x403bc1
lea ecx, [ebp - 4]
shr ecx, 2
inc ecx
lea eax, [esi + 0x10]
lea edx, [ecx*4]
fld qword [eax - 0x10]
add eax, 0x20
sub ecx, 1
fld qword [eax - 0x28]
fld qword [eax - 0x20]
fld qword [eax - 0x18]
fld st(3)
fmulp st(4)
fxch st(3)
faddp st(4)
fld st(1)
fmulp st(2)
fxch st(3)
faddp st(1)
fld st(2)
fmulp st(3)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
jne 0x403b93
cmp edx, ebp
jge 0x403bd1
fld qword [esi + edx*8]
inc edx
cmp edx, ebp
fmul st(0), st(0)
faddp st(1)
jl 0x403bc5
call sub.MSVCR90.dll__CIsqrt
fld qword [0x41dd50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x403c46
xor edx, edx
fstp st(0)
cmp ebp, 4
fldz
jl 0x403c31
lea ecx, [ebp - 4]
shr ecx, 2
inc ecx
lea eax, [esi + 0x10]
lea edx, [ecx*4]
fld qword [eax - 0x10]
add eax, 0x20
sub ecx, 1
fld qword [eax - 0x28]
fld qword [eax - 0x20]
fld qword [eax - 0x18]
fld st(3)
fmulp st(4)
fxch st(3)
faddp st(4)
fld st(1)
fmulp st(2)
fxch st(3)
faddp st(1)
fld st(2)
fmulp st(3)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
jne 0x403c03
cmp edx, ebp
jge 0x403c41
fld qword [esi + edx*8]
inc edx
cmp edx, ebp
fmul st(0), st(0)
faddp st(1)
jl 0x403c35
call sub.MSVCR90.dll__CIsqrt
mov esi, dword [esp + 0x28]
fstp qword [esp + 0x58]
fldz
xor edx, edx
cmp ebp, 4
jl 0x403c96
lea ecx, [ebp - 4]
shr ecx, 2
inc ecx
lea eax, [esi + 0x10]
lea edx, [ecx*4]
fld qword [eax - 0x10]
add eax, 0x20
sub ecx, 1
fld qword [eax - 0x28]
fld qword [eax - 0x20]
fld qword [eax - 0x18]
fld st(3)
fmulp st(4)
fxch st(3)
faddp st(4)
fld st(1)
fmulp st(2)
fxch st(3)
faddp st(1)
fld st(2)
fmulp st(3)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
jne 0x403c68
cmp edx, ebp
jge 0x403ca6
fld qword [esi + edx*8]
inc edx
cmp edx, ebp
fmul st(0), st(0)
faddp st(1)
jl 0x403c9a
call sub.MSVCR90.dll__CIsqrt
fld qword [0x41dd50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x403d1b
xor edx, edx
fstp st(0)
cmp ebp, 4
fldz
jl 0x403d06
lea ecx, [ebp - 4]
shr ecx, 2
inc ecx
lea eax, [esi + 0x10]
lea edx, [ecx*4]
fld qword [eax - 0x10]
add eax, 0x20
sub ecx, 1
fld qword [eax - 0x28]
fld qword [eax - 0x20]
fld qword [eax - 0x18]
fld st(3)
fmulp st(4)
fxch st(3)
faddp st(4)
fld st(1)
fmulp st(2)
fxch st(3)
faddp st(1)
fld st(2)
fmulp st(3)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
jne 0x403cd8
cmp edx, ebp
jge 0x403d16
fld qword [esi + edx*8]
inc edx
cmp edx, ebp
fmul st(0), st(0)
faddp st(1)
jl 0x403d0a
call sub.MSVCR90.dll__CIsqrt
mov eax, dword [esp + 0x38]
fst qword [esp + 0x60]
fld qword [ebx + 0x18]
add eax, 0xfffffffe
cmp eax, 1
fstp qword [esp + 0x68]
jl 0x403dcc
mov ecx, dword [esp + 0x18]
fld qword [esp + 0x90]
mov edx, dword [esp + 0x2c]
lea ebx, [edx + ecx*8]
mov dword [esp + 0x30], eax
test ecx, ecx
jle 0x403dba
fld qword [esp + 0x68]
fmul qword [esp + 0x50]
fstp qword [esp + 0x70]
fmul st(0), st(0)
fmul st(1)
fmulp st(1)
fld qword [esp + 0x58]
fmul st(0), st(0)
faddp st(1)
call sub.MSVCR90.dll__CIsqrt
fld qword [esp + 0x70]
mov esi, dword [esp + 0x14]
fld qword [esp + 0x90]
mov edx, edi
mov edi, dword [esp + 0x18]
sub edx, esi
sub esi, dword [esp + 0x2c]
mov eax, ebx
lea ecx, [esi + eax]
fld qword [ecx + edx]
add eax, 8
sub edi, 1
fmul st(1)
fadd qword [ecx]
fmul st(2)
fdiv st(3)
fadd qword [eax - 8]
fstp qword [eax - 8]
jne 0x403d8c
mov edi, dword [esp + 0x4c]
fstp st(2)
mov ecx, dword [esp + 0x18]
fstp st(0)
fld qword [esp + 0x60]
fxch st(1)
lea eax, [ecx*8]
add ebx, eax
sub dword [esp + 0x30], 1
jne 0x403d4c
fstp st(0)
mov eax, dword [esp + 0x20]
fstp st(0)
add dword [esp + 0x88], 4
inc eax
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x20], eax
jl 0x403ae0
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
cmp byte [0x41b78c], 1
fld qword [esp + 0x50]
fmul qword [0x41ddf0]
fstp qword [esp + 0x50]
jbe 0x403e50
lea eax, [ebp - 2]
push eax
call dword [sym.imp.MSVCR90.dll_clock]
mov dword [esp + 0x8c], eax
fild dword [esp + 0x8c]
mov ecx, dword [esp + 0x20]
sub esp, 8
fsub qword [esp + 0x84]
fdiv qword [0x41dde8]
fstp qword [esp]
push ecx
push str.iter___d_cpu___f_npoints___d_n
call dword [sym.imp.MSVCR90.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0x18
fld qword [0x41ddf8]
fcomp qword [esp + 0x50]
fnstsw ax
test ah, 5
jnp 0x403a80
mov edx, dword [esp + 0x14]
mov esi, dword [sym.imp.MSVCR90.dll_free]
push edx
call esi
add esp, 4
push edi
call esi
mov eax, dword [esp + 0x88]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret