Function at 0x508db0
Capabilities:
Check if file exists
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x581ead
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x69a68
call fcn.0052c270
mov eax, dword [0x5fc150]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x69a4c], eax
mov esi, dword [ebp + 0x10]
push esi
lea eax, [ebp - 0x69a2c]
push eax
call fcn.00508be0
mov dword [ebp - 4], 0
push esi
lea eax, [ebp - 0x69a2c]
push eax
call fcn.00508ca0
add esp, 0x10
mov esi, eax
lea ecx, [ebp - 0x69a2f]
call fcn.0043b030
mov byte [ebp - 0x69a1f], 1
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push str.nppInstance
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [eax - 0xb7]
neg ebx
sbb bl, bl
and bl, byte [ebp - 0x69a1f]
mov dword [ebp - 0x69a48], ebx
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._notepadStyleCmdline
call fcn.00508b60
add esp, 0xc
test al, al
je 0x508f44
push esi
lea eax, [ebp - 0x69a40]
push eax
call fcn.00507d80
add esp, 8
mov esi, eax
mov byte [ebp - 4], 1
lea eax, [ebp - 0x69a2c]
cmp eax, esi
je 0x508ed0
mov ecx, eax
call fcn.00450d40
mov ecx, dword [esi]
mov dword [ebp - 0x69a2c], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x69a28], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x69a24], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x69a40]
test eax, eax
je 0x508f44
push dword [ebp - 0x69a34]
lea ecx, [ebp - 0x69a40]
push ecx
push dword [ebp - 0x69a3c]
push eax
call fcn.00401f90
add esp, 0x10
mov ecx, dword [ebp - 0x69a38]
mov esi, dword [ebp - 0x69a40]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
lea ecx, [ebp - 0x69a40]
call fcn.004072d0
mov dword [ebp - 0x69a40], 0
mov dword [ebp - 0x69a3c], 0
mov dword [ebp - 0x69a38], 0
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str.__help
call fcn.00508b60
mov byte [ebp - 0x69a2d], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._multiInst
call fcn.00508b60
mov byte [ebp - 0x69a1e], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._exportfunctionList
call fcn.00508b60
mov byte [ebp - 0x69a2e], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push 0x5c4b24
call fcn.00508b60
add esp, 0x30
mov byte [ebp - 0x69a1f], al
lea ecx, [ebp - 0x934]
call fcn.00507900
mov byte [ebp - 4], 2
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._notabbar
call fcn.00508b60
mov byte [ebp - 0x931], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._noPlugin
call fcn.00508b60
mov byte [ebp - 0x934], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push 0x5c4a40
call fcn.00508b60
mov byte [ebp - 0x933], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._nosession
call fcn.00508b60
mov byte [ebp - 0x932], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._systemtray
call fcn.00508b60
mov byte [ebp - 0x930], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._alwaysOnTop
call fcn.00508b60
add esp, 0x48
mov byte [ebp - 0x92e], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._loadingTime
call fcn.00508b60
mov byte [ebp - 0x92f], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._openSession
call fcn.00508b60
mov byte [ebp - 0x916], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push 0x5c4af0
call fcn.00508b60
mov byte [ebp - 0x915], al
push 1
lea eax, [ebp - 0x69a2c]
push eax
push str._openFoldersAsWorkspace
call fcn.00508b60
mov byte [ebp - 0x914], al
lea eax, [ebp - 0x69a2c]
push eax
call fcn.005084d0
mov dword [ebp - 0x910], eax
lea eax, [ebp - 0x69a2c]
push eax
lea eax, [ebp - 0x8a4]
push eax
call fcn.005085a0
add esp, 0x3c
mov esi, eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x90c]
cmp eax, esi
je 0x509136
mov eax, dword [ebp - 0x8f8]
cmp eax, 8
jb 0x50910d
inc eax
push eax
push dword [ebp - 0x90c]
lea ecx, [ebp - 0x90c]
call fcn.00407270
mov dword [ebp - 0x8f8], 7
mov dword [ebp - 0x8fc], 0
xor eax, eax
mov word [ebp - 0x90c], ax
push esi
lea ecx, [ebp - 0x90c]
call fcn.00404b40
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x890]
cmp eax, 8
jb 0x509158
inc eax
push eax
push dword [ebp - 0x8a4]
lea ecx, [ebp - 0x8a4]
call fcn.00407270
mov dword [ebp - 0x890], 7
mov dword [ebp - 0x894], 0
xor eax, eax
mov word [ebp - 0x8a4], ax
lea eax, [ebp - 0x8dc]
push eax
lea eax, [ebp - 0x69a2c]
push eax
lea eax, [ebp - 0x8a4]
push eax
call fcn.00508130
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 4
lea eax, [ebp - 0x8f4]
cmp eax, esi
je 0x5091e9
mov eax, dword [ebp - 0x8e0]
cmp eax, 8
jb 0x5091c0
inc eax
push eax
push dword [ebp - 0x8f4]
lea ecx, [ebp - 0x8f4]
call fcn.00407270
mov dword [ebp - 0x8e0], 7
mov dword [ebp - 0x8e4], 0
xor eax, eax
mov word [ebp - 0x8f4], ax
push esi
lea ecx, [ebp - 0x8f4]
call fcn.00404b40
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x890]
cmp eax, 8
jb 0x50920b
inc eax
push eax
push dword [ebp - 0x8a4]
lea ecx, [ebp - 0x8a4]
call fcn.00407270
mov dword [ebp - 0x890], 7
mov dword [ebp - 0x894], 0
xor eax, eax
mov word [ebp - 0x8a4], ax
lea eax, [ebp - 0x69a2c]
push eax
call fcn.005083c0
mov dword [ebp - 0x8d8], eax
lea eax, [ebp - 0x69a1d]
push eax
lea eax, [ebp - 0x69a2c]
push eax
push 0x6e
call fcn.005086d0
mov dword [ebp - 0x92c], eax
lea eax, [ebp - 0x69a1d]
push eax
lea eax, [ebp - 0x69a2c]
push eax
push 0x63
call fcn.005086d0
mov dword [ebp - 0x928], eax
lea eax, [ebp - 0x69a1d]
push eax
lea eax, [ebp - 0x69a2c]
push eax
push 0x70
call fcn.005086d0
mov dword [ebp - 0x924], eax
lea eax, [ebp - 0x918]
push eax
lea eax, [ebp - 0x69a2c]
push eax
push 0x78
call fcn.005086d0
mov dword [ebp - 0x920], eax
lea eax, [ebp - 0x917]
push eax
lea eax, [ebp - 0x69a2c]
push eax
push 0x79
call fcn.005086d0
add esp, 0x40
mov dword [ebp - 0x91c], eax
cmp byte [ebp - 0x69a2d], 0
je 0x5092e1
push 0
push str.Notepad_Command_Argument_Help
push str.Usage_:_r_rnotepad____help____multiInst____noPlugin____lLanguage____LlangCode____nLineNumber____cColumnNumber____pPosition____xLeftPos____yTopPos____nosession____notabbar____ro____systemtray____loadingTime____alwaysOnTop____openSession____r____qnEasterEggName___qtText___qfCntentFileName____qSpeed123____quickPrint____openFoldersAsWorkspace___filePath__r_r__help_:_This_help_message_r_multiInst_:_Launch_another_Notepad_instance_r_noPlugin_:_Launch_Notepad_without_loading_any_plugin_r_l_:_Open_file_or_display_ghost_typing_with_syntax_highlighting_of_choice_r_L_:_Apply_indicated_localization__langCode_is_browser_language_code_r_n_:_Scroll_to_indicated_line_on_filePath_r_c_:_Scroll_to_indicated_column_on_filePath_r_p_:_Scroll_to_indicated_position_on_filePath_r_x_:_Move_Notepad_to_indicated_left_side_position_on_the_screen_r_y_:_Move_Notepad_to_indicated_top_position_on_the_screen_r_nosession_:_Launch_Notepad_without_previous_session_r_notabbar_:_Launch_Notepad_without_tabbar_r_ro_:_Make_the_filePath_read_only_r_systemtray_:_Launch_Notepad_directly_in_system_tray_r_loadingTime_:_Display_Notepad_loading_time_r_alwaysOnTop_:_Make_Notepad_always_on_top_r_openSession_:_Open_a_session._filePath_must_be_a_session_file_r_r_:_Open_files_recursively._This_argument_will_be_ignored_r_____if_filePath_contain_no_wildcard_character_r_qn_:_Launch_ghost_typing_to_display_easter_egg_via_its_name_r_qt_:_Launch_ghost_typing_to_display_a_text_via_the_given_text_r_qf_:_Launch_ghost_typing_to_display_a_file_content_via_the_file_path_r_qSpeed_:_Ghost_typing_speed._Value_from_1_to_3_for_slow__fast_and_fastest_r_quickPrint_:_Print_the_file_given_as_argument_then_quit_Notepad_r_openFoldersAsWorkspace:_open_filePath_of_folder_s__as_workspace_rfilePath_:_file_or_folder_name_to_open__absolute_or_relative_path_name__r
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0040baa0
mov edi, eax
cmp dword [ebp - 0x8f8], 8
mov eax, dword [ebp - 0x90c]
jae 0x5092fd
lea eax, [ebp - 0x90c]
push 0
push 0x5883b8
push dword [ebp - 0x8fc]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x509331
lea ecx, [edi + 0x23280]
lea eax, [ebp - 0x90c]
cmp ecx, eax
je 0x509331
push 0xffffffffffffffff
push 0
push eax
call fcn.00406ac0
mov ecx, edi
call fcn.004b78e0
mov cl, byte [edi + 0x2a8]
mov byte [ebp - 0x69a1d], cl
mov cl, byte [ebp - 0x69a2e]
mov al, byte [ebp - 0x69a1f]
test cl, cl
jne 0x509358
test al, al
je 0x50936d
mov byte [ebp - 0x69a1e], 1
mov byte [ebp - 0x69a1d], 0
mov byte [ebp - 0x932], 1
mov byte [edi + 0x23298], cl
mov byte [edi + 0x23299], al
mov al, byte [edi + 0x234cc]
test al, al
je 0x509393
mov byte [ebp - 0x69a1e], 1
mov word [ebp - 0x932], 0x101
cmp dword [edi + 0x6f8], 2
jne 0x5093ae
mov byte [ebp - 0x69a1e], 1
test bl, bl
jne 0x5093ae
mov byte [ebp - 0x932], 1
mov dword [ebp - 0x8ac], 0
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 0x8a8], 7
mov dword [ebp - 0x8ac], 0
xor eax, eax
mov word [ebp - 0x8bc], ax
push eax
push 0x5883b8
lea ecx, [ebp - 0x8bc]
call fcn.00406c80
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x69a28]
mov esi, dword [ebp - 0x69a2c]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x69a34], eax
mov ebx, 0
je 0x509514
mov dword [ebp - 0x69a44], ebx
lea ebx, [ebx]
mov ecx, dword [ebp - 0x69a28]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jbe 0x50955c
mov eax, dword [ebp - 0x69a44]
add esi, eax
cmp dword [esi + 0x14], 8
jb 0x509461
mov esi, dword [esi]
cmp word [esi], 0
je 0x5094f8
push 1
push 0x593ed8
lea ecx, [ebp - 0x8bc]
call fcn.00406760
push esi
lea eax, [ebp - 0x8a4]
push eax
call fcn.00426720
add esp, 8
mov byte [ebp - 4], 6
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x8bc]
call fcn.00406650
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x890]
cmp eax, 8
jb 0x5094c3
inc eax
push eax
push dword [ebp - 0x8a4]
lea ecx, [ebp - 0x8a4]
call fcn.00407270
mov dword [ebp - 0x890], 7
mov dword [ebp - 0x894], 0
xor eax, eax
mov word [ebp - 0x8a4], ax
push 2
push 0x593edc
lea ecx, [ebp - 0x8bc]
call fcn.00406760
mov eax, dword [ebp - 0x69a44]
inc ebx
add eax, 0x18
mov dword [ebp - 0x69a44], eax
cmp ebx, dword [ebp - 0x69a34]
mov esi, dword [ebp - 0x69a2c]
jb 0x509430
call fcn.0040baa0
lea ecx, [ebp - 0x8a4]
push ecx
mov ecx, eax
call fcn.0042fb90
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
jb 0x509533
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x890]
cmp eax, 8
jb 0x5095aa
inc eax
mov ecx, dword [ebp - 0x8a4]
cmp eax, 0x7fffffff
jbe 0x509566
call fcn.00547c01
push str.invalid_vector_T__subscript
call fcn.00515a37
add eax, eax
cmp eax, 0x1000
jb 0x5095a1
test byte [ebp - 0x8a4], 0x1f
je 0x50957d
call fcn.00547c01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x509589
call fcn.00547c01
sub ecx, eax
cmp ecx, 4
jae 0x509595
call fcn.00547c01
cmp ecx, 0x23
jbe 0x50959f
call fcn.00547c01
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x890], 7
mov dword [ebp - 0x894], 0
xor eax, eax
mov word [ebp - 0x8a4], ax
cmp byte [ebp - 0x69a1e], al
jne 0x5098ad
cmp byte [ebp - 0x69a48], al
jne 0x5098ad
push eax
push 0x5ae798
call dword [sym.imp.USER32.dll_FindWindowW]
mov ebx, eax
xor esi, esi
test ebx, ebx
jne 0x50961e
cmp esi, 5
jge 0x509616
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x5ae798
call dword [sym.imp.USER32.dll_FindWindowW]
mov ebx, eax
inc esi
test ebx, ebx
je 0x5095f3
jmp 0x50961e
test ebx, ebx
je 0x5098ad
mov ecx, edi
call fcn.004ab3b0
push ebx
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x509637
mov eax, 3
jmp 0x509647
push ebx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x50964f
mov eax, 9
push eax
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov ecx, dword [ebp - 0x69a28]
sub ecx, dword [ebp - 0x69a2c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x509757
mov al, byte [ebp - 0x933]
mov byte [ebp - 0x8a4], al
mov al, byte [ebp - 0x932]
mov byte [ebp - 0x8a3], al
mov al, byte [ebp - 0x916]
mov byte [ebp - 0x8a2], al
mov al, byte [ebp - 0x915]
mov byte [ebp - 0x8a1], al
mov al, byte [ebp - 0x914]
mov byte [ebp - 0x8a0], al
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0x89c], eax
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x924]
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x910]
mov dword [ebp - 0x890], eax
mov dword [ebp - 0x69a40], 0
lea eax, [ebp - 0x8a4]
mov dword [ebp - 0x69a38], eax
mov dword [ebp - 0x69a3c], 0x18
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x8a8], 8
mov eax, dword [ebp - 0x8bc]
jae 0x509721
lea eax, [ebp - 0x8bc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x8ac]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x69a40]
push eax
mov edi, dword [ebp - 0x69a4c]
push edi
push 0x4a
push ebx
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
lea eax, [ebp - 0x20]
push eax
push edi
push 0x4a
push ebx
call esi
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x8a8]
cmp eax, 8
jb 0x5097bd
inc eax
mov ecx, dword [ebp - 0x8bc]
cmp eax, 0x7fffffff
jbe 0x509779
call fcn.00547c01
add eax, eax
cmp eax, 0x1000
jb 0x5097b4
test byte [ebp - 0x8bc], 0x1f
je 0x509790
call fcn.00547c01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x50979c
call fcn.00547c01
sub ecx, eax
cmp ecx, 4
jae 0x5097a8
call fcn.00547c01
cmp ecx, 0x23
jbe 0x5097b2
call fcn.00547c01
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x8a8], 7
mov dword [ebp - 0x8ac], 0
xor eax, eax
mov word [ebp - 0x8bc], ax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x934]
call fcn.00507a80
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69a2c]
test eax, eax
je 0x5098a6
push dword [ebp - 0x69a34]
lea ecx, [ebp - 0x69a2c]
push ecx
push dword [ebp - 0x69a28]
push eax
call fcn.00401f90
add esp, 0x10
mov ecx, dword [ebp - 0x69a24]
mov ebx, dword [ebp - 0x69a2c]
sub ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
jbe 0x509844
call fcn.00547c01
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x50987f
test bl, 0x1f
je 0x50985b
call fcn.00547c01
mov eax, dword [ebx - 4]
cmp eax, ebx
jb 0x509867
call fcn.00547c01
sub ebx, eax
cmp ebx, 4
jae 0x509873
call fcn.00547c01
cmp ebx, 0x23
jbe 0x50987d
call fcn.00547c01
mov ebx, eax
push ebx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x69a2c], 0
mov dword [ebp - 0x69a28], 0
mov dword [ebp - 0x69a24], 0
xor eax, eax
jmp 0x509fae
lea ecx, [ebp - 0x69a1c]
call fcn.005079b0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x964]
push eax
mov ecx, edi
call fcn.0042fb90
mov byte [ebp - 4], 9
push 9
push str.updater_
lea ecx, [ebp - 0x964]
call fcn.00406760
push str.gup.exe
lea eax, [ebp - 0x964]
push eax
lea eax, [ebp - 0x94c]
push eax
call fcn.00401e90
add esp, 0xc
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x8c4], 0
mov dword [ebp - 0x8c0], 0
mov dword [ebp - 0x8c0], 7
mov dword [ebp - 0x8c4], 0
xor eax, eax
mov word [ebp - 0x8d4], ax
push 2
push 0x5c4f90
lea ecx, [ebp - 0x8d4]
call fcn.00406c80
mov byte [ebp - 4], 0xb
push 4
push 0x5ae998
lea ecx, [ebp - 0x8d4]
call fcn.00406760
cmp dword [ebp - 0x938], 8
mov eax, dword [ebp - 0x94c]
jae 0x50996d
lea eax, [ebp - 0x94c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ebx, [eax - 1]
neg ebx
sbb ebx, ebx
inc ebx
mov byte [edi + 0x2bc], bl
cmp byte [ebp - 0x69a1d], 0
je 0x5099c8
push 0
lea ecx, [ebp - 0x20]
call fcn.004a3ef0
mov eax, dword [edi + 0x2b0]
mov ecx, dword [ebp - 0x20]
cmp ecx, eax
jne 0x5099b8
mov eax, dword [edi + 0x2b4]
mov ecx, dword [ebp - 0x1c]
cmp ecx, eax
jne 0x5099b8
mov eax, dword [ebp - 0x18]
cmp eax, dword [edi + 0x2b8]
setb al
test al, al
setne al
dec al
and byte [ebp - 0x69a1d], al
mov esi, dword [edi + 0x234d0]
lea ecx, [ebp - 0x9d4]
call fcn.00402c40
mov byte [ebp - 4], 0xc
push 1
lea eax, [ebp - 0x94c]
push eax
lea ecx, [ebp - 0x9d4]
call fcn.00406d80
cmp byte [ebp - 0x69a48], 0
je 0x509ade
test bl, bl
je 0x509ade
cmp esi, 7
jle 0x509ade
test al, al
je 0x509ade
mov al, byte [edi + 0x231e1]
test al, al
je 0x509a33
push 6
push str.__px64
lea ecx, [ebp - 0x8d4]
call fcn.00406760
cmp byte [ebp - 0x69a1d], 0
je 0x509ade
cmp dword [ebp - 0x950], 8
mov edx, dword [ebp - 0x964]
jae 0x509a55
lea edx, [ebp - 0x964]
cmp dword [ebp - 0x8c0], 8
mov ecx, dword [ebp - 0x8d4]
jae 0x509a6a
lea ecx, [ebp - 0x8d4]
cmp dword [ebp - 0x938], 8
mov eax, dword [ebp - 0x94c]
jae 0x509a7f
lea eax, [ebp - 0x94c]
push edx
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00481ab0
mov byte [ebp - 4], 0xd
push 0
lea ecx, [ebp - 0x70]
call fcn.004cdf20
mov eax, dword [edi + 0x2ac]
test eax, eax
jns 0x509aaa
neg eax
mov dword [edi + 0x2ac], eax
push dword [edi + 0x2ac]
lea ecx, [ebp - 0x20]
call fcn.004a3ef0
mov ecx, dword [eax]
mov dword [edi + 0x2b0], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 0x2b4], ecx
mov eax, dword [eax + 8]
mov dword [edi + 0x2b8], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x70]
call fcn.004825b0
mov dword [ebp - 0x69a70], 0
call fcn.00503b90
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x8a8], 8
mov eax, dword [ebp - 0x8bc]
jae 0x509b06
lea eax, [ebp - 0x8bc]
lea ecx, [ebp - 0x934]
push ecx
push eax
push 0
push dword [ebp - 0x69a4c]
lea ecx, [ebp - 0x69a1c]
call fcn.0047de10
cmp esi, 0xa
jge 0x509b2a
test esi, esi
jne 0x509b78
push 0x5c4bcc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x509b78
cmp dword [edi + 0x234d0], 0xa
jne 0x509b5a
push str.ChangeWindowMessageFilter
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x509b78
push 1
push 0x4a
call eax
jmp 0x509b78
push str.ChangeWindowMessageFilterEx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x509b78
push 0
push 1
push 0x4a
push dword [ebp - 0x69a10]
call eax
mov bl, 1
mov esi, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_DispatchMessageW]
test bl, bl
je 0x509c6d
push 0
push 0
push 0
lea eax, [ebp - 0x69a78]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
setne bl
test bl, bl
je 0x509c6d
lea eax, [ebp - 0x69a78]
push eax
lea ecx, [ebp - 0x69a1c]
call fcn.0047f190
test al, al
jne 0x509b86
lea eax, [ebp - 0x69a78]
push eax
push dword [ebp - 0x102c]
push dword [ebp - 0x69a10]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x509b86
lea eax, [ebp - 0x69a78]
push eax
call esi
lea eax, [ebp - 0x69a78]
push eax
call edi
jmp 0x509b86
mov dword [ebp - 4], 0xc
mov edi, dword [ebp - 0x69a70]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x9d4]
call fcn.0042c6c0
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x8c0]
cmp eax, 8
jb 0x509dff
inc eax
mov ecx, dword [ebp - 0x8d4]
cmp eax, 0x7fffffff
jbe 0x509dbb
call fcn.00547c01
push 0
push str.Runtime_Exception
mov ecx, dword [ebp - 0x69a54]
mov eax, dword [ecx]
call dword [eax + 4]
push eax
push dword [0x610148]
call dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [ebp - 0x69a1c]
push eax
call fcn.00507ef0
add esp, 4
mov eax, 0x509ce7
ret
add eax, eax
cmp eax, 0x1000
jb 0x509df6
test byte [ebp - 0x8d4], 0x1f
je 0x509dd2
call fcn.00547c01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x509dde
call fcn.00547c01
sub ecx, eax
cmp ecx, 4
jae 0x509dea
call fcn.00547c01
cmp ecx, 0x23
jbe 0x509df4
call fcn.00547c01
mov ecx, eax
push ecx
call fcn.0052bd72
add esp, 4
mov dword [ebp - 0x8c0], 7
mov dword [ebp - 0x8c4], 0
xor eax, eax
mov word [ebp - 0x8d4], ax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x938]
cmp eax, 8
jb 0x509e3e
inc eax
push eax
push dword [ebp - 0x94c]
lea ecx, [ebp - 0x94c]
call fcn.00407270
mov dword [ebp - 0x938], 7
mov dword [ebp - 0x93c], 0
xor eax, eax
mov word [ebp - 0x94c], ax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x950]
cmp eax, 8
jb 0x509e7d
inc eax
push eax
push dword [ebp - 0x964]
lea ecx, [ebp - 0x964]
call fcn.00407270
mov dword [ebp - 0x950], 7
mov dword [ebp - 0x954], 0
xor eax, eax
mov word [ebp - 0x964], ax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x9dc]
cmp eax, 8
jb 0x509ebc
inc eax
push eax
push dword [ebp - 0x9f0]
lea ecx, [ebp - 0x9f0]
call fcn.00407270
mov dword [ebp - 0x9dc], 7
mov dword [ebp - 0x9e0], 0
xor eax, eax
mov word [ebp - 0x9f0], ax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x69a0c]
call fcn.00465e70
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x8a8]
cmp eax, 8
jb 0x509f0a
inc eax
push eax
push dword [ebp - 0x8bc]
lea ecx, [ebp - 0x8bc]
call fcn.00407270
mov dword [ebp - 0x8a8], 7
mov dword [ebp - 0x8ac], 0
xor eax, eax
mov word [ebp - 0x8bc], ax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x934]
call fcn.00507a80
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69a2c]
test eax, eax
je 0x509fac
push dword [ebp - 0x69a34]
lea ecx, [ebp - 0x69a2c]
push ecx
push dword [ebp - 0x69a28]
push eax
call fcn.00401f90
add esp, 0x10
mov ecx, dword [ebp - 0x69a24]
mov esi, dword [ebp - 0x69a2c]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x69a2c]
call fcn.004072d0
mov dword [ebp - 0x69a2c], 0
mov dword [ebp - 0x69a28], 0
mov dword [ebp - 0x69a24], 0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0052c233
mov esp, ebp
pop ebp
ret 0x10