Function at 0x42a07d
Capabilities:
Create process on windows
Get common file path

Disassembly:
push 0x488
mov eax, 0x4ec8b4
call fcn.00495bb6
mov ebx, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x490], ecx
mov dword [ebp - 0x488], edi
cmp eax, 0xa3
je 0x42a165
cmp eax, 2
jne 0x42a0c9
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov dword [edi], 1
jmp 0x42a165
xor edi, edi
cmp eax, 0x10
jne 0x42a16f
push edi
lea eax, [ebp - 0x37c]
push str._tips
push eax
call fcn.00403cdb
mov ecx, eax
call fcn.0043045b
mov ecx, eax
mov dword [ebp - 4], edi
call fcn.0042fad9
push eax
push edi
call dword [sym.imp.USER32.dll_FindWindowW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x37c]
mov esi, eax
mov dword [ebp - 0x48c], esi
call fcn.0042f32e
test esi, esi
je 0x42a156
lea eax, [ebp - 0x490]
push eax
push esi
mov esi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call esi
lea eax, [ebp - 0x494]
mov ecx, ebx
push eax
call fcn.00439e99
push eax
call esi
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x494]
jne 0x42a156
push edi
push dword [ebp - 0x48c]
call dword [sym.imp.USER32.dll_EndDialog]
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov esi, dword [ebp - 0x488]
mov dword [esi], edi
xor eax, eax
call fcn.00495b60
ret 0x10
cmp eax, 0x113
je 0x42a165
cmp eax, 0x18
jne 0x42a191
mov esi, dword [ebp - 0x488]
push 1
push edi
mov dword [esi], edi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x42a163
cmp eax, 0x104
je 0x42a15d
cmp eax, 0x100
je 0x42a15d
cmp eax, 0x7e
jne 0x42a20d
push edi
push 0xf060
push 0x112
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
push 0x104
lea eax, [ebp - 0x258]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x44
pop esi
push esi
lea eax, [ebp - 0x2b8]
push edi
push eax
call fcn.00497890
add esp, 0xc
mov dword [ebp - 0x2b8], esi
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x2b8]
push eax
push edi
push edi
push 0x20
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
jmp 0x42a15d
cmp eax, 0x2e0
je 0x42a15d
cmp eax, 0x219
jne 0x42a5c0
mov eax, esi
sub eax, 7
je 0x42a5a4
sub eax, 0x7ff9
je 0x42a3fa
sub eax, 4
je 0x42a24f
push esi
push str.Message__d_n
call fcn.0042e448
pop ecx
jmp 0x42a5ba
push str.Message_DBT_DEVICEREMOVECOMPLETE_n
call fcn.0042e448
mov eax, dword [ebp - 0x490]
pop ecx
cmp dword [eax + 4], 5
jne 0x42a165
mov esi, dword [ebp - 0x488]
lea ecx, [ebp - 0x37c]
add eax, 0x1c
push 0xffffffffffffffff
push eax
mov dword [esi], 1
mov dword [ebp - 0x490], eax
call fcn.0042f1df
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x50]
push 0x5750
mov edi, str._04x
mov dword [ebp - 4], 3
push edi
push eax
call esi
push 0x483
lea eax, [ebp - 0x2b4]
push edi
push eax
call esi
add esp, 0x18
lea ecx, [ebp - 0x37c]
xor edi, edi
push edi
push 0x4fc56c
call fcn.0042f8e3
cmp eax, 0xffffffff
je 0x42a594
push edi
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x37c]
call fcn.0042f8e3
cmp eax, 0xffffffff
je 0x42a594
push edi
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x37c]
call fcn.0042f8e3
cmp eax, 0xffffffff
je 0x42a594
push edi
lea eax, [ebp - 0x400]
push str._tips
push eax
call fcn.00403cdb
mov ecx, eax
call fcn.0043045b
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0042fad9
push eax
push edi
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x488], esi
call fcn.0042f32e
test esi, esi
mov esi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
je 0x42a396
lea eax, [ebp - 0x48c]
push eax
push dword [ebp - 0x488]
call esi
lea eax, [ebp - 0x494]
mov ecx, ebx
push eax
call fcn.00439e99
push eax
call esi
mov eax, dword [ebp - 0x48c]
cmp eax, dword [ebp - 0x494]
jne 0x42a396
push edi
push dword [ebp - 0x488]
call dword [sym.imp.USER32.dll_EndDialog]
push str.MsgWnd
push edi
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
test esi, esi
je 0x42a3e4
lea eax, [ebp - 0x48c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [ebp - 0x494]
mov ecx, ebx
push eax
call fcn.00439e99
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x48c]
cmp eax, dword [ebp - 0x494]
jne 0x42a3e4
push edi
push edi
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
push dword [ebp - 0x490]
lea ecx, [ebx + 0x788]
call fcn.0040e8bf
jmp 0x42a594
push str.Message_DBT_DEVICEARRIVAL_n
call fcn.0042e448
mov eax, dword [ebp - 0x490]
pop ecx
cmp dword [eax + 4], 5
jne 0x42a165
mov esi, dword [ebp - 0x488]
lea ecx, [ebp - 0x37c]
push 0xffffffffffffffff
add eax, 0x1c
push eax
mov dword [esi], 1
call fcn.0042f1df
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x2b4]
push 0x5750
mov edi, str._04x
mov dword [ebp - 4], 1
push edi
push eax
call esi
push 0x483
lea eax, [ebp - 0x50]
push edi
push eax
call esi
add esp, 0x18
lea ecx, [ebp - 0x37c]
xor edi, edi
push edi
push 0x4fc56c
call fcn.0042f8e3
cmp eax, 0xffffffff
je 0x42a594
push edi
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x37c]
call fcn.0042f8e3
cmp eax, 0xffffffff
je 0x42a594
push edi
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x37c]
call fcn.0042f8e3
cmp eax, 0xffffffff
je 0x42a594
push edi
lea eax, [ebp - 0x400]
push str._tips
push eax
call fcn.00403cdb
mov ecx, eax
call fcn.0043045b
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.0042fad9
push eax
push edi
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x490], esi
call fcn.0042f32e
test esi, esi
mov esi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
je 0x42a53b
lea eax, [ebp - 0x48c]
push eax
push dword [ebp - 0x490]
call esi
lea eax, [ebp - 0x494]
mov ecx, ebx
push eax
call fcn.00439e99
push eax
call esi
mov eax, dword [ebp - 0x48c]
cmp eax, dword [ebp - 0x494]
jne 0x42a53b
push edi
push dword [ebp - 0x490]
call dword [sym.imp.USER32.dll_EndDialog]
push str.MsgWnd
push edi
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
test esi, esi
je 0x42a589
lea eax, [ebp - 0x48c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [ebp - 0x494]
mov ecx, ebx
push eax
call fcn.00439e99
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x48c]
cmp eax, dword [ebp - 0x494]
jne 0x42a589
push edi
push edi
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebx + 0x788]
call fcn.0040e90e
lea ecx, [ebp - 0x37c]
call fcn.0042f32e
jmp 0x42a165
push str.Message_DBT_DEVNODES_CHANGED_n
call fcn.0042e448
mov esi, dword [ebp - 0x488]
mov dword [esi], 1
pop ecx
jmp 0x42a165
cmp eax, 0x403
jne 0x42aa92
push 0xffffffffffffffff
push esi
lea ecx, [ebp - 0x2f8]
call fcn.0042f1df
push 0xffffffffffffffff
lea eax, [esi + 0x200]
mov dword [ebp - 4], 5
push eax
lea ecx, [ebp - 0x484]
call fcn.0042f1df
push 0xffffffffffffffff
lea eax, [esi + 0xa00]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x400]
call fcn.0042f1df
lea ecx, [ebx + 0x30]
mov byte [ebp - 4], 7
push esi
call fcn.0043286f
sub esp, 0x84
lea esi, [ebp - 0x2f8]
push 0x21
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push str.on_menu_click__s_n
call fcn.0042e448
add esp, 0x88
lea ecx, [ebp - 0x2f8]
xor edi, edi
push edi
push str.output_menu
call fcn.0042f8e3
test eax, eax
je 0x42aa48
push edi
push str.output_item
lea ecx, [ebp - 0x2f8]
call fcn.0042f8e3
test eax, eax
je 0x42aa48
push edi
push str.option_item_firmware_upgrade
lea ecx, [ebp - 0x2f8]
call fcn.0042f8e3
test eax, eax
jne 0x42a6b3
sub esp, 0x84
mov ecx, esp
push 0xffffffffffffffff
push 0x4f1880
call fcn.0042f1df
lea eax, [ebx + 0xdc90c]
push eax
push dword [ebx + 4]
call fcn.0042b281
add esp, 0x8c
jmp 0x42aa65
push edi
push str.option_item_reset_default
lea ecx, [ebp - 0x2f8]
call fcn.0042f8e3
test eax, eax
jne 0x42a6d8
lea ecx, [ebx + 0x788]
call fcn.00412360
jmp 0x42aa65
push edi
push str.option_item_about
lea ecx, [ebp - 0x2f8]
call fcn.0042f8e3
test eax, eax
jne 0x42a701
lea eax, [ebx + 0x9b0]
push eax
push dword [ebx + 4]
call fcn.0042afe0
jmp 0x42aa17
push str.option_item_language
lea ecx, [ebp - 0x2f8]
call fcn.0042f86a
test eax, eax
jne 0x42a822
push 0x208
lea eax, [ebp - 0x258]
push edi
push eax
call fcn.00497890
add esp, 0xc
lea eax, [ebp - 0x258]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x258]
push eax
push str._sconfig.ini
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0xffffffffffffffff
call fcn.00403cdb
mov ecx, eax
call fcn.0043044a
push eax
lea ecx, [ebp - 0x37c]
call fcn.0042f1df
mov esi, str.cn_zh
mov byte [ebp - 4], 8
push esi
lea ecx, [ebp - 0x37c]
call fcn.0042f86a
test eax, eax
jne 0x42a7b4
push str.change_language_to_en_n
call fcn.0042e448
mov dword [esp], 0x4f3628
call fcn.00403cdb
mov ecx, eax
call fcn.00430efa
lea eax, [ebp - 0x258]
push eax
push 0x4f6eb4
jmp 0x42a7d8
push str.change_language_to_cn_n
call fcn.0042e448
pop ecx
push esi
call fcn.00403cdb
mov ecx, eax
call fcn.00430efa
lea eax, [ebp - 0x258]
push eax
push 0x4fc750
push 0x4fbd54
push str.config
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 1
push edi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [ebx + 0x30]
call fcn.004364e2
push 0x4fc754
call fcn.0042e448
pop ecx
lea ecx, [ebx + 0x788]
call fcn.0041afc2
lea ecx, [ebp - 0x37c]
call fcn.0042f32e
jmp 0x42aa65
push edi
push str.scene_item_
lea ecx, [ebp - 0x2f8]
call fcn.0042f8e3
lea ecx, [ebp - 0x2f8]
test eax, eax
jne 0x42a944
push str.scene_item_load_scene
call fcn.0042f49a
test al, al
je 0x42a862
push dword [ebx + 4]
lea ecx, [ebx + 0x788]
call fcn.00410598
jmp 0x42aa65
push str.scene_item_saveas_scene
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a889
push dword [ebx + 4]
lea ecx, [ebx + 0x788]
call fcn.004123fd
jmp 0x42aa65
push str.scene_item_delete_scene
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a8b0
push dword [ebx + 4]
lea ecx, [ebx + 0x788]
call fcn.0040e7c8
jmp 0x42aa65
push str.scene_item_load_file
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a8d4
lea ecx, [ebx + 0x788]
call fcn.004105fa
jmp 0x42aa65
push str.scene_item_save_file
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a8f8
lea ecx, [ebx + 0x788]
call fcn.0041245f
jmp 0x42aa65
push str.scene_item_load_whole
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a91c
lea ecx, [ebx + 0x788]
call fcn.00410743
jmp 0x42aa65
push str.scene_item_save_whole
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42aa65
lea ecx, [ebx + 0x788]
call fcn.00412566
jmp 0x42aa65
push edi
push str.advance_item_
call fcn.0042f8e3
test eax, eax
jne 0x42aa65
cmp dword [0x538900], edi
je 0x42a9a3
push str.advance_item_autocal
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a9a3
lea esi, [ebx + 0x788]
push esi
push dword [ebx + 4]
call fcn.0042b054
pop ecx
pop ecx
cmp eax, 1
jne 0x42a9a3
push str.Auto_cal_finished__need_to_sync_data_from_dsp_again__n
call fcn.0042e448
pop ecx
mov ecx, esi
call fcn.0040e944
push edi
mov ecx, esi
call fcn.0040e14e
push str.advance_item_mixer
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a9c7
lea ecx, [ebx + 0x788]
call fcn.0041a87f
jmp 0x42aa65
push str.advance_item_noise_threshold
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42a9ec
lea eax, [ebx + 0x788]
push eax
push dword [ebx + 4]
call fcn.0042b199
jmp 0x42aa17
push str.advance_item_poweroff_delay
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42aa1b
cmp dword [0x538910], edi
je 0x42aa65
lea eax, [ebx + 0x788]
push eax
push dword [ebx + 4]
call fcn.0042b20d
pop ecx
pop ecx
jmp 0x42aa65
push str.advance_item_ktv
lea ecx, [ebp - 0x2f8]
call fcn.0042f49a
test al, al
je 0x42aa65
cmp dword [0x53890c], edi
je 0x42aa65
lea eax, [ebx + 0x788]
push eax
push dword [ebx + 4]
call fcn.0042b11a
jmp 0x42aa17
lea ecx, [ebp - 0x2f8]
call fcn.0042f4fb
push eax
push dword [ebx + 0xdd620]
lea ecx, [ebx + 0x788]
call fcn.00417fc3
mov esi, dword [ebp - 0x488]
lea ecx, [ebp - 0x400]
mov dword [esi], 1
call fcn.0042f32e
lea ecx, [ebp - 0x484]
call fcn.0042f32e
lea ecx, [ebp - 0x2f8]
jmp 0x42a59a
cmp eax, 0x4fa
jne 0x42aaf6
mov ecx, dword [ebx + 0xdd64c]
test ecx, ecx
je 0x42aab0
push 1
call fcn.00439a21
mov dword [ebx + 0xdd64c], edi
push 0x780
call fcn.00495470
pop ecx
mov dword [ebp - 0x48c], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x42aad5
mov ecx, eax
call fcn.0042345a
jmp 0x42aad7
mov eax, edi
or dword [ebp - 4], 0xffffffff
mov ecx, ebx
push eax
mov dword [ebx + 0xdd64c], eax
call fcn.00439e99
push eax
call fcn.0042783f
pop ecx
pop ecx
jmp 0x42a15d
cmp eax, 0x4fb
jne 0x42ab25
mov ecx, dword [ebx + 0xdd64c]
test ecx, ecx
je 0x42ab14
push 1
call fcn.00439a21
and dword [ebx + 0xdd64c], edi
mov esi, dword [ebp - 0x488]
mov dword [esi], 1
jmp 0x42a165
cmp eax, 0x4da
jne 0x42ab65
push 1
lea eax, [ebp - 0x264]
mov dword [ebp - 0x264], str._confirm
push eax
push str._device_connect_fail
push str._tips
push dword [ebx + 4]
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x25c], edi
call fcn.004053a9
add esp, 0x14
jmp 0x42a15d
cmp eax, 0x4dd
jne 0x42ab7c
lea ecx, [ebx + 0x788]
call fcn.0040e944
jmp 0x42a15d
cmp eax, 0x4db
jne 0x42ab93
lea ecx, [ebx + 0x788]
call fcn.0040e745
jmp 0x42a15d
cmp eax, 0x4d2
jne 0x42abac
push ecx
push esi
lea ecx, [ebx + 0x788]
call fcn.00410df0
jmp 0x42a15d
cmp eax, 0x4d3
jne 0x42abc5
push ecx
push esi
lea ecx, [ebx + 0x788]
call fcn.00411e68
jmp 0x42a15d
cmp eax, 0x4d5
jne 0x42abde
push ecx
push esi
lea ecx, [ebx + 0x788]
call fcn.00412211
jmp 0x42a15d
cmp eax, 0x4de
jne 0x42abf7
push ecx
push esi
lea ecx, [ebx + 0x788]
call fcn.00411dc8
jmp 0x42a15d
cmp eax, 0x4d7
jne 0x42ac5a
push 1
lea eax, [ebp - 0x264]
mov dword [ebp - 0x264], str._confirm
push eax
push str._device_status_unnormal
push str._tips
push dword [ebx + 4]
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x25c], edi
call fcn.004053a9
sub esp, 0x70
mov ecx, esp
push 0xffffffffffffffff
push 0x4f1880
call fcn.0042f1df
lea eax, [ebx + 0xdc90c]
push eax
push dword [ebx + 4]
call fcn.0042b281
add esp, 0x8c
jmp 0x42a15d
cmp eax, 0x4d8
jne 0x42acbd
mov ecx, dword [ebx + 0xdd64c]
test ecx, ecx
je 0x42ac78
push 1
call fcn.00439a21
mov dword [ebx + 0xdd64c], edi
push 1
lea eax, [ebp - 0x270]
mov dword [ebp - 0x270], str._confirm
push eax
push str._device_reboot
push str._tips
push dword [ebx + 4]
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x268], edi
call fcn.004053a9
add esp, 0x14
mov esi, dword [ebp - 0x488]
mov dword [esi], 1
jmp 0x42a163
cmp eax, 0x4e0
jne 0x42a15d
lea ecx, [ebx + 0x788]
call fcn.0040f558
jmp 0x42acac