Function at 0x402e40
Capabilities:
Acquire debug privileges
Check os version
Terminate process

Disassembly:
push 0x40d620
call fcn.00406218
push str.pv_displays_information_about_the_running_processes._n
call fcn.00406218
push str.pv_v_5.2.2.1__Copyright__c__Igor_Nys__2000_2006._n_n
call fcn.00406218
push str.Usage:_pv____OPTION__...__ARGUMENT_...____OPTION___n_n
call fcn.00406218
push str.Modes:_n
call fcn.00406218
push str.___s_________summary___show_usage_for_the_specified_MODULE_n
call fcn.00406218
push str.___h_________help______display_this_help_information_n
call fcn.00406218
push 0x40d620
call fcn.00406218
push str.Actions:_n
call fcn.00406218
push str.___k_________kill______kill_process_n
call fcn.00406218
push str.___a_________activate__brings_process_main_window_in_the_foreground_n
call fcn.00406218
push str.___c_________close_____close__send_WM_CLOSE__to_the_PROCESS_n
call fcn.00406218
push str.___p_nihr____priority__set_priority_to__Normal____Idle____High____Real_Time__n
call fcn.00406218
push str._____ba_________________Below_Normal__and__Above_Normal__only_on_W2K_or_higher_n
call fcn.00406218
push 0x40d620
call fcn.00406218
push str.Output_Options:_n
call fcn.00406218
add esp, 0x40
push str.___e___________extend____show_additional_information_if_available_n
call fcn.00406218
push str.___q_header____quiet_____supress_headers_and_produce_a_tab_separated_list_n
call fcn.00406218
push str.___b___________bare______show_process_ID_only____n
call fcn.00406218
mov eax, dword [0x411a00]
add esp, 0xc
test eax, eax
je 0x40287a
push str.___o_format____output____control_output_using_the_format_string__see_below__n
call fcn.00406218
add esp, 4
push 0x40d620
call fcn.00406218
push str.Input_Options:_n
call fcn.00406218
push str.___f_________force_____never_prompt_n
call fcn.00406218
push str.___i_________id________use_process_ID_instead_of_the_PROCESS_name_n
call fcn.00406218
push 0x40d620
call fcn.00406218
push str.Filters:_n
call fcn.00406218
push str.___l_mask____long______include_processes_with_command_line_matching_mask_n
call fcn.00406218
push str.___w_mask____window____show_processes_with_visible_windows_matching_mask__n
call fcn.00406218
push str.________________________e_includes_in_search_also_invisible_windows_n
call fcn.00406218
push str.___u_mask____usage_____show_processes_using_modules_that_matches_mask_n
call fcn.00406218
mov eax, dword [0x411a00]
add esp, 0x28
test eax, eax
je 0x4028f7
push str.___y_mask____user______show_processes_that_run_under_specified_user_account_n
call fcn.00406218
add esp, 4
push str.___t_root____tree______display_process_tree_starting_starting_from_the_root_n
call fcn.00406218
push 0x40d620
call fcn.00406218
push str.Extra_Information_Options:_n
call fcn.00406218
push str.___g_________getenv____get_startup_environment_for_the__PROCESS_n
call fcn.00406218
push str.___m_________module____show_modules_used_by_specified_PROCESS_n
call fcn.00406218
push 0x40d620
call fcn.00406218
push str.Execution_Options:_n
call fcn.00406218
push str.___d_time____delay_____delay_time_in_milliseconds_before_executing_command_n
call fcn.00406218
push str.___r_err_____repeat____repeat_command_in_a_cycle__while____ERRORLEVEL_____err___n
call fcn.00406218
push str.___n_________number______ERRORLEVEL____negated_number_of_matched_processes_n
call fcn.00406218
push str.___x_a_______exit______wait_for_the_process_completion__exit__n
call fcn.00406218
push str._______________________a_flag_waits_for_all_processes___d_sets_time_out_n
call fcn.00406218
push str._____file_name_________read_arguments_from_specified_file_or_from_n
call fcn.00406218
push str._______________________standard_input_after_processing_the_command_line_n
call fcn.00406218
push 0x40d620
call fcn.00406218
push str.Arguments_can_contain__and___wildcards._n
call fcn.00406218
add esp, 0x40
push 0x40d620
call fcn.00406218
push str.Use_return_code____ERRORLEVEL____in_batch_files:_n
call fcn.00406218
push str.____0___process_found__negated_number_of_processes_if__n_is_specified__n
call fcn.00406218
push str.____1___empty_result_set__2___programm_error_n
call fcn.00406218
push 0x40d620
call fcn.00406218
mov eax, dword [0x411a00]
add esp, 0x14
test eax, eax
je 0x402a35
push str.Format_string_can_use_the_following_placeholders_to_control_the_output_n
call fcn.00406218
push str.___________________________a_affinity________d_creation_time_______c_time_____cpu_n
call fcn.00406218
push str.___________________________f_full_path_______e_elapsed_cpu_time____i_process_id_n
call fcn.00406218
push str.___________________________l_command_line____n_image_name__________m_memory__K__n
call fcn.00406218
push str.___________________________p_priority________r_parent_id___________s_signature_n
call fcn.00406218
push str.___________________________t_thread_count____u_user_name___________v_version_n
call fcn.00406218
push str._________________________Specify_an_optional_performance_data_collecting_time
call fcn.00406218
push str._________________________in_milliseconds_after_the___c_switch__default_is_500ms.
call fcn.00406218
push 0x40d620
call fcn.00406218
add esp, 0x24
push str.Examples:_n
call fcn.00406218
push str.__pv_myprocess.exe________get_process_ID_for_myprocess.exe._n
call fcn.00406218
push str.__pv__e___________________get_extended_list_of_running_processes._n
call fcn.00406218
push str.__pv__k_sleep____________kill_all_processes_starting_with__sleep__n
call fcn.00406218
push str.__pv__m__e_explorer.exe___get_extended_information_about_explorers_modules_n
call fcn.00406218
push str.__pv__u_oleaut.dll_______list_of_all_processes_that_use_matching_dll_n
call fcn.00406218
push str.__pv__ph_w.exe___________set_priority_to_hight_for_all_matching_processes_n
call fcn.00406218
push str.__pv_explorer.exe__l__S__looks_for_explorer_process_with__S_switch_n
call fcn.00406218
push str.__pv__r0__d2000_calc.exe__2_nul__n
call fcn.00406218
push str.__________________________checks_every_2_seconds_if_calc.exe_is_running_n
call fcn.00406218
mov eax, dword [0x411a00]
add esp, 0x28
test eax, eax
je 0x402ac6
push str.__pv___user:SYSTEM________shows_processes_running_under_system_account_n
call fcn.00406218
push str.__pv__o___i_t__e_t__c2000_____t__m_K__t__n__pv.exe_sqlservr.exe_n
call fcn.00406218
push str.__________________________shows_memory_and_CPU_information_collected_for_2_sec.
call fcn.00406218
add esp, 0xc
push 1
call fcn.004066dd
int3
sub esp, 0x518
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x1c], 0
call fcn.00401000
mov ebp, dword [esp + 0x52c]
mov edi, 1
cmp ebp, edi
mov ebx, 0x411398
jle 0x402ec5
lea esp, [esp]
mov eax, dword [esp + 0x530]
mov esi, dword [eax + edi*4]
push 2
push 0x40ea9c
push esi
call fcn.00406e70
add esp, 0xc
test eax, eax
jne 0x402ec0
mov byte [esi], 0
mov cl, byte [esi + 2]
add esi, 2
cmp cl, 0x3e
mov eax, 0x40ea98
jne 0x402ea7
inc esi
mov eax, 0x40ea94
push eax
push esi
call fcn.00406e58
add esp, 8
test eax, eax
mov dword [0x411040], eax
jne 0x402ec0
mov dword [0x411040], ebx
inc edi
cmp edi, ebp
jl 0x402e70
mov ebx, 1
cmp ebp, ebx
mov dword [esp + 0x18], ebx
jle 0x403425
jmp 0x402ee0
mov ecx, dword [esp + 0x530]
mov esi, dword [ecx + ebx*4]
mov al, byte [esi]
cmp al, 0x2d
je 0x402efd
cmp al, 0x2f
je 0x402efd
inc dword [esp + 0x1c]
jmp 0x403418
mov al, byte [esi + 1]
inc esi
test al, al
je 0x403418
lea ebp, [ebx + 1]
mov dword [esp + 0x14], ebp
movsx edx, al
push edx
call fcn.00406249
add esp, 4
cmp al, 0x2d
mov byte [esp + 0x13], al
jne 0x403017
inc esi
mov eax, esi
mov ebx, 0x411130
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402f33
sub eax, edx
mov edi, eax
push 0x3d
push esi
mov dword [esp + 0x28], edi
call fcn.00406d70
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x402f6a
push 0x3a
push esi
call fcn.00406d70
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x402f6a
lea ebp, [edi + esi - 1]
jmp 0x402f6e
mov byte [ebp], 0
mov eax, dword [str.activate]
test eax, eax
je 0x403000
jmp 0x402f80
cmp dword [0x4115e8], 1
mov edi, dword [ebx]
jle 0x402f9e
movsx eax, byte [edi]
push 0x103
push eax
call fcn.00406cdb
add esp, 8
jmp 0x402fb2
movsx ecx, byte [edi]
mov edx, dword [str.________________________________H]
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 0x103
test eax, eax
je 0x402fca
movsx eax, byte [edi]
push eax
call fcn.00406c04
movsx ecx, byte [edi]
add esp, 4
cmp ecx, eax
jne 0x402fca
inc edi
cmp byte [esi], 0
je 0x402fe2
mov edx, dword [esp + 0x20]
push edx
push edi
push esi
call fcn.0040c294
add esp, 0xc
test eax, eax
je 0x402fee
mov eax, dword [ebx + 4]
add ebx, 4
test eax, eax
jne 0x402f80
jmp 0x403000
mov eax, dword [ebx]
movsx ecx, byte [eax]
push ecx
call fcn.00406249
add esp, 4
mov byte [esp + 0x13], al
cmp dword [ebx], 0
mov esi, ebp
je 0x40344c
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov al, byte [esp + 0x13]
mov edx, dword [str.bdefilnqrtuvwxyo_]
movsx edi, al
push edi
push edx
call fcn.00406d70
add esp, 8
test eax, eax
jne 0x403070
mov eax, dword [str.kacp]
push edi
push eax
call fcn.00406d70
add esp, 8
test eax, eax
je 0x403063
mov al, byte [0x412251]
test al, al
je 0x403070
mov ecx, dword [0x411040]
push str.pv:_Conflicting_actions_n
push ecx
call fcn.004061e6
add esp, 8
jmp 0x402780
mov al, byte [0x412250]
test al, al
jne 0x403465
lea eax, [edi - 0x3f]
cmp eax, 0x3a
ja case.0x403083.65
movzx ecx, byte [eax + 0x40393c]
jmp dword [ecx*4 + 0x4038e4]
mov dword [0x41225c], 1
jmp 0x403405
mov dword [0x412264], 1
jmp 0x403405
mov al, byte [esi + 1]
inc esi
test al, al
je 0x4030d1
push 0x104
push esi
push 0x411f30
mov dword [0x4122b0], 1
call fcn.00406ae0
add esp, 0xc
mov byte [esi], 0
dec esi
mov dword [0x412268], 1
jmp 0x403405
mov eax, 1
mov dword [0x412268], eax
mov dword [0x41226c], eax
jmp 0x403405
mov dword [0x412260], 1
jmp 0x403405
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
mov dword [0x4122ac], 1
jl 0x403119
cmp al, 0x39
jle 0x403121
cmp al, 0x2d
jne 0x403404
push esi
call fcn.00406a78
add esp, 4
mov dword [0x41109c], eax
jmp 0x403401
mov dword [0x412270], 1
jmp 0x403405
mov eax, dword [0x412248]
inc esi
test eax, eax
mov dword [0x412288], 1
je 0x403160
push eax
call fcn.00406a7d
add esp, 4
cmp byte [esi], 0
je 0x403401
push 0x40ea74
push esi
call fcn.00406e58
add esp, 8
test eax, eax
mov dword [0x412248], eax
jne 0x403401
mov edx, dword [0x411040]
push esi
push str._npv:_Unable_to_open_file_for_input__s_n
push edx
call fcn.004061e6
add esp, 0xc
jmp 0x403401
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4031cd
cmp ebp, dword [esp + 0x52c]
jge 0x4031c4
mov eax, dword [esp + 0x530]
mov esi, dword [eax + ebx*4 + 4]
inc ebx
inc ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebp
cmp byte [esi], 0
je 0x403401
push esi
call fcn.00406a78
add esp, 4
mov dword [0x4122a8], eax
jmp 0x403401
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [0x412278], 1
je 0x403401
push esi
call fcn.0040c2e9
add esp, 4
mov dword [0x412298], eax
jmp 0x403401
mov eax, dword [0x411a00]
test eax, eax
je 0x403483
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [0x412280], 1
je 0x403401
push esi
call fcn.0040c2e9
add esp, 4
mov dword [0x4122a0], eax
jmp 0x403401
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [0x41227c], 1
je 0x403401
push esi
call fcn.0040c2e9
add esp, 4
mov dword [0x41229c], eax
jmp 0x403401
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [0x412284], 1
je 0x403401
push 0x104
push esi
push 0x411c18
call fcn.00406ae0
add esp, 0xc
jmp 0x403401
mov eax, dword [0x411a00]
test eax, eax
je 0x40349b
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [0x412258], 1
je 0x4034b4
push 0x104
push esi
push 0x411a10
call fcn.00406ae0
add esp, 0xc
jmp 0x403401
mov al, byte [esi + 1]
inc esi
test al, al
mov dword [0x41228c], 1
je 0x4032fb
push 0x103
push esi
push 0x411e28
call fcn.00406ae0
add esp, 0xc
jmp 0x403401
cmp ebp, dword [esp + 0x52c]
jge 0x403337
mov edi, dword [esp + 0x530]
mov ecx, dword [edi + ebx*4 + 4]
inc ebx
push 0x103
push ecx
inc ebp
push 0x411e28
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebp
call fcn.00406ae0
mov edx, dword [edi + ebx*4]
add esp, 0xc
mov byte [edx], 0
jmp 0x403401
mov word [0x411e28], 0x2a
jmp 0x403401
movsx eax, byte [esi + 1]
push eax
mov dword [0x412290], 1
call fcn.00406c04
add esp, 4
cmp eax, 0x41
jne 0x403405
mov dword [0x412294], 1
inc esi
jmp 0x403405
mov cl, byte [esp + 0x13]
mov byte [0x412250], cl
jmp 0x403405
mov al, byte [esi + 1]
mov dl, byte [esp + 0x13]
inc esi
test al, al
mov byte [0x412251], dl
je 0x403401
push esi
call fcn.00406a78
add esp, 4
mov dword [0x4122b8], eax
jmp 0x403401
mov al, byte [esp + 0x13]
mov byte [0x412251], al
jmp 0x403405
mov al, byte [esi + 1]
mov cl, byte [esp + 0x13]
inc esi
test al, al
mov byte [0x412251], cl
jne 0x4033e6
cmp ebp, dword [esp + 0x52c]
jge 0x4033e1
mov edx, dword [esp + 0x530]
mov esi, dword [edx + ebx*4 + 4]
inc ebx
inc ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebp
cmp byte [esi], 0
je 0x4033f4
push esi
call fcn.00401050
add esp, 4
mov dword [0x412254], eax
mov eax, dword [0x412254]
test eax, eax
je 0x4034cd
mov byte [esi], 0
dec esi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x402f10
mov ebp, dword [esp + 0x52c]
inc ebx
cmp ebx, ebp
mov dword [esp + 0x18], ebx
jl 0x402ee0
call fcn.00401030
test eax, eax
jne 0x403505
mov eax, dword [0x411040]
push str.The_Process_Viewer_requires_TOOLHELP_API_nexports_in_KERNEL32.DLL__Windows_9x_NT5__nor_PSAPI.DLL__Windows_NT__installed_n
push eax
call fcn.004061e6
add esp, 8
push 3
call fcn.004066dd
mov eax, dword [0x411040]
push ebp
push str._npv:_Invalid_option__s_n
push eax
call fcn.004061e6
add esp, 0xc
jmp 0x402780
mov edx, dword [0x411040]
push str.pv:_Conflicting_options_n
push edx
call fcn.004061e6
add esp, 8
jmp 0x402780
jmp 0x4027a0
mov eax, dword [0x411040]
push str._npv:_This_option_is_not_supported_for_Windows_9x_Me_n
push eax
call fcn.004061e6
add esp, 8
jmp 0x402780
mov ecx, dword [0x411040]
push str._npv:_This_option_is_not_supported_for_Windows_9x_Me_n
push ecx
call fcn.004061e6
add esp, 8
jmp 0x402780
mov edx, dword [0x411040]
push str.pv:_Missing_output_format_n
push edx
call fcn.004061e6
add esp, 8
jmp 0x402780
mov eax, dword [0x411040]
push esi
push str._npv:_Invalid_priority_class__s_n
push eax
call fcn.004061e6
add esp, 0xc
jmp 0x402780
movsx ecx, byte [esp + 0x13]
mov edx, dword [0x411040]
push ecx
push str._npv:_Invalid_option__c_n
push edx
call fcn.004061e6
add esp, 0xc
jmp 0x402780
call fcn.00401290
push 2
push str.SeDebugPrivilege
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.004013b0
add esp, 0xc
call fcn.004023d0
mov eax, dword [0x4122b0]
mov edi, dword [esp + 0x530]
xor ebx, ebx
cmp eax, ebx
mov esi, 1
je 0x40354e
push 0x411f30
push 0x40e8e8
call fcn.00406218
add esp, 8
mov eax, dword [0x4122a8]
cmp eax, ebx
mov dword [0x41224c], ebx
mov dword [esp + 0x14], ebx
mov dword [0x4122b4], esi
je 0x403576
cmp dword [0x412290], ebx
jne 0x403576
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x411a00], ebx
push ebx
je 0x403586
call fcn.00405830
jmp 0x40358b
call fcn.004045f0
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x4036b5
cmp dword [0x412288], ebx
jne 0x4036b5
cmp dword [0x4122a8], ebx
je 0x403692
cmp dword [0x412258], ebx
jne 0x403692
mov dword [0x412274], esi
cmp dword [0x412290], ebx
je 0x403806
mov eax, dword [0x4122c0]
xor esi, esi
test eax, eax
mov edi, 0x4122c0
je 0x403806
mov ebp, dword [sym.imp.KERNEL32.dll_OpenProcess]
xor ebx, ebx
lea esp, [esp]
cmp esi, 0x100
jae 0x40363a
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
push ecx
push ebx
push 0x100000
call ebp
cmp eax, ebx
mov dword [esp + esi*4 + 0x128], eax
jne 0x40362f
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x34]
mov ecx, dword [0x411040]
push edx
push eax
push str.pv:_Unable_to_open_process__s___d__n
push ecx
call fcn.004061e6
add esp, 0x10
mov eax, dword [edi + 4]
add edi, 4
inc esi
cmp eax, ebx
jne 0x4035f0
cmp esi, ebx
je 0x403806
mov eax, dword [0x4122a8]
cmp eax, ebx
jne 0x40364e
or eax, 0xffffffff
mov edx, dword [0x412294]
push ebx
push eax
push edx
lea eax, [esp + 0x134]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
cmp eax, 0x102
jne 0x403756
mov ecx, dword [0x411040]
push str.pv:_The_time_out_interval_elapsed_n
push ecx
call fcn.004061e6
add esp, 8
mov dword [esp + 0x14], 1
jmp 0x4037d3
mov al, byte [0x412250]
test al, al
je 0x4036a3
cmp al, 0x73
jne 0x4038be
push 0x40d7d0
call fcn.00402db0
add esp, 4
jmp 0x4035c4
cmp ebp, esi
jle 0x4036df
lea esp, [esp]
mov ecx, dword [edi + esi*4]
mov al, byte [ecx]
cmp al, 0x2d
je 0x4036da
cmp al, 0x2f
je 0x4036da
test al, al
je 0x4036da
push ecx
call fcn.00402db0
add esp, 4
inc esi
cmp esi, ebp
jl 0x4036c0
cmp dword [0x412288], ebx
je 0x4035c4
jmp 0x4036f0
mov eax, dword [0x412248]
cmp eax, ebx
jne 0x4036fe
mov eax, 0x411358
push eax
lea ecx, [esp + 0x28]
push 0x104
push ecx
call fcn.0040631e
add esp, 0xc
test eax, eax
je 0x4035c4
mov cl, byte [esp + 0x24]
test cl, cl
lea eax, [esp + 0x24]
mov byte [esp + 0x127], 0
je 0x403744
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0xa
je 0x403744
cmp cl, 0xd
je 0x403744
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x403730
lea edx, [esp + 0x24]
push edx
mov byte [eax], 0
call fcn.00402db0
add esp, 4
jmp 0x4036f0
cmp eax, 0xffffffff
jne 0x403779
mov edx, dword [0x411040]
push str.pv:_Wait_failed_n
push edx
call fcn.004061e6
add esp, 8
mov dword [esp + 0x14], 2
jmp 0x4037d3
cmp dword [0x412294], ebx
je 0x403795
cmp esi, 1
jbe 0x403795
push str._npv:_Waiting_for_all_processes_completed_n
call fcn.00406218
add esp, 4
jmp 0x4037d3
xor ecx, ecx
cmp eax, esi
jae 0x4037a4
lea ecx, [eax*4 + 0x4122c0]
jmp 0x4037bc
cmp eax, 0x80
jb 0x4037bc
lea edx, [esi + 0x80]
cmp eax, edx
jae 0x4037bc
lea ecx, [eax*4 + 0x4120c0]
mov eax, dword [ecx]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x34]
push ecx
push edx
push str._npv:_Waiting_completed_for_process__s___u__n
call fcn.00406218
add esp, 0xc
cmp esi, ebx
jbe 0x403806
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ecx]
mov eax, dword [esp + esi*4 + 0x124]
dec esi
push eax
call edi
mov ecx, dword [esi*4 + 0x4122c0]
push ecx
call fcn.004069e8
add esp, 4
cmp esi, ebx
mov dword [esi*4 + 0x4122c0], ebx
ja 0x4037e0
mov eax, dword [0x412274]
test eax, eax
jne 0x40382a
mov edx, dword [0x411040]
push str.pv:_No_matching_processes_found_n
push edx
call fcn.004061e6
add esp, 8
mov esi, 1
jmp 0x403841
mov eax, dword [0x412270]
test eax, eax
je 0x40383d
mov esi, dword [0x41224c]
neg esi
jmp 0x403841
mov esi, dword [esp + 0x14]
mov eax, dword [0x4127d8]
test eax, eax
je 0x403862
lea ebx, [ebx]
push eax
call fcn.00405b90
mov eax, dword [0x4127d8]
add esp, 4
test eax, eax
jne 0x403850
mov eax, dword [0x4122ac]
test eax, eax
je 0x4038d6
mov eax, dword [0x4122b0]
test eax, eax
jne 0x40388a
mov eax, dword [0x412268]
test eax, eax
jne 0x40388a
push 0x40d620
call fcn.00406218
add esp, 4
push 0x411378
call fcn.004063d2
push 0x411398
call fcn.004063d2
mov eax, dword [0x4122ac]
add esp, 8
test eax, eax
je 0x4038d6
cmp esi, dword [0x41109c]
jle 0x4038d6
mov ebp, dword [esp + 0x52c]
jmp 0x403525
mov eax, dword [0x411040]
push str.pv:_Missing_argument_s__n
push eax
call fcn.004061e6
add esp, 8
jmp 0x402780
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x518
ret