Function at 0x402a5f
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x29c
cmp dword [0x42bd88], 2
jl 0x402a9f
mov eax, dword [0x42bd8c]
push dword [eax + 4]
call fcn.00415080
test eax, eax
pop ecx
jle 0x402a9f
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.Please_note_that_the_style_of_parameters_has_changed_in_version_2._r_rUsage:_reschange.exe__width_width___height_height___depth_bits_color_depth____refresh_refresh_rate_____force____quiet____list____command_line_...___r_rTo_use_the_current_width__height__or_color_depth__dont_specify_the_switch_or_specify_0_as_the_value_of_that_switch._rTo_use_the_best_available_refresh_rate__dont_specify_the_refresh_rate_or_specify_0_as_the_refresh_rate._r_rYou_can_use_the__force_switch_to_use_an_unsupported_video_mode._You_can_use_the__quiet_switch_to_suppress_dialog_boxes._You_can_use_the__list_switch_to_output_the_available_resolutions_to_the_console.__Not_available_in_the_Windows_version.__Please_be_aware_that_you_can_damage_your_video_card_or_monitor_by_using_an_unsupported_resolution._12noon_assumes_no_responsibility_or_liability_for_your_use_of_ResChange._r_rExamples:_r_tResChange.exe__width800__height600__depth8__refresh0_notepad.exe_c:_autoexec.bat_r_tResChange.exe__width1024__depth32_notepad.exe_c:_autoexec.bat_r_rIf_you_dont_specify_a_command_line__it_will_only_change_the_display_settings.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
inc eax
jmp 0x402e9e
push ebx
push esi
push edi
push dword [0x42bd88]
push dword [0x42bd8c]
call fcn.004029fd
xor ebx, ebx
cmp byte [0x42baa0], bl
pop ecx
pop ecx
je 0x402ada
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.The_List_option_is_not_available_with_the_Windows_version_of_Resolution_Changer._Please_use_the_Console_version.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
inc eax
jmp 0x402e9b
cmp dword [0x42bd88], 3
jge 0x402af1
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.Usage:_reschange.exe__width_width___height_height___depth_bits_color_depth____refresh_refresh_rate_____force____quiet____list____command_line_...___r_rTo_use_the_current_width__height__or_color_depth__dont_specify_the_switch_or_specify_0_as_the_value_of_that_switch._rTo_use_the_best_available_refresh_rate__dont_specify_the_refresh_rate_or_specify_0_as_the_refresh_rate._r_rYou_can_use_the__force_switch_to_use_an_unsupported_video_mode._You_can_use_the__quiet_switch_to_suppress_dialog_boxes._You_can_use_the__list_switch_to_output_the_available_resolutions_to_the_console.__Not_available_in_the_Windows_version.__Please_be_aware_that_you_can_damage_your_video_card_or_monitor_by_using_an_unsupported_resolution._12noon_assumes_no_responsibility_or_liability_for_your_use_of_ResChange._r_rExamples:_r_tResChange.exe__width800__height600__depth8__refresh0_notepad.exe_c:_autoexec.bat_r_r_tResChange.exe__width1024__depth32_notepad.exe_c:_autoexec.bat_r_rIf_you_dont_specify_a_command_line__it_will_only_change_the_display_settings.
jmp 0x402acb
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, eax
push 8
push edi
call esi
push 0xa
push edi
mov dword [ebp - 8], eax
call esi
push 0xc
push edi
mov dword [ebp - 0xc], eax
call esi
push edi
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [0x42baa4], ebx
jne 0x402b2f
mov eax, dword [ebp - 8]
mov dword [0x42baa4], eax
cmp dword [0x42baa8], ebx
jne 0x402b3f
mov eax, dword [ebp - 0xc]
mov dword [0x42baa8], eax
cmp dword [0x42baac], ebx
jne 0x402b4d
mov dword [0x42baac], esi
lea eax, [ebp - 0xfc]
push eax
mov byte [ebp - 1], bl
mov word [ebp - 0x174], 0x9c
mov word [ebp - 0x172], bx
mov word [ebp - 0xd8], 0x9c
mov word [ebp - 0xd6], bx
mov dword [ebp - 8], ebx
push ebx
jmp 0x402cac
cmp byte [0x42baa0], bl
je 0x402bf7
push dword [ebp - 0x84]
mov ecx, 0x42bb94
push 0x2c
pop eax
push eax
push dword [ebp - 0x94]
push eax
push dword [ebp - 0x8c]
push eax
push dword [ebp - 0x90]
push eax
push dword [ebp - 8]
call fcn.004017c9
push eax
call fcn.0040161a
pop ecx
pop ecx
mov ecx, eax
call fcn.004018af
push eax
call fcn.0040161a
pop ecx
pop ecx
mov ecx, eax
call fcn.004018af
push eax
call fcn.0040161a
pop ecx
pop ecx
mov ecx, eax
call fcn.004018af
push eax
call fcn.0040161a
pop ecx
pop ecx
mov ecx, eax
call fcn.004018af
push eax
call fcn.00401b45
pop ecx
mov ecx, dword [ebp - 0xd4]
test ecx, 0x80000
je 0x402c17
mov eax, dword [ebp - 0x90]
cmp eax, dword [0x42baa4]
jne 0x402c9f
test ecx, 0x100000
je 0x402c2d
mov eax, dword [ebp - 0x8c]
cmp eax, dword [0x42baa8]
jne 0x402c9f
test ecx, 0x40000
je 0x402c43
mov eax, dword [ebp - 0x94]
cmp eax, dword [0x42baac]
jne 0x402c9f
mov eax, dword [0x42bab0]
cmp eax, ebx
mov edx, dword [ebp - 0x84]
jbe 0x402c5e
test ecx, 0x400000
je 0x402c5e
cmp edx, eax
jne 0x402c9f
cmp byte [ebp - 1], bl
jne 0x402c7e
cmp eax, ebx
push 0x27
pop ecx
lea esi, [ebp - 0xfc]
lea edi, [ebp - 0x198]
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 1], 1
ja 0x402cbb
jmp 0x402c9f
test ecx, 0x400000
je 0x402c9f
cmp edx, dword [ebp - 0x120]
jbe 0x402c9f
push 0x27
pop ecx
lea esi, [ebp - 0xfc]
lea edi, [ebp - 0x198]
rep movsd dword es:[edi], dword [esi]
inc dword [ebp - 8]
lea eax, [ebp - 0xfc]
push eax
push dword [ebp - 8]
push ebx
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
test eax, eax
jne 0x402b80
cmp byte [0x42baa0], bl
je 0x402cca
xor eax, eax
jmp 0x402e9b
cmp byte [ebp - 1], bl
jne 0x402cfa
cmp byte [0x42bab4], bl
jne 0x402cfa
cmp byte [0x42bab5], bl
jne 0x402cf2
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.The_specified_display_resolution_is_not_supported_by_your_video_card_and_monitor._r_rIf_you_want_ResChange_to_set_this_resolution_anyway__you_can_pass_the__force_switch_on_the_command_line._r_rPlease_be_aware_that_you_can_damage_your_video_card_or_monitor_by_using_an_unsupported_resolution._12noon_assumes_no_responsibility_or_liability_for_your_use_of_ResChange.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 2
pop eax
jmp 0x402e9b
mov esi, dword [sym.imp.USER32.dll_ChangeDisplaySettingsA]
xor eax, eax
cmp dword [0x42a0a4], ebx
sete al
push eax
lea eax, [ebp - 0x198]
push eax
call esi
cmp eax, ebx
je 0x402da5
cmp eax, 0xfffffffd
jne 0x402d41
cmp byte [0x42bab5], bl
jne 0x402d3d
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.Unable_to_write_the_settings_to_the_Registry.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 3
jmp 0x402cf4
cmp eax, 1
jne 0x402d65
cmp byte [0x42bab5], bl
jne 0x402d61
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.The_computer_needs_to_be_restarted_in_order_for_the_graphics_mode_to_work.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 4
jmp 0x402cf4
cmp eax, 0xfffffffe
jne 0x402d83
cmp byte [0x42bab5], bl
jne 0x402cf2
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.The_graphics_mode_is_not_supported.
jmp 0x402ceb
cmp byte [0x42bab5], bl
jne 0x402d9e
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.An_error_occurred_when_changing_display_resolution.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 5
jmp 0x402cf4
push ebx
push ebx
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [0x42a0a4], ebx
je 0x402cc3
cmp dword [0x42a0a8], 0x10
mov eax, dword [0x42a094]
mov dword [ebp - 0x50], 0x44
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov word [ebp - 0x20], bx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x1e], bx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
jae 0x402e0f
mov eax, 0x42a094
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.00414f30
pop ecx
pop ecx
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x29c]
push eax
push ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x402e4d
push 0xffffffffffffffff
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x402e95
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x402e77
cmp byte [0x42bab5], bl
jne 0x402e73
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.Unable_to_find_specified_file.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 6
jmp 0x402e94
cmp byte [0x42bab5], bl
jne 0x402e92
push 0x30
push str.Resolution_Changer_2.30_from_12noon__www.12noon.com_
push str.An_error_occurred_when_starting_the_application.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 7
pop edi
push ebx
push ebx
call esi
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x10