Function at 0x40f520
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x46e600]
push ebx
push ebp
xor ebp, ebp
push esi
cmp eax, ebp
push edi
je 0x40f53b
push eax
call fcn.0041f810
mov dword [0x46e600], ebp
mov eax, dword [0x46e65c]
cmp eax, ebp
je 0x40f550
push eax
call fcn.0041f810
mov dword [0x46e65c], ebp
mov eax, dword [0x46e608]
cmp eax, ebp
je 0x40f565
push eax
call fcn.0041f810
mov dword [0x46e608], ebp
mov eax, dword [0x45c66c]
cmp eax, ebp
je 0x40f57c
mov esi, dword [eax]
push eax
call fcn.0041f810
cmp esi, ebp
mov eax, esi
jne 0x40f56e
mov al, byte [0x44468a]
test al, al
jne 0x40f5b1
mov eax, dword [0x45c480]
mov ecx, dword [0x45c484]
mov dword [ecx + eax*4], 0x445d90
mov ecx, dword [0x45c480]
mov eax, dword [0x45c48c]
inc ecx
add eax, 3
mov dword [0x45c480], ecx
mov dword [0x45c48c], eax
mov edx, dword [0x45c484]
mov eax, dword [0x45c480]
mov edi, dword [esp + 0x14]
mov dword [edx + eax*4], 0x445d94
mov eax, dword [0x45c480]
mov edx, dword [0x45c48c]
mov ecx, dword [0x45c484]
inc eax
add edx, 4
mov dword [0x45c480], eax
mov dword [0x45c48c], edx
mov dword [ecx + eax*4], edi
mov ecx, dword [0x45c480]
inc ecx
xor eax, eax
mov dword [0x45c480], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edx, dword [0x45c48c]
not ecx
dec ecx
lea eax, [edx + ecx + 1]
mov edx, dword [0x45c47c]
mov dword [0x45c48c], eax
mov eax, dword [0x45c478]
dec eax
add edx, 4
cmp eax, ebp
mov dword [0x45c478], eax
mov dword [0x45c47c], edx
jle 0x40f684
mov ecx, dword [edx]
mov edx, dword [0x45c484]
mov eax, dword [0x45c480]
mov dword [edx + eax*4], ecx
mov ecx, dword [0x45c480]
mov edx, dword [0x45c47c]
inc ecx
mov dword [0x45c480], ecx
or ecx, 0xffffffff
mov edi, dword [edx]
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x45c48c]
add edx, 4
not ecx
dec ecx
mov dword [0x45c47c], edx
lea ecx, [eax + ecx + 1]
mov eax, dword [0x45c478]
dec eax
mov dword [0x45c48c], ecx
cmp eax, ebp
mov dword [0x45c478], eax
jg 0x40f62e
mov eax, dword [0x45c764]
cmp eax, ebp
je 0x40f6a3
mov esi, dword [eax]
push eax
call fcn.00438475
add esp, 4
mov eax, esi
cmp esi, ebp
mov dword [0x45c764], eax
jne 0x40f68d
push 0x445d98
call fcn.0043a308
mov edx, dword [0x45c48c]
add esp, 4
add edx, 0xe
push edx
call fcn.0042de30
mov ecx, dword [str._ML_CMDFLAGS]
mov edx, eax
mov dword [eax], ecx
mov ecx, dword [0x445da0]
mov edi, edx
mov ebx, edx
mov dword [eax + 4], ecx
mov ecx, dword [0x445da4]
mov dword [eax + 8], ecx
mov cx, word [0x445da8]
mov word [eax + 0xc], cx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x45c480]
not ecx
dec ecx
add edx, ecx
test eax, eax
jle 0x40f747
mov eax, dword [0x45c484]
or ecx, 0xffffffff
mov edi, dword [eax + ebp*4]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x45c484]
mov edi, dword [ecx + ebp*4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
mov byte [edx], 0x20
mov eax, dword [0x45c480]
inc edx
inc ebp
cmp ebp, eax
jl 0x40f6ff
push ebx
mov byte [edx - 1], 0
call fcn.0043a308
add esp, 4
test eax, eax
je 0x40f75f
push 5
call fcn.004166b0
mov ebx, dword [0x45cbc8]
mov eax, dword [0x45c4b0]
mov edi, dword [0x45b5f0]
cmp ebx, 0x30a
push 0
push 0
sbb edx, edx
push eax
and edx, edi
push eax
push edx
call fcn.0043a113
add esp, 0x14
push eax
call fcn.00438e2b
pop edi
pop esi
pop ebp
pop ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x442138
push 0x43a494
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor ebx, ebx
cmp byte [0x45c488], bl
je 0x40f7d9
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040f520
mov dword [ebp - 4], ebx
push 0xff
push 0x411850
call sub.KERNEL32.dll_SetConsoleCtrlHandler
mov byte [str._r_n________ML____options___filelist____link_linkoptions___r_n_r_n_AT_Enable_tiny_model__.COM_file___________omf_generate_OMF_format_object_file_r_n_Bl_linker__Use_alternate_linker___________Sa_Maximize_source_listing_r_n_c_Assemble_without_linking________________Sc_Generate_timings_in_listing_r_n_Cp_Preserve_case_of_user_identifiers______Sf_Generate_first_pass_listing_r_n_Cu_Map_all_identifiers_to_upper_case______Sl_width__Set_line_width_r_n_Cx_Preserve_case_in_publics__externs______Sn_Suppress_symbol_table_listing_r_n_coff_generate_COFF_format_object_file_____Sp_length__Set_page_length_r_n_D_name__text__Define_text_macro__________Ss_string__Set_subtitle_r_n_EP_Output_preprocessed_listing_to_stdout__St_string__Set_title_r_n_F__hex__Set_stack_size__bytes_____________Sx_List_false_conditionals_r_n_Fe_file__Name_executable__________________Ta_file__Assemble_non_.ASM_file_r_n_Fl_file__Generate_listing_________________w_Same_as__W0__WX_r_n_Fm_file__Generate_map_____________________WX_Treat_warnings_as_errors_r_n_Fo_file__Name_object_file_________________W_number__Set_warning_level_r_n_FPi_Generate_80x87_emulator_encoding______X_Ignore_INCLUDE_environment_path_r_n_Fr_file__Generate_limited_browser_info____Zd_Add_line_number_debug_info_r_n_FR_file__Generate_full_browser_info_______Zf_Make_all_symbols_public_r_n_G_cdz__Use_Pascal__C__or_Stdcall_calls__Zi_Add_symbolic_debug_info_r_n_H_number__Set_max_external_name_length____Zm_Enable_MASM_5.10_compatibility_r_n_I_name__Add_include_path__________________Zp_n__Set_structure_alignment_r_n_link__linker_options_and_libraries________Zs_Perform_syntax_check_only_r_n_nologo_Suppress_copyright_message_r_n], bl
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0040fc20
call section..text
call fcn.00421af0
mov byte [str._r_n________ML____options___filelist____link_linkoptions___r_n_r_n_AT_Enable_tiny_model__.COM_file___________omf_generate_OMF_format_object_file_r_n_Bl_linker__Use_alternate_linker___________Sa_Maximize_source_listing_r_n_c_Assemble_without_linking________________Sc_Generate_timings_in_listing_r_n_Cp_Preserve_case_of_user_identifiers______Sf_Generate_first_pass_listing_r_n_Cu_Map_all_identifiers_to_upper_case______Sl_width__Set_line_width_r_n_Cx_Preserve_case_in_publics__externs______Sn_Suppress_symbol_table_listing_r_n_coff_generate_COFF_format_object_file_____Sp_length__Set_page_length_r_n_D_name__text__Define_text_macro__________Ss_string__Set_subtitle_r_n_EP_Output_preprocessed_listing_to_stdout__St_string__Set_title_r_n_F__hex__Set_stack_size__bytes_____________Sx_List_false_conditionals_r_n_Fe_file__Name_executable__________________Ta_file__Assemble_non_.ASM_file_r_n_Fl_file__Generate_listing_________________w_Same_as__W0__WX_r_n_Fm_file__Generate_map_____________________WX_Treat_warnings_as_errors_r_n_Fo_file__Name_object_file_________________W_number__Set_warning_level_r_n_FPi_Generate_80x87_emulator_encoding______X_Ignore_INCLUDE_environment_path_r_n_Fr_file__Generate_limited_browser_info____Zd_Add_line_number_debug_info_r_n_FR_file__Generate_full_browser_info_______Zf_Make_all_symbols_public_r_n_G_cdz__Use_Pascal__C__or_Stdcall_calls__Zi_Add_symbolic_debug_info_r_n_H_number__Set_max_external_name_length____Zm_Enable_MASM_5.10_compatibility_r_n_I_name__Add_include_path__________________Zp_n__Set_structure_alignment_r_n_link__linker_options_and_libraries________Zs_Perform_syntax_check_only_r_n_nologo_Suppress_copyright_message_r_n], bl
mov edx, dword [0x45c4be]
push edx
push 0x445b54
call fcn.00410d60
mov eax, dword [0x46e600]
cmp eax, ebx
je 0x40f830
push eax
call fcn.0041f810
mov dword [0x46e600], ebx
cmp byte [0x45c453], bl
je 0x40f84e
call fcn.00438410
mov eax, dword [0x46e65c]
push eax
call fcn.0041f810
mov dword [0x46e65c], ebx
cmp byte [0x45c447], bl
je 0x40f85b
call fcn.00424f50
mov ecx, dword [0x46e678]
push ecx
call fcn.0041f810
mov dword [0x46e678], ebx
cmp dword [0x46fe9c], ebx
jne 0x40f885
cmp dword [0x46fa48], ebx
je 0x40f8bf
cmp byte [0x45c4bd], bl
je 0x40f8bf
mov byte [0x44468a], bl
jmp 0x40f8bf
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8