Function at 0x401170
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
mov eax, dword [0x4042a0]
xor eax, ebp
mov dword [ebp - 0x94], eax
fldz
fstp qword [ebp - 0x20]
push 0
push 0x4040c8
push 1
mov eax, dword [ebp + 8]
push eax
call sub.cgraph.dll_agattr
add esp, 0x10
test eax, eax
jne 0x4011c4
push str.graph_must_be_run_through_dot_before_gvcolor_n
call dword [sym.imp.MSVCR90.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 8
push 1
call dword [sym.imp.MSVCR90.dll_exit]
push 1
push 0x28
push str.nodeinfo
push 1
mov ecx, dword [ebp + 8]
push ecx
call sub.cgraph.dll_aginit
add esp, 0x14
push 0
push 0x40410c
push 1
mov edx, dword [ebp + 8]
push edx
call sub.cgraph.dll_agattr
add esp, 0x10
test eax, eax
jne 0x40120c
push str.filled
push str.style
push 1
mov eax, dword [ebp + 8]
push eax
call sub.cgraph.dll_agattr
add esp, 0x10
push str.Defcolor
mov ecx, dword [ebp + 8]
push ecx
call sub.cgraph.dll_agget
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x401237
push section..data
mov edx, dword [ebp - 4]
push edx
call fcn.00401850
add esp, 8
push str.rankdir
mov eax, dword [ebp + 8]
push eax
call sub.cgraph.dll_agget
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x401266
mov ecx, dword [ebp - 4]
movsx edx, byte [ecx]
cmp edx, 0x4c
jne 0x401266
mov dword [0x4042c4], 1
push str.flow
mov eax, dword [ebp + 8]
push eax
call sub.cgraph.dll_agget
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x401295
mov ecx, dword [ebp - 4]
movsx edx, byte [ecx]
cmp edx, 0x62
jne 0x401295
mov dword [0x404018], 0
push str.saturation
mov eax, dword [ebp + 8]
push eax
call sub.cgraph.dll_agget
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4012ea
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x40414c
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0x10
cmp eax, 2
jne 0x4012ea
fld qword [ebp - 0x30]
fstp qword [0x404628]
fld qword [ebp - 0x40]
fstp qword [0x404630]
mov dword [0x404620], 1
mov ecx, dword [ebp + 8]
push ecx
call sub.cgraph.dll_agnnodes
add esp, 4
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
shl edx, 2
push edx
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x28], 0
mov eax, dword [ebp + 8]
push eax
call sub.cgraph.dll_agfstnode
add esp, 4
mov dword [ebp - 0x24], eax
jmp 0x401337
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp + 8]
push edx
call sub.cgraph.dll_agnxtnode
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x401404
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x24]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
push 0x404154
mov ecx, dword [ebp - 0x24]
push ecx
call sub.cgraph.dll_agget
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x401386
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
add eax, 0x10
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00401850
add esp, 8
push 0x40415c
mov edx, dword [ebp - 0x24]
push edx
call sub.cgraph.dll_agget
add esp, 8
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x18]
push ecx
push str._lf__lf
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0x10
cmp dword [0x4042c4], 0
je 0x4013c8
fld qword [ebp - 0x18]
fstp qword [ebp - 0xe8]
jmp 0x4013d1
fld qword [ebp - 0x10]
fstp qword [ebp - 0xe8]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
fld qword [ebp - 0xe8]
fstp qword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
fld qword [eax + 8]
fcomp qword [ebp - 0x20]
fnstsw ax
test ah, 0x41
jne 0x4013ff
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
fld qword [edx + 8]
fstp qword [ebp - 0x20]
jmp 0x401324
mov eax, dword [0x4042c4]
cmp eax, dword [0x404018]
je 0x40144e
mov dword [ebp - 0x28], 0
jmp 0x401423
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x38]
jge 0x40144e
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
fld qword [ecx + 8]
fsubr qword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
fstp qword [eax + 8]
jmp 0x40141a
push 0x401800
push 4
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.MSVCR90.dll_qsort]
add esp, 0x10
mov dword [ebp - 0x28], 0
jmp 0x401478
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x38]
jge 0x40166a
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x6c], 0
jmp 0x4014a9
mov edx, dword [ebp - 0x6c]
add edx, 1
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x6c], 3
jge 0x4014d0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x6c]
fldz
fcomp qword [ecx + edx*8 + 0x10]
fnstsw ax
test ah, 0x44
jnp 0x4014ce
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
jmp 0x4014a0
cmp dword [ebp - 0x34], 0
jle 0x4014d8
jmp 0x40146f
mov dword [ebp - 0x6c], 0
jmp 0x4014ea
mov ecx, dword [ebp - 0x6c]
add ecx, 1
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x6c], 3
jge 0x4014fb
mov edx, dword [ebp - 0x6c]
fldz
fstp qword [ebp + edx*8 - 0x58]
jmp 0x4014e1
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.cgraph.dll_agfstedge
add esp, 8
mov dword [ebp - 0x64], eax
jmp 0x40152e
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.cgraph.dll_agnxtedge
add esp, 0xc
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x40162e
mov edx, dword [ebp - 0x64]
mov eax, dword [edx]
and eax, 3
cmp eax, 2
jne 0x401550
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xec], ecx
jmp 0x40155c
mov edx, dword [ebp - 0x64]
sub edx, 0x20
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x24]
jne 0x4015a0
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
and ecx, 3
cmp ecx, 3
jne 0x401588
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xf0], edx
jmp 0x401594
mov eax, dword [ebp - 0x64]
add eax, 0x20
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 8]
fld qword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
fsub qword [eax + 8]
fsub qword [0x403160]
fstp qword [ebp - 0x60]
fldz
fcomp qword [ebp - 0x60]
fnstsw ax
test ah, 0x41
jne 0x401629
fldz
fstp qword [ebp - 0x78]
mov dword [ebp - 0x6c], 0
jmp 0x4015de
mov ecx, dword [ebp - 0x6c]
add ecx, 1
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x6c], 3
jge 0x401614
mov edx, dword [ebp - 8]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x6c]
fld qword [ebp - 0x78]
fadd qword [eax + ecx*8 + 0x10]
fstp qword [ebp - 0x78]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x6c]
fld qword [ebp + ecx*8 - 0x58]
fadd qword [eax + edx*8 + 0x10]
mov eax, dword [ebp - 0x6c]
fstp qword [ebp + eax*8 - 0x58]
jmp 0x4015d5
fldz
fcomp qword [ebp - 0x78]
fnstsw ax
test ah, 5
jp 0x401629
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
jmp 0x401517
cmp dword [ebp - 0x34], 0
je 0x401665
mov dword [ebp - 0x6c], 0
jmp 0x401646
mov edx, dword [ebp - 0x6c]
add edx, 1
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x6c], 3
jge 0x401665
fild dword [ebp - 0x34]
mov eax, dword [ebp - 0x6c]
fdivr qword [ebp + eax*8 - 0x58]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x6c]
fstp qword [edx + eax*8 + 0x10]
jmp 0x40163d
jmp 0x40146f
mov dword [ebp - 0x28], 0
jmp 0x40167c
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x38]
jge 0x4017e2
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x24], edx
fldz
fstp qword [ebp - 0xe0]
mov dword [ebp - 0x6c], 0
jmp 0x4016ae
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 3
jge 0x4016cf
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x6c]
fld qword [ebp - 0xe0]
fadd qword [edx + eax*8 + 0x10]
fstp qword [ebp - 0xe0]
jmp 0x4016a5
fldz
fcomp qword [ebp - 0xe0]
fnstsw ax
test ah, 5
jp 0x40176e
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
fld qword [edx + 0x10]
fstp qword [ebp - 0x80]
cmp dword [0x404620], 0
je 0x401740
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 8]
fld qword [ecx + 8]
fdiv qword [ebp - 0x20]
fstp qword [ebp - 0x88]
cmp dword [0x404018], 0
jne 0x401720
fld1
fsub qword [ebp - 0x88]
fstp qword [ebp - 0x88]
fld qword [0x404630]
fsub qword [0x404628]
fmul qword [ebp - 0x88]
fadd qword [0x404628]
fstp qword [ebp - 0x88]
jmp 0x401748
fld1
fstp qword [ebp - 0x88]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
fld qword [ebp - 0x88]
fmul qword [eax + 0x18]
fstp qword [ebp - 0x88]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 8]
fld qword [edx + 0x20]
fstp qword [ebp - 0x90]
jmp 0x40178f
fld qword [section..data]
fstp qword [ebp - 0x80]
fld qword [0x404008]
fstp qword [ebp - 0x88]
fld qword [0x404010]
fstp qword [ebp - 0x90]
sub esp, 8
fld qword [ebp - 0x90]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x88]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x80]
fstp qword [esp]
push str._f__f__f
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x20
lea ecx, [ebp - 0xd8]
push ecx
push str.color
mov edx, dword [ebp - 0x24]
push edx
call sub.cgraph.dll_agset
add esp, 0xc
jmp 0x401673
mov ecx, dword [ebp - 0x94]
xor ecx, ebp
call fcn.004020b0
mov esp, ebp
pop ebp
ret