Function at 0x401070
Capabilities:
Terminate process

Disassembly:
sub esp, 0x18
fld qword [0x41dd90]
push ebx
mov ebx, dword [esp + 0x24]
fst qword [edi + 0x10]
mov eax, dword [ebx]
fstp qword [edi + 0x28]
fld qword [0x41ddd8]
push ebp
push esi
fstp qword [edi + 0x30]
mov ecx, 1
push str.:a:c:i:k:K:m:o:p:r:T:v:
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
xor eax, eax
push ebx
push ecx
mov dword [0x41f0c0], eax
mov dword [edi], 4
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], 0xa
mov dword [edi + 0x20], 0x64
call fcn.004071e0
mov ebp, dword [sym.imp.MSVCR90.dll_fprintf]
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
add esp, 0xc
cmp eax, 0xffffffff
je 0x401484
add eax, 0xffffffc6
cmp eax, 0x3c
ja case.0x4010f9.59
movzx edx, byte [eax + 0x40164c]
jmp dword [edx*4 + 0x401614]
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x18]
push eax
push 0x41d5f0
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x401145
fldz
fld qword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x401143
fmul qword [0x41dda8]
fdiv qword [0x41ddd0]
fstp qword [edi + 0x30]
jmp case.0x4010f9.59
fstp st(0)
mov edx, dword [0x43f08c]
push edx
push str._a_arg__s_must_be_positive_real___ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0xc
jmp case.0x4010f9.59
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x10]
push eax
push 0x41d620
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x401190
mov eax, dword [esp + 0x10]
cmp eax, 1
ja 0x401190
mov dword [edi + 8], eax
jmp case.0x4010f9.59
mov edx, dword [0x43f08c]
push 1
push edx
push str._c_arg__s_must_be_an_integer_in__0__d____ignored_n
jmp 0x401459
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x10]
push eax
push 0x41d620
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x4011d0
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x4011d0
mov dword [edi], eax
jmp case.0x4010f9.59
mov edx, dword [0x43f08c]
push edx
push str._i_arg__s_must_be_a_non_negative_integer___ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0xc
jmp case.0x4010f9.59
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x10]
push eax
push 0x41d620
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x40121b
mov eax, dword [esp + 0x10]
cmp eax, 2
jl 0x40121b
mov dword [edi + 0x1c], eax
jmp case.0x4010f9.59
mov edx, dword [0x43f08c]
push edx
push str._k_arg__s_must_be_an_integer___2___ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0xc
jmp case.0x4010f9.59
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x18]
push eax
push 0x41d5f0
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x401270
fldz
fld qword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x40126e
fstp qword [edi + 0x10]
jmp case.0x4010f9.59
fstp st(0)
mov edx, dword [0x43f08c]
push edx
push str._K_arg__s_must_be_positive_real___ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0xc
jmp case.0x4010f9.59
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x10]
push eax
push 0x41d620
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x40121b
mov eax, dword [esp + 0x10]
cmp eax, 2
ja 0x40121b
mov dword [edi + 4], eax
jmp case.0x4010f9.59
mov eax, dword [0x43f08c]
push 0x41d6e8
push eax
mov ebx, eax
call dword [sym.imp.MSVCR90.dll_fopen]
add esp, 8
test eax, eax
je 0x4015a4
mov dword [0x43f084], eax
jmp case.0x4010f9.59
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x18]
push eax
push 0x41d5f0
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x401315
fld qword [esp + 0x18]
fstp qword [edi + 0x28]
jmp case.0x4010f9.59
mov edx, dword [0x43f08c]
push edx
push str._p_arg__s_must_be_real___ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0xc
jmp case.0x4010f9.59
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x10]
push eax
push 0x41d620
push ecx
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x40135f
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x40135f
mov dword [edi + 0x20], eax
jmp case.0x4010f9.59
mov edx, dword [0x43f08c]
push edx
push str._r_arg__s_must_be_a_non_negative_integer___ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0xc
jmp case.0x4010f9.59
mov ebx, dword [0x43f08c]
mov al, byte [ebx]
cmp al, 0x67
jne 0x401399
cmp byte [ebx + 1], 0x76
jne 0x401399
mov dword [edi + 0x18], 0
jmp case.0x4010f9.59
cmp al, 0x73
jne 0x4013da
mov ecx, str.imple
lea eax, [ebx + 1]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4013c5
test dl, dl
je 0x4013c1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4013c5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4013a5
xor eax, eax
jmp 0x4013ca
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4013da
mov dword [edi + 0x18], 1
jmp case.0x4010f9.59
push ebx
push str._T_arg__s_must_be__gv__or__simple____ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0xc
jmp case.0x4010f9.59
mov ecx, dword [0x43f08c]
lea eax, [esp + 0x10]
push eax
push 0x41d620
push ecx
mov byte [0x41b78c], 1
call dword [sym.imp.MSVCR90.dll_sscanf]
add esp, 0xc
test eax, eax
jle 0x401421
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x401421
mov byte [0x41b78c], al
jmp case.0x4010f9.59
dec dword [0x41f0c4]
jmp case.0x4010f9.59
mov eax, dword [0x43f088]
cmp eax, 0x76
jne 0x4015c7
mov byte [0x41b78c], 1
jmp case.0x4010f9.59
mov eax, dword [0x43f088]
cmp eax, 0x3f
je 0x4015f6
mov edx, dword [esp + 0x14]
push eax
push edx
push str._s:_option___c_unrecognized___ignored_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0x10
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push str.:a:c:i:k:K:m:o:p:r:T:v:
push ebx
push eax
call fcn.004071e0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4010e6
mov eax, dword [0x41f0c4]
mov ecx, dword [esp + 0x28]
sub ecx, eax
test ecx, ecx
jle 0x40149b
lea eax, [ebx + eax*4]
mov dword [0x41b798], eax
cmp dword [0x43f084], 0
jne 0x4014ae
call esi
add eax, 0x20
mov dword [0x43f084], eax
cmp byte [0x41b78c], 0
je 0x40159d
push str.Mingle_params:_n
call esi
add eax, 0x40
push eax
call ebp
mov ecx, dword [edi]
add esp, 8
push ecx
push str.__outer_iter___d_n
call esi
add eax, 0x40
push eax
call ebp
mov edx, dword [edi + 4]
add esp, 0xc
push edx
push str.__method___d_n
call esi
add eax, 0x40
push eax
call ebp
mov eax, dword [edi + 8]
add esp, 0xc
push eax
push str.__compatibility_method___d_n
call esi
add eax, 0x40
push eax
call ebp
fld qword [edi + 0x10]
add esp, 4
fstp qword [esp]
push str.__K___.02f_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0x10
cmp dword [edi + 0x18], 0
mov eax, str.simple
jne 0x40152c
mov eax, 0x41d834
push eax
push str.__fmt___s_n
call esi
add eax, 0x40
push eax
call ebp
mov ecx, dword [edi + 0x1c]
add esp, 0xc
push ecx
push str.__nneighbors___d_n
call esi
add eax, 0x40
push eax
call ebp
mov edx, dword [edi + 0x20]
add esp, 0xc
push edx
push str.__max_recursion___d_n
call esi
add eax, 0x40
push eax
call ebp
fld qword [edi + 0x28]
add esp, 4
fstp qword [esp]
push str.__angle_param___.02f_n
call esi
add eax, 0x40
push eax
call ebp
fld qword [edi + 0x30]
fmul qword [0x41ddd0]
add esp, 8
fdiv qword [0x41dda8]
fstp qword [esp]
push str.__angle___.02f_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0x10
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov ecx, dword [esp + 0x14]
push str.writing
push ebx
push ecx
push str._s:_could_not_open_file__s_for__s_n
call esi
add eax, 0x40
push eax
call ebp
add esp, 0x14
push 0xffffffffffffffff
call dword [sym.imp.MSVCR90.dll_exit]
mov edx, dword [esp + 0x14]
push eax
push edx
push str._s:_option___c_missing_argument_n
call esi
add eax, 0x40
push eax
call ebp
call esi
add eax, 0x40
push eax
push str.Usage:_mingle__options___file__n_____a_t___max._turning_angle__0_180___40__n_____c_i___compatability_measure__0_:_distance__1:_full__default__n_____i_iter:_number_of_outer_iterations_subdivisions__4__n_____k_k___number_of_neighbors_in_the_nearest_neighbor_graph_of_edges__10__n_____K_k___the_force_constant_n_____m_method___method_used._0__force_directed___1__agglomerative_ink_saving__default___2__clusterink_saving__n_____o_fname___write_output_to_file_fname__stdout__n_____p_t___balance_for_avoiding_sharp_angles_n___________The_larger_the_t__the_more_sharp_angles_are_allowed_n_____r_R___max._recursion_level_with_agglomerative_ink_saving_method__100__n_____T_fmt___output_format:_gv__default__or_simple_n_____v___verbose_n
call dword [sym.imp.MSVCR90.dll_fputs]
add esp, 0x18
push 1
call dword [sym.imp.MSVCR90.dll_exit]
call esi
add eax, 0x40
push eax
push str.Usage:_mingle__options___file__n_____a_t___max._turning_angle__0_180___40__n_____c_i___compatability_measure__0_:_distance__1:_full__default__n_____i_iter:_number_of_outer_iterations_subdivisions__4__n_____k_k___number_of_neighbors_in_the_nearest_neighbor_graph_of_edges__10__n_____K_k___the_force_constant_n_____m_method___method_used._0__force_directed___1__agglomerative_ink_saving__default___2__clusterink_saving__n_____o_fname___write_output_to_file_fname__stdout__n_____p_t___balance_for_avoiding_sharp_angles_n___________The_larger_the_t__the_more_sharp_angles_are_allowed_n_____r_R___max._recursion_level_with_agglomerative_ink_saving_method__100__n_____T_fmt___output_format:_gv__default__or_simple_n_____v___verbose_n
call dword [sym.imp.MSVCR90.dll_fputs]
add esp, 8
push 0
call dword [sym.imp.MSVCR90.dll_exit]
mov edi, edi
sub dword [eax + eax*2], edx
add byte [eax + 20], al
inc eax
add byte [edi], dh
adc al, byte [eax]
jnp 0x401635
inc eax
add byte [eax], al
adc dword [eax], eax
popal
adc dword [eax], eax
mov dword [0xec004011], eax
adc dword [eax], eax
mov word [edx], ss
inc eax
add bl, al
adc al, byte [eax]
jmp 0x401650
adc al, byte [eax]
ret
or eax, 0xd0d0d01
or eax, 218959117
or eax, 218238221
or eax, 218959117
or eax, 218956557
or eax, 218959117
or eax, 218959117
add al, 13
add eax, 218959117
or eax, 218565894
or byte [185403913], cl
or eax, -871625459
int3