Function at 0x428f70
Capabilities:
Check mutex on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x170
mov eax, dword [0x49803c]
mov ebx, edx
mov esi, ecx
xor eax, ebp
mov dword [esp + 0x168], eax
mov dword [ecx], edx
mov dword [ecx + 4], 2
mov dword [ecx + 8], 7
call fcn.0041e620
test al, al
je 0x429075
call fcn.0041e4d0
movsd xmm0, qword [0x49269e]
movsd xmm1, qword [0x4926a4]
lea edi, [esp + 0xa0]
mov ecx, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 7
movsd qword [edi], xmm0
movsd qword [edi + 6], xmm1
mov word [edi + 0xe], 0
push edi
call fcn.0041e660
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x1c], ebx
cmp ecx, 8
jb 0x42901c
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x42a550
push edx
push eax
call fcn.0045fd21
add esp, 8
mov edi, dword [ebp + 8]
mov eax, 7
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], eax
mov word [esp + 0x11c], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov ebx, eax
cmp eax, 7
ja 0x429091
mov ecx, ebx
lea eax, [esp + 0x11c]
add ecx, ebx
mov dword [eax + 0x10], ebx
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + ebx*2 + 0x11c], 0
jmp 0x4290b2
push 0x189
push str.ShowNotification
push str.System_is_not_compatible_with_WinToast
call fcn.00426ce0
add esp, 0xc
jmp 0x42947a
sub esp, 0xc
mov al, byte [esp + 0xac]
lea ecx, [esp + 0x128]
mov byte [esp + 4], al
mov dword [esp + 8], edi
mov dword [esp], ebx
call fcn.00424520
call fcn.0041e4d0
lea edx, [esp + 0x11c]
mov ecx, eax
push edx
call fcn.0041e6e0
call fcn.0041e4d0
mov dword [eax + 8], 1
call fcn.0041e4d0
mov ebx, eax
mov eax, dword [eax]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
lea eax, [esp + 0x64]
mov ecx, ebx
push eax
call edi
test al, al
je 0x4291f3
lea eax, [esp + 0x20]
mov dword [eax], 0
push eax
call fcn.0041d370
add esp, 4
test al, al
jne 0x429492
push 0x21a
push str.FirefoxInstallIsEnglish
push str.Failed_to_get_install_directory_when_getting_strings
call fcn.00426ce0
add esp, 0xc
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test eax, eax
je 0x42914a
push eax
call fcn.0045f40c
add esp, 4
xor ebx, ebx
xorps xmm0, xmm0
lea eax, [esp + 0x9c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], ebx
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [eax], ebx
push eax
call fcn.0041d370
add esp, 4
test al, al
jne 0x42954d
push 0x9a
push str.GetStrings
push str.Failed_to_get_install_directory_when_getting_strings
call fcn.00426ce0
add esp, 0xc
xor ebx, ebx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x9c], 0
test eax, eax
je 0x4291bc
push eax
call fcn.0045f40c
add esp, 4
test bl, bl
je 0x4292d6
xor eax, eax
push eax
push eax
push 1
push eax
call dword [sym.imp.kernel32.dll_CreateEventW]
mov ebx, eax
test eax, eax
je 0x42921f
cmp dword [esp + 0x1c], 0
je 0x429242
xor edx, edx
lea edi, [esp + 0xa0]
inc edx
mov ecx, edi
push 1
push str.FollowupNotificationShown
jmp 0x429255
push dword [esp + 0x64]
call fcn.0041e820
add esp, 4
cmp dword [eax + 0x14], 7
jbe 0x429207
mov eax, dword [eax]
push 0x194
push str.ShowNotification
push eax
call fcn.00426ce0
add esp, 0xc
jmp 0x42944d
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0x1a5
push str.ShowNotification
push str.Unable_to_create_event_object:__X
call fcn.00426ce0
add esp, 0x10
jmp 0x4292c7
xor edx, edx
lea edi, [esp + 0xa0]
inc edx
mov ecx, edi
push 1
push str.InitialNotificationShown
call fcn.0042b020
add esp, 8
mov eax, dword [edi]
test eax, eax
je 0x42927c
push 0x1b2
push str.ShowNotification
push str.Unable_to_set_notification_as_displayed
call fcn.00426ce0
add esp, 0xc
jmp 0x4292c7
lea eax, [esp + 0x68]
mov dword [eax], 0
push eax
call fcn.0041d370
add esp, 4
test al, al
jne 0x4299b6
push 0x1ba
push str.ShowNotification
push str.Failed_to_get_install_directory_for_the_image_path
call fcn.00426ce0
add esp, 0xc
mov eax, dword [esp + 0x68]
mov dword [esp + 0x68], 0
test eax, eax
je 0x4292c7
push eax
call fcn.0045f40c
add esp, 4
mov eax, ebx
inc eax
cmp eax, 2
jb 0x4292d6
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], 0
test eax, eax
je 0x4292ef
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], 0
test eax, eax
je 0x429308
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], 0
test eax, eax
je 0x429321
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], 0
test eax, eax
je 0x42933a
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x48], 0
test eax, eax
je 0x429353
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp + 0x44], 0
test eax, eax
je 0x42936c
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], 0
test eax, eax
je 0x429385
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], 0
test eax, eax
je 0x42939e
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], 0
test eax, eax
je 0x4293b7
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], 0
test eax, eax
je 0x4293d0
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test eax, eax
je 0x4293e9
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], 0
test eax, eax
je 0x429402
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], 0
test eax, eax
je 0x42941b
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], 0
test eax, eax
je 0x429434
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test eax, eax
je 0x42944d
push eax
call fcn.0045f40c
add esp, 4
mov ecx, dword [esp + 0x130]
cmp ecx, 8
jb 0x42947a
mov eax, dword [esp + 0x11c]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x42a56f
push edx
push eax
call fcn.0045fd21
add esp, 8
mov ecx, dword [esp + 0x168]
xor ecx, ebp
call fcn.0045fb40
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, str._slocale.ini
push dword [esp + 0x20]
push eax
call fcn.0041d4e0
add esp, 8
mov edi, eax
inc edi
xor ecx, ecx
mov dword [esp + 0xc], edi
dec ecx
add edi, edi
cmovb edi, ecx
push edi
call fcn.0045fd21
add esp, 4
mov ebx, eax
xor eax, eax
push edi
push eax
xor edi, edi
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esp + 0x20]
mov eax, str._slocale.ini
push eax
push 0xffffffffffffffff
push dword [esp + 0x18]
push ebx
call fcn.0041d540
add esp, 0x14
lea eax, [esp + 0x134]
mov dword [eax], edi
mov eax, 0x491f60
lea edi, [esp + 0xa0]
mov ecx, edi
push eax
mov dword [esp + 0x18], ebx
push ebx
mov ebx, 0x491f60
call fcn.004253e0
lea eax, [esp + 0x134]
mov ecx, edi
push eax
push ebx
call fcn.004254e0
mov ecx, edi
call fcn.00425870
test eax, eax
je 0x429778
push eax
push ebx
push ebx
push 0x8e
push str.GetString
push str.Unable_to_retrieve_INI_string:_section_S__key_S__result_d
call fcn.00426ce0
add esp, 0x18
xor ebx, ebx
jmp 0x42977a
mov eax, str._sdefaultagent.ini
push dword [esp + 0x9c]
push eax
call fcn.0041d4e0
add esp, 8
mov edi, eax
inc edi
xor ecx, ecx
mov dword [esp + 0x10], edi
dec ecx
add edi, edi
cmovb edi, ecx
push edi
call fcn.0045fd21
add esp, 4
push edi
push ebx
mov edi, eax
mov dword [esp + 0x1c], eax
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esp + 0x9c]
mov eax, str._sdefaultagent.ini
push eax
push 0xffffffffffffffff
push dword [esp + 0x1c]
push edi
call fcn.0041d540
add esp, 0x14
lea edi, [esp + 0xa0]
mov ecx, edi
push ebx
push dword [esp + 0x18]
call fcn.004253e0
lea eax, [esp + 0x20]
mov ebx, str.DefaultBrowserNotificationTitle
mov ecx, edi
push eax
push ebx
call fcn.004254e0
lea eax, [esp + 0x34]
mov ecx, edi
push eax
push ebx
call fcn.004254e0
lea eax, [esp + 0x24]
mov ebx, str.DefaultBrowserNotificationText
mov ecx, edi
push eax
push ebx
call fcn.004254e0
lea eax, [esp + 0x38]
mov ecx, edi
push eax
push ebx
call fcn.004254e0
lea eax, [esp + 0x28]
mov ecx, edi
push eax
push str.DefaultBrowserNotificationRemindMeLater
call fcn.004254e0
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
push str.DefaultBrowserNotificationDontShowAgain
call fcn.004254e0
lea eax, [esp + 0x2c]
mov ebx, str.DefaultBrowserNotificationMakeFirefoxDefault
mov ecx, edi
push eax
push ebx
call fcn.004254e0
lea eax, [esp + 0x40]
mov ecx, edi
push eax
push ebx
call fcn.004254e0
mov ecx, edi
call fcn.00425870
test eax, eax
je 0x429b1b
push eax
push 0xb8
push str.GetStrings
push str.Unable_to_read_English_strings:__d
call fcn.00426ce0
add esp, 0x10
xor ebx, ebx
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x4296b4
mov eax, dword [esp + 0xc8]
sub eax, ecx
cmp eax, 0x1000
jb 0x429693
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x429706
mov eax, dword [esp + 0xbc]
sub eax, ecx
cmp eax, 0x1000
jb 0x4296e5
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov edi, dword [esp + 0xa8]
test edi, edi
je 0x429967
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xac]
cmp edi, ebx
je 0x429747
mov eax, dword [edi]
mov dword [edi], 0
test eax, eax
je 0x429739
push eax
call fcn.0045f40c
add esp, 4
add edi, 4
cmp ebx, edi
jne 0x429724
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0x10]
sub eax, edi
cmp eax, 0x1000
jb 0x429944
mov ecx, dword [edi - 4]
add edi, 0xfffffffc
sub edi, ecx
cmp edi, 0x20
jae 0x42a619
add eax, 0x23
jmp 0x429946
mov bl, 1
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x4297cc
mov eax, dword [esp + 0xc8]
sub eax, ecx
cmp eax, 0x1000
jb 0x4297ab
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x42981e
mov eax, dword [esp + 0xbc]
sub eax, ecx
cmp eax, 0x1000
jb 0x4297fd
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov edi, dword [esp + 0xa8]
test edi, edi
je 0x4298a8
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xac]
cmp edi, ebx
je 0x42985b
mov eax, dword [edi]
mov dword [edi], 0
test eax, eax
je 0x42984d
push eax
call fcn.0045f40c
add esp, 4
add edi, 4
cmp ebx, edi
jne 0x429838
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc]
sub eax, edi
cmp eax, 0x1000
jb 0x429885
mov ecx, dword [edi - 4]
add edi, 0xfffffffc
sub edi, ecx
cmp edi, 0x20
jae 0x42a619
add eax, 0x23
jmp 0x429887
mov ecx, edi
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa4], 0
test eax, eax
je 0x4298c7
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa0], 0
test eax, eax
je 0x4298e6
push eax
call fcn.0045f40c
add esp, 4
test bl, bl
je 0x42990c
push 3
push 0x4943f8
push dword [esp + 0x13c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
sete al
mov dword [esp + 0xc], eax
jmp 0x429914
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x134]
mov dword [esp + 0x134], 0
test eax, eax
je 0x429933
push eax
call fcn.0045f40c
add esp, 4
push dword [esp + 0x14]
call fcn.0045f40c
add esp, 4
jmp 0x429131
mov ecx, edi
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa4], 0
test eax, eax
je 0x429986
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa0], 0
test eax, eax
je 0x4299a5
push eax
call fcn.0045f40c
add esp, 4
push dword [esp + 0x14]
call fcn.0045f40c
add esp, 4
jmp 0x42919d
cmp dword [esp + 0x1c], 0
mov eax, 0x10
mov ecx, 0x24
cmove ecx, eax
cmp byte [esp + 0xc], 0
mov eax, 0x38
cmovne eax, ecx
mov ecx, str._s_s
mov dword [esp + 0x14], eax
push dword [esp + eax + 0x20]
push dword [esp + 0x6c]
push ecx
call fcn.0041d4e0
add esp, 0xc
mov edi, eax
inc edi
xor ecx, ecx
mov dword [esp + 0x10], edi
dec ecx
add edi, edi
cmovb edi, ecx
push edi
call fcn.0045fd21
add esp, 4
xor ecx, ecx
push edi
mov edi, eax
push ecx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x14]
push dword [esp + eax + 0x20]
push dword [esp + 0x6c]
mov eax, str._s_s
push eax
push 0xffffffffffffffff
push dword [esp + 0x20]
push edi
call fcn.0041d540
add esp, 0x18
xor eax, eax
push eax
push 1
push eax
call dword [sym.imp.kernel32.dll_CreateMutexW]
test eax, eax
mov dword [0x498074], eax
je 0x429bfd
mov dword [esp + 0x14], edi
mov byte [0x498660], 0
mov dword [esp + 0x10], eax
push eax
call dword [sym.imp.kernel32.dll_ReleaseMutex]
test eax, eax
jne 0x429a88
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0x1d6
push str.ShowNotification
push str.Unable_to_release_mutex_ownership:__X
call fcn.00426ce0
add esp, 0x10
lea ecx, [esp + 0xa0]
push 1
call fcn.00422f90
mov ecx, dword [esp + 0x1c]
mov eax, 0x14
mov dword [esp + 0x144], 0
test ecx, ecx
cmove eax, ecx
cmp byte [esp + 0xc], 0
mov ecx, 0x28
cmovne ecx, eax
mov eax, 7
mov edi, dword [esp + ecx + 0x20]
mov dword [esp + 0x148], eax
mov word [esp + 0x134], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
cmp eax, 7
ja 0x429c20
lea ecx, [esp + 0x134]
mov edx, edi
mov edi, eax
mov dword [ecx + 0x10], eax
mov ecx, eax
add ecx, eax
push ecx
push edx
lea eax, [esp + 0x13c]
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov word [esp + edi*2 + 0x134], 0
jmp 0x429c41
mov eax, str._sdefaultagent_localized.ini
push dword [esp + 0x9c]
push eax
call fcn.0041d4e0
add esp, 8
mov edi, eax
mov eax, 0xffffffff
inc edi
mov dword [esp + 0x10], edi
add edi, edi
cmovb edi, eax
push edi
call fcn.0045fd21
add esp, 4
mov ebx, eax
xor eax, eax
push edi
push eax
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esp + 0x9c]
mov eax, str._sdefaultagent_localized.ini
push eax
push 0xffffffffffffffff
push dword [esp + 0x1c]
push ebx
call fcn.0041d540
add esp, 0x14
lea edi, [esp + 0x134]
xor eax, eax
mov ecx, edi
push eax
mov dword [esp + 0x1c], ebx
push ebx
call fcn.004253e0
lea eax, [esp + 0x48]
mov ecx, edi
push eax
push str.DefaultBrowserNotificationTitle
call fcn.004254e0
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
push str.DefaultBrowserNotificationText
call fcn.004254e0
lea eax, [esp + 0x50]
mov ecx, edi
push eax
push str.DefaultBrowserNotificationYesButtonText
call fcn.004254e0
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push str.DefaultBrowserNotificationNoButtonText
call fcn.004254e0
mov ecx, edi
call fcn.00425870
test eax, eax
je 0x42a0c1
push eax
push 0xcf
push str.GetStrings
push str.Unable_to_read_localized_strings:__d
call fcn.00426ce0
add esp, 0x10
xor ebx, ebx
jmp 0x42a346
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0x1c9
push str.ShowNotification
push str.Unable_to_create_mutex:__X
call fcn.00426ce0
add esp, 0x10
jmp 0x42a1af
sub esp, 0xc
mov cl, byte [esp + 0xa8]
mov byte [esp + 4], cl
lea ecx, [esp + 0x140]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00424520
lea ecx, [esp + 0xa0]
lea edi, [esp + 0x134]
push 0
push edi
call fcn.00423260
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x429c80
mov eax, dword [esp + 0x134]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x42a58e
push edx
push eax
call fcn.0045fd21
add esp, 8
cmp dword [esp + 0x1c], 0
mov eax, 4
mov ecx, 0x18
mov dword [esp + 0x144], 0
cmove ecx, eax
cmp byte [esp + 0xc], 0
mov eax, 0x2c
cmovne eax, ecx
mov edi, dword [esp + eax + 0x20]
mov eax, 7
mov dword [esp + 0x148], eax
mov word [esp + 0x134], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
cmp eax, 7
ja 0x429d03
mov ecx, eax
mov dword [esp + 0x144], eax
add ecx, eax
push ecx
push edi
lea edi, [esp + 0x13c]
push edi
mov dword [esp + 0x24], eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x18]
mov word [esp + eax*2 + 0x134], 0
jmp 0x429d2b
sub esp, 0xc
mov cl, byte [esp + 0xa8]
mov byte [esp + 4], cl
lea ecx, [esp + 0x140]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00424520
lea edi, [esp + 0x134]
lea ecx, [esp + 0xa0]
push 1
push edi
call fcn.00423260
mov ecx, dword [esp + 0x148]
cmp ecx, 8
jb 0x429d67
mov eax, dword [esp + 0x134]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x42a5a9
push edx
push eax
call fcn.0045fd21
add esp, 8
cmp dword [esp + 0x1c], 0
mov eax, 8
mov ecx, 0x1c
mov dword [esp + 0x144], 0
cmove ecx, eax
cmp byte [esp + 0xc], 0
mov eax, 0x30
cmovne eax, ecx
mov edi, dword [esp + eax + 0x20]
mov eax, 7
mov dword [esp + 0x148], eax
mov word [esp + 0x134], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
cmp eax, 7
ja 0x429dea
mov ecx, eax
mov dword [esp + 0x144], eax
add ecx, eax
push ecx
push edi
lea edi, [esp + 0x13c]
push edi
mov dword [esp + 0x24], eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x18]
mov word [esp + eax*2 + 0x134], 0
jmp 0x429e12
sub esp, 0xc
mov cl, byte [esp + 0xa8]
mov byte [esp + 4], cl
lea ecx, [esp + 0x140]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00424520
lea edi, [esp + 0x134]
lea ecx, [esp + 0xa0]
push edi
call fcn.00423370
mov ecx, dword [esp + 0x148]
cmp ecx, 8
jb 0x429e4c
mov eax, dword [esp + 0x134]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x42a5c4
push edx
push eax
call fcn.0045fd21
add esp, 8
cmp dword [esp + 0x1c], 0
mov eax, 0xc
mov ecx, 0x20
mov dword [esp + 0x144], 0
cmove ecx, eax
cmp byte [esp + 0xc], 0
mov eax, 0x34
cmovne eax, ecx
mov edi, dword [esp + eax + 0x20]
mov eax, 7
mov dword [esp + 0x148], eax
mov word [esp + 0x134], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
cmp eax, 7
ja 0x429ecf
mov ecx, eax
mov dword [esp + 0x144], eax
add ecx, eax
push ecx
push edi
lea edi, [esp + 0x13c]
push edi
mov dword [esp + 0x24], eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x18]
mov word [esp + eax*2 + 0x134], 0
jmp 0x429ef7
sub esp, 0xc
mov cl, byte [esp + 0xa8]
mov byte [esp + 4], cl
lea ecx, [esp + 0x140]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00424520
lea edi, [esp + 0x134]
lea ecx, [esp + 0xa0]
push edi
call fcn.00423370
mov ecx, dword [esp + 0x148]
mov edi, dword [esp + 0x14]
cmp ecx, 8
jb 0x429f35
mov eax, dword [esp + 0x134]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x42a5df
push edx
push eax
call fcn.0045fd21
add esp, 8
mov eax, 7
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], eax
mov word [esp + 0x134], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
cmp eax, 7
ja 0x429f95
mov ecx, eax
mov dword [esp + 0x144], eax
add ecx, eax
push ecx
push edi
lea edi, [esp + 0x13c]
push edi
mov dword [esp + 0x24], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov word [esp + eax*2 + 0x134], 0
jmp 0x429fbd
sub esp, 0xc
mov cl, byte [esp + 0xa8]
mov byte [esp + 4], cl
lea ecx, [esp + 0x140]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00424520
lea edi, [esp + 0x134]
lea ecx, [esp + 0xa0]
push edi
call fcn.004232f0
mov ecx, dword [esp + 0x148]
cmp ecx, 8
jb 0x429ff7
mov eax, dword [esp + 0x134]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x42a5fe
push edx
push eax
call fcn.0045fd21
add esp, 8
push 0x10
call fcn.0045fd21
add esp, 4
mov edi, eax
mov dword [eax], 0x4655f0
mov eax, dword [esp + 0x1c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0xc]
xor al, 1
mov byte [edi + 8], al
mov dword [edi + 0xc], ebx
call fcn.0041e4d0
mov ecx, dword [eax]
mov dword [esp + 0xc], eax
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x1c], ecx
call dword [section..00cfg]
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x64]
push eax
push edi
lea eax, [esp + 0xa8]
push eax
call dword [esp + 0x28]
test edx, edx
js 0x42a099
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
push 0x1b7740
push ebx
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x42a136
cmp eax, 0xffffffff
jne 0x42a1bd
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0x1ee
push str.ShowNotification
push str.Unable_to_wait_on_event_object:__X
call fcn.00426ce0
add esp, 0x10
jmp 0x42a14d
push dword [esp + 0x64]
call fcn.0041e820
add esp, 4
cmp dword [eax + 0x14], 7
jbe 0x42a0ad
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
push 0x1e7
push str.ShowNotification
push eax
jmp 0x42a188
lea edi, [esp + 0x68]
lea ebx, [esp + 0x30]
mov ecx, edi
push str.Nonlocalized
push dword [esp + 0x18]
call fcn.004253e0
mov ecx, edi
push ebx
push str.InitialToastRelativeImagePath
call fcn.004254e0
lea eax, [esp + 0x44]
mov ecx, edi
push eax
push str.FollowupToastRelativeImagePath
call fcn.004254e0
lea eax, [esp + 0x58]
mov ecx, edi
push eax
push str.LocalizedToastRelativeImagePath
call fcn.004254e0
mov ecx, edi
call fcn.00425870
test eax, eax
je 0x42a201
push eax
push 0xde
push str.GetStrings
push str.Unable_to_read_non_localized_strings:__d
call fcn.00426ce0
add esp, 0x10
xor ebx, ebx
jmp 0x42a203
push 0x1f0
push str.ShowNotification
push str.Timed_out_waiting_for_event_object
call fcn.00426ce0
add esp, 0xc
call fcn.0041e4d0
mov edi, eax
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x18], ecx
call dword [section..00cfg]
mov ecx, edi
push dword [esp + 0xc]
push dword [esp + 0x20]
call dword [esp + 0x20]
mov edi, dword [esp + 0x14]
test al, al
jne 0x42a190
push 0x20e
push str.ShowNotification
push str.Failed_to_hide_notification
call fcn.00426ce0
add esp, 0xc
lea ecx, [esp + 0xa0]
call fcn.00423170
mov ecx, dword [esp + 0x10]
mov eax, ecx
inc eax
cmp eax, 2
jb 0x42a1af
push ecx
call dword [sym.imp.kernel32.dll_CloseHandle]
push edi
call fcn.0045f40c
add esp, 4
jmp 0x4292ae
push 0x927c0
push dword [0x498074]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
je 0x42a4e9
cmp eax, 0x80
je 0x42a4c1
cmp eax, 0x102
jne 0x42a504
push 0x1f4
push str.ShowNotification
push str.Unable_to_obtain_mutex_ownership
jmp 0x42a145
mov bl, 1
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x42a255
mov eax, dword [esp + 0x90]
sub eax, ecx
cmp eax, 0x1000
jb 0x42a234
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x42a2a1
mov eax, dword [esp + 0x84]
sub eax, ecx
cmp eax, 0x1000
jb 0x42a283
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x70]
test edi, edi
je 0x42a314
mov eax, dword [esp + 0x74]
cmp edi, eax
mov dword [esp + 0x10], eax
je 0x42a2d7
mov eax, dword [edi]
mov dword [edi], 0
test eax, eax
je 0x42a2ca
push eax
call fcn.0045f40c
add esp, 4
add edi, 4
cmp dword [esp + 0x10], edi
jne 0x42a2b5
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x78]
sub eax, edi
cmp eax, 0x1000
jb 0x42a2fa
mov ecx, dword [edi - 4]
add edi, 0xfffffffc
sub edi, ecx
cmp edi, 0x20
jae 0x42a619
add eax, 0x23
jmp 0x42a2fc
mov ecx, edi
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x6c], 0
test eax, eax
je 0x42a32d
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x68]
mov dword [esp + 0x68], 0
test eax, eax
je 0x42a346
push eax
call fcn.0045f40c
add esp, 4
mov ecx, dword [esp + 0x154]
test ecx, ecx
je 0x42a398
mov eax, dword [esp + 0x15c]
sub eax, ecx
cmp eax, 0x1000
jb 0x42a377
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
je 0x42a3ea
mov eax, dword [esp + 0x150]
sub eax, ecx
cmp eax, 0x1000
jb 0x42a3c9
mov edx, dword [ecx - 4]
sub ecx, edx
add ecx, 0xfffffffc
cmp ecx, 0x20
jae 0x42a619
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], eax
mov edi, dword [esp + 0x13c]
test edi, edi
je 0x42a472
mov eax, dword [esp + 0x140]
cmp edi, eax
mov dword [esp + 0x10], eax
je 0x42a429
mov eax, dword [edi]
mov dword [edi], 0
test eax, eax
je 0x42a419
push eax
call fcn.0045f40c
add esp, 4
add edi, 4
cmp dword [esp + 0x10], edi
jne 0x42a404
mov edi, dword [esp + 0x13c]
mov eax, dword [esp + 0x144]
sub eax, edi
cmp eax, 0x1000
jb 0x42a44f
mov ecx, dword [edi - 4]
add edi, 0xfffffffc
sub edi, ecx
cmp edi, 0x20
jae 0x42a619
add eax, 0x23
jmp 0x42a451
mov ecx, edi
push eax
push ecx
call fcn.0045fd21
add esp, 8
xor eax, eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x138], 0
test eax, eax
je 0x42a491
push eax
call fcn.0045f40c
add esp, 4
mov eax, dword [esp + 0x134]
mov dword [esp + 0x134], 0
test eax, eax
je 0x42a4b0
push eax
call fcn.0045f40c
add esp, 4
push dword [esp + 0x18]
call fcn.0045f40c
add esp, 4
jmp 0x429662
push 0x1fa
push str.ShowNotification
push str.Found_abandoned_mutex
call fcn.00426ce0
add esp, 0xc
push dword [0x498074]
call dword [sym.imp.kernel32.dll_ReleaseMutex]
jmp 0x42a14d
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0x1f7
push str.ShowNotification
push str.Failed_to_wait_on_mutex:__X
jmp 0x42a08c
cmp byte [0x498660], 0
je 0x42a521
mov eax, dword [0x49865c]
movsd xmm0, qword [0x498654]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
push dword [0x498074]
call dword [sym.imp.kernel32.dll_ReleaseMutex]
test eax, eax
jne 0x42a14d
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push 0x208
push str.ShowNotification
push str.Unable_to_release_mutex_ownership:__X
jmp 0x42a08c
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x42a619
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x429012
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x42a619
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x429470
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x42a619
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x429c76
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x42a619
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x429d5d
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x42a619
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x429e42
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x42a619
mov edi, dword [esp + 0x14]
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x429f2b
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x42a619
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x429fed
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3