Function at 0x41bc00
Capabilities:
Get common file path
Hide graphical window
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a72e0
mov eax, dword fs:[0]
push eax
sub esp, 0x220
mov eax, dword [0x65b0c8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x34], eax
call fcn.00427580
push 0xa
push str.mb4uns.log
mov byte [ebp - 0x48], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x48]
call fcn.00423140
add esp, 0xc
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x88]
push eax
call fcn.00424f10
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x41bca1
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bc97
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dcbf
push edx
push ecx
call fcn.00573e00
add esp, 8
push 0xb0
lea eax, [ebp - 0x160]
push 0
push eax
call fcn.00577190
add esp, 0xc
mov dword [ebp - 0x160], 0x63b174
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x15c]
lea esi, [ebp - 0x88]
mov dword [ebp - 0xf8], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
cmovae esi, dword [ebp - 0x88]
lea ecx, [ebp - 0xf8]
push 0
push eax
mov dword [ebp - 0xfc], 0x60
call fcn.0040e390
mov eax, dword [ebp - 0x160]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x164], eax
lea ecx, [ebp - 0x15c]
call fcn.0040e2d0
push 0
push 0
lea ecx, [ebp - 0x15c]
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
call fcn.0040d180
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x15c]
call fcn.00420d10
test eax, eax
jne 0x41bd83
mov eax, dword [ebp - 0x160]
lea ecx, [ebp - 0x160]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004053d0
mov eax, dword [ebp - 0x160]
push 0xb0
push 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x164], eax
lea eax, [ebp - 0x210]
push eax
call fcn.00577190
add esp, 0xc
mov dword [ebp - 0x210], 0x63b174
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x20c]
lea esi, [ebp - 0x88]
mov dword [ebp - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
cmovae esi, dword [ebp - 0x88]
lea ecx, [ebp - 0x1a8]
push 0
push eax
mov dword [ebp - 0x1ac], 0x60
call fcn.00420ec0
mov eax, dword [ebp - 0x210]
push 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x214], eax
lea ecx, [ebp - 0x20c]
call fcn.00420bc0
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x20c]
call fcn.00420ad0
test eax, eax
jne 0x41be75
mov eax, dword [ebp - 0x210]
lea ecx, [ebp - 0x210]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004053d0
mov eax, dword [ebp - 0x210]
push 0
push 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x214], eax
mov eax, dword [0x663248]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x15c]
add ecx, 0x663248
mov dword [ecx + 0x38], eax
call fcn.004053d0
mov eax, dword [0x663180]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x20c]
add ecx, 0x663180
mov dword [ecx + 0x38], eax
call fcn.004053d0
push 0x663180
call fcn.004172d0
add esp, 4
mov edx, str._mb4uns_started_at
mov ecx, eax
call fcn.0041b300
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41bf0a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.00417e50
add esp, 4
mov edx, 0x63c4c0
mov ecx, eax
call fcn.0041b300
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41bf66
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bf5c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dcc4
push edx
push ecx
call fcn.00573e00
add esp, 8
mov edx, dword [0x6643bc]
mov ecx, 1
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x41bf95
push 0x104
mov ecx, 0x6643bc
call fcn.00404270
mov edx, dword [0x6643bc]
cmp dword [edx - 8], 0x104
jl 0x41dcc9
mov dword [edx - 0xc], 0x104
xor ecx, ecx
mov eax, dword [0x6643bc]
push 0x104
push edx
mov word [eax + 0x208], cx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov eax, dword [0x6643bc]
test eax, eax
jne 0x41bfd0
xor ecx, ecx
jmp 0x41bfeb
push dword [eax - 8]
push eax
call fcn.0057f290
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x41dcc9
mov eax, dword [0x6643bc]
cmp ecx, dword [eax - 8]
jg 0x41dcc9
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [0x6643bc]
mov word [eax + ecx*2], dx
push dword [0x6643bc]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c021
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63bb34
mov ecx, eax
call fcn.00416f60
push 0x73
mov ecx, eax
call fcn.00415590
mov edx, str.:_setting_working_directory_to_
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643bc]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c07f
push dword [edx - 0xc]
mov ecx, 0x6643bc
call fcn.00404160
mov edx, dword [0x6643bc]
mov ecx, esi
call fcn.0041b300
mov edx, 0x63c500
mov ecx, eax
call fcn.0041b300
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41c0d5
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c0cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dcd3
push edx
push ecx
call fcn.00573e00
add esp, 8
call fcn.00431ea0
xor eax, eax
mov dword [ebp - 0xa0], 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x9c], 7
mov word [ebp - 0xb0], ax
call fcn.0041de30
cmp dword [ebp - 0xa0], 0
je 0x41c35a
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xb0]
call fcn.004260e0
push eax
lea ecx, [ebp - 0x64]
call fcn.0042a260
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x41c161
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c157
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dcd8
push edx
push ecx
call fcn.00573e00
add esp, 8
mov ebx, dword [ebp - 0x50]
lea ecx, [ebp - 0x64]
mov edx, dword [ebp - 0x64]
lea edi, [ebp - 0x64]
mov eax, dword [ebp - 0x54]
cmp ebx, 8
cmovae ecx, edx
cmovae edi, edx
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x64]
mov esi, eax
cmovae ecx, edx
xor edx, edx
sub esi, ecx
inc esi
shr esi, 1
cmp ecx, eax
cmova esi, edx
test esi, esi
je 0x41c1b7
sub edi, ecx
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x41c1a3
cmp eax, 0x3a
jne 0x41c1a8
mov eax, 0x5f
mov word [edi + ecx], ax
inc edx
add ecx, 2
cmp edx, esi
jne 0x41c196
mov ebx, dword [ebp - 0x50]
cmp ebx, 8
lea eax, [ebp - 0x64]
cmovae eax, dword [ebp - 0x64]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test esi, esi
jne 0x41c2c5
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c1f1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_n_mb4uns_srcmb4unsmb4uns.cpp
mov ecx, eax
call fcn.00416f60
mov edx, 0x63bb34
mov ecx, eax
call fcn.00416f60
push 0x82
mov ecx, eax
call fcn.00415590
mov edx, 0x63ae50
mov ecx, eax
call fcn.00416f60
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.0041b300
push edi
mov ecx, eax
call fcn.0041b120
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41c288
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c27e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dcdd
push edx
push ecx
call fcn.00573e00
add esp, 8
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x41c35a
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c350
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dce2
jmp 0x41c350
cmp edi, 0xb7
jne 0x41c288
push 0x63c664
push 0x63d974
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
push 5
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
call esi
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push edi
call esi
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x41c346
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c33c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dce7
push edx
push ecx
call fcn.00573e00
add esp, 8
mov esi, 1
jmp 0x41dc73
push edx
push ecx
call fcn.00573e00
add esp, 8
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
sub esp, 0xc
call fcn.004259b0
push 0
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 1
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x94], 0
push eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x68], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x64
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
call fcn.00430da0
push 0x65
lea ecx, [ebp - 0x70]
call fcn.00430da0
push 0x66
lea ecx, [ebp - 0x6c]
call fcn.00430da0
mov dword [ebp - 4], 0
call fcn.004046a0
mov ecx, eax
test ecx, ecx
je 0x41dcec
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
lea esi, [eax + 0x10]
mov dword [ebp - 0x44], esi
call fcn.004346f0
mov ecx, dword [ebp - 0x14]
or edi, 0xffffffff
add ecx, 0xfffffff0
mov edx, dword [ecx + 4]
test edx, edx
je 0x41c475
lea ebx, [esi - 0x10]
cmp ecx, ebx
je 0x41c487
mov eax, dword [ebx + 0xc]
lea esi, [ebx + 0xc]
shr eax, 0x1f
test al, al
jne 0x41c46f
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x41c46f
call fcn.00425950
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 1
mov ecx, edi
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x41c467
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x30]
lea esi, [eax + 0x10]
mov dword [ebp - 0x44], esi
jmp 0x41c487
push edx
push dword [ebp - 0x14]
jmp 0x41c47c
push 7
push str.unknown
lea ecx, [ebp - 0x44]
call fcn.004257b0
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov dword [ebp - 4], 2
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c4a8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ebx, [esi - 0x10]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebx + 4], 0
je 0x41c597
mov dword [ebp - 4], 3
call fcn.004046a0
mov ecx, eax
test ecx, ecx
je 0x41dcf6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
push esi
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push str.MBAMs_UI_language_is_set_to__s__attempt_to_set_our_UI_language_to_match
push eax
call fcn.004205e0
mov esi, dword [ebp - 0x14]
add esp, 0xc
mov edx, 0xa9
mov ecx, 0x63c550
push esi
call fcn.0042bc90
mov ecx, dword [ebx]
mov dword [ebp - 0x14], esp
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, eax
lea eax, [ebx + 0xc]
shr ecx, 0x1f
test cl, cl
jne 0x41c52b
cmp edx, dword [ebx]
jne 0x41c52b
lock inc dword [eax]
jmp 0x41c560
mov eax, dword [edx]
mov ecx, edx
push 2
push dword [ebx + 4]
call dword [eax]
mov ecx, eax
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x41dd00
mov eax, dword [ebx + 4]
mov dword [ecx + 4], eax
lea eax, [ebx + 0x10]
mov edx, dword [ebx + 4]
add ecx, 0x10
inc edx
push edx
push eax
call fcn.004040d0
mov ebx, dword [ebp - 0x30]
add esp, 8
mov ecx, dword [ebp - 0x14]
lea eax, [ebx + 0x10]
mov dword [ecx], eax
call fcn.00431ca0
add esp, 4
add esi, 0xfffffff0
mov dword [ebp - 4], 4
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41c58e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
jmp 0x41c5ae
push str.unable_to_get_MBAMs_UI_language
mov edx, 0xae
mov ecx, 0x63c550
call fcn.0042bc90
add esp, 4
call fcn.0058535f
cmp dword [eax], 1
jle 0x41c765
mov ebx, 1
mov byte [ebp - 0x211], 0
mov dword [ebp - 0x30], ebx
call fcn.0058535f
cmp dword [eax], ebx
jle 0x41c765
nop dword [eax + eax]
mov dword [ebp - 0x14], 0
call fcn.00585365
lea ecx, [ebp - 0x14]
mov eax, dword [eax]
push dword [eax + ebx*4]
call fcn.004258a0
cmp byte [ebp - 0x211], 0
je 0x41c67f
mov edi, dword [ebp - 0x14]
push ecx
mov dword [ebp - 0x3c], esp
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [edi - 4]
mov edx, eax
lea eax, [edi - 4]
shr ecx, 0x1f
test cl, cl
jne 0x41c62d
cmp edx, dword [edi - 0x10]
jne 0x41c62d
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x41c65d
mov eax, dword [edx]
mov ecx, edx
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x41dd00
mov ecx, dword [edi - 0xc]
mov edx, edi
mov dword [ebx + 4], ecx
lea ecx, [ebx + 0x10]
mov esi, dword [edi - 0xc]
inc esi
push esi
push edx
mov edx, esi
call fcn.004040d0
add esp, 8
mov ecx, dword [ebp - 0x3c]
lea eax, [ebx + 0x10]
mov dword [ecx], eax
call fcn.00431ca0
mov ebx, dword [ebp - 0x30]
add esp, 4
mov byte [ebp - 0x211], 0
or edi, 0xffffffff
jmp 0x41c72c
push str._useDevEndpoints
push dword [ebp - 0x14]
call fcn.0058536b
add esp, 8
test eax, eax
jne 0x41c69f
mov byte [0x66431d], 1
jmp 0x41c72c
push str._langcode
push dword [ebp - 0x14]
call fcn.0058536b
add esp, 8
test eax, eax
jne 0x41c6bc
mov byte [ebp - 0x211], 1
jmp 0x41c72c
mov dword [ebp - 4], 5
call fcn.004046a0
mov ecx, eax
test ecx, ecx
je 0x41dcec
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push str.unknown_command_line_argument__s
push eax
call fcn.004205e0
mov esi, dword [ebp - 0x30]
add esp, 0xc
mov edx, 0xc9
mov ecx, 0x63c550
push esi
call fcn.0042bc90
add esp, 4
add esi, 0xfffffff0
mov dword [ebp - 4], 6
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41c72c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov dword [ebp - 4], 7
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c74d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
inc ebx
mov dword [ebp - 0x30], ebx
call fcn.0058535f
cmp ebx, dword [eax]
jl 0x41c5e0
lea ecx, [ebp - 0x30]
call fcn.0041e010
mov esi, dword [0x6643c0]
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41c7cf
mov eax, dword [esi + 0xc]
lea ebx, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x41c7c1
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x41c7c1
call fcn.00425950
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 8
mov ecx, edi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x41c7b7
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3c]
add eax, 0x10
mov dword [0x6643c0], eax
jmp 0x41c7cf
push dword [edx - 0xc]
mov ecx, 0x6643c0
push edx
call fcn.004257b0
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov dword [ebp - 4], 9
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c7f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xa
call fcn.004046a0
mov ecx, eax
test ecx, ecx
je 0x41dd05
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x5c], vtable.InstalledProducts.0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
call fcn.0044a650
push 1
lea ecx, [ebp - 0x5c]
call fcn.0044a650
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0044b100
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x2c]
jb 0x41c86f
mov edx, dword [ebp - 0x2c]
test edx, edx
jne 0x41c86f
xor ecx, ecx
jmp 0x41c883
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c874
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.004257b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x5c], vtable.InstalledProducts.0
call fcn.0044b3d0
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x41c8d6
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c8cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd0f
push edx
push ecx
call fcn.00573e00
add esp, 8
mov eax, dword [ebp - 0x30]
mov ebx, dword [0x6643c4]
add ebx, 0xfffffff0
lea esi, [eax - 0x10]
cmp esi, ebx
je 0x41c93b
mov ecx, dword [ebx + 0xc]
shr ecx, 0x1f
test cl, cl
jne 0x41c92d
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x41c92d
mov ecx, esi
call fcn.00425950
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0xb
lea edx, [ebx + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41c923
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3c]
add eax, 0x10
mov dword [0x6643c4], eax
jmp 0x41c93b
push dword [eax - 0xc]
mov ecx, 0x6643c4
push eax
call fcn.004257b0
mov dword [ebp - 4], 0xc
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41c956
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
call fcn.004046a0
mov ecx, eax
test ecx, ecx
je 0x41dd14
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov eax, str.mbuns.exe
mov dword [ebp - 0x14], esi
test eax, 0xffff0000
jne 0x41c991
movzx eax, ax
lea ecx, [ebp - 0x14]
push eax
call fcn.00412590
jmp 0x41c9f9
push 0
push 0
push 0xffffffffffffffff
push str.mbuns.exe
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ebx, [eax - 1]
test ebx, ebx
jle 0x41c9f1
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, ebx
or eax, ecx
jge 0x41c9ca
push ebx
lea ecx, [ebp - 0x14]
call fcn.00404270
mov esi, dword [ebp - 0x14]
push ebx
push esi
push 0xffffffffffffffff
push str.mbuns.exe
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp ebx, dword [esi - 8]
jg 0x41dcc9
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi + ebx*2], ax
jmp 0x41c9fc
lea ecx, [ebp - 0x14]
call fcn.004256f0
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x30]
call fcn.0041f1b0
mov ebx, dword [0x6643c8]
add esp, 4
add ebx, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, ebx
je 0x41ca6d
mov eax, dword [ebx + 0xc]
shr eax, 0x1f
test al, al
jne 0x41ca5f
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x41ca5f
call fcn.00425950
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0xd
lea edx, [ebx + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41ca55
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3c]
add eax, 0x10
mov dword [0x6643c8], eax
jmp 0x41ca6d
push dword [edx - 0xc]
mov ecx, 0x6643c8
push edx
call fcn.004257b0
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xe
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ca8e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xf
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x41caaa
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
call fcn.0041e3f0
call fcn.0041ed20
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41cace
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xd9
mov ecx, eax
call fcn.00415590
mov edx, str.:_version_4.0.0.67
mov ecx, eax
call fcn.0041b300
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41cb51
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cb47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd1e
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41cb64
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xda
mov ecx, eax
call fcn.00415590
mov edx, 0x63c818
mov ecx, eax
call fcn.0041b300
mov edx, dword [ebp - 0x34]
mov ecx, eax
call fcn.0041b300
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41cbfd
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cbf3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd23
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41cc10
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xdb
mov ecx, eax
call fcn.00415590
mov edx, str.:_Program_Data_path________
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643c0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41cc71
push dword [edx - 0xc]
mov ecx, 0x6643c0
call fcn.00404160
mov edx, dword [0x6643c0]
mov ecx, esi
call fcn.0041b300
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41ccc7
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ccbd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd28
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41ccda
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xdc
mov ecx, eax
call fcn.00415590
mov edx, str.:_MB4_install_path_________
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643c4]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41cd3b
push dword [edx - 0xc]
mov ecx, 0x6643c4
call fcn.00404160
mov edx, dword [0x6643c4]
mov ecx, esi
call fcn.0041b300
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41cd91
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cd87
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd2d
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41cda4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe1
mov ecx, eax
call fcn.00415590
mov edx, str.:_initial_license_state____
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643dc]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41ce05
push dword [edx - 0xc]
mov ecx, 0x6643dc
call fcn.00416a10
mov edx, dword [0x6643dc]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41ce5b
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ce51
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd32
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41ce6e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe2
mov ecx, eax
call fcn.00415590
mov edx, str.:_entitlement_end_date_____
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643e0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41cecf
push dword [edx - 0xc]
mov ecx, 0x6643e0
call fcn.00416a10
mov edx, dword [0x6643e0]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41cf25
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cf1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd37
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41cf38
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe3
mov ecx, eax
call fcn.00415590
mov edx, str.:_entitlement_term_type____
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643e4]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41cf99
push dword [edx - 0xc]
mov ecx, 0x6643e4
call fcn.00416a10
mov edx, dword [0x6643e4]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41cfef
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cfe5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd3c
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d002
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe4
mov ecx, eax
call fcn.00415590
mov edx, str.:_trial_end_date___________
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643e8]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d063
push dword [edx - 0xc]
mov ecx, 0x6643e8
call fcn.00416a10
mov edx, dword [0x6643e8]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d0b9
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d0af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd41
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d0cc
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe5
mov ecx, eax
call fcn.00415590
mov edx, str.:_trial_status_____________
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643ec]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d12d
push dword [edx - 0xc]
mov ecx, 0x6643ec
call fcn.00416a10
mov edx, dword [0x6643ec]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d183
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d179
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd46
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d196
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe6
mov ecx, eax
call fcn.00415590
mov edx, str.:_controllers_version______
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643f0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d1f7
push dword [edx - 0xc]
mov ecx, 0x6643f0
call fcn.00416a10
mov edx, dword [0x6643f0]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d24d
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d243
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd4b
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d260
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe7
mov ecx, eax
call fcn.00415590
mov edx, str.:_database_version_________
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643f4]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d2c1
push dword [edx - 0xc]
mov ecx, 0x6643f4
call fcn.00416a10
mov edx, dword [0x6643f4]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d317
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d30d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd50
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d32a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe8
mov ecx, eax
call fcn.00415590
mov edx, str.:_product_code_____________
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643f8]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d38b
push dword [edx - 0xc]
mov ecx, 0x6643f8
call fcn.00416a10
mov edx, dword [0x6643f8]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d3e1
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d3d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd55
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d3f4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xe9
mov ecx, eax
call fcn.00415590
mov edx, str.:_parent_pathname__________
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643cc]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d455
push dword [edx - 0xc]
mov ecx, 0x6643cc
call fcn.00416a10
mov edx, dword [0x6643cc]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d4ab
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d4a1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd5a
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d4be
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0xea
mov ecx, eax
call fcn.00415590
mov edx, str.:_parent_signer_name_______
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643d0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d51f
push dword [edx - 0xc]
mov ecx, 0x6643d0
call fcn.00416a10
mov edx, dword [0x6643d0]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d575
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d56b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd5f
push edx
push ecx
call fcn.00573e00
add esp, 8
mov dword [ebp - 0x4c], 0
call fcn.00432c30
test al, al
je 0x41d5ab
push str.the_support_tool_is_uninstalling_us__skipping_the_UI_and_calling_the_uninstaller
mov edx, 0xf2
mov ecx, 0x63c550
call fcn.0042bc90
add esp, 4
lea ecx, [ebp - 0x4c]
mov dl, 1
call fcn.00432ec0
jmp 0x41dbe6
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.00416dd0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.00416dd0
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x2c]
mov eax, dword [0x664320]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
push 6
push str.source
sub eax, 1
je 0x41d6ad
sub eax, 1
je 0x41d662
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
push 5
push str.other
mov ecx, eax
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41d700
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d6f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd64
jmp 0x41d6f6
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
push 0x11
push str.power_uninstaller
mov ecx, eax
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41d700
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d6f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd69
jmp 0x41d6f6
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
push 0xa
push str.competitor
mov ecx, eax
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41d700
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d6f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd6e
push edx
push ecx
call fcn.00573e00
add esp, 8
call fcn.00434410
test al, al
mov dword [ebp - 0x1c], 0
mov ecx, str.free_or_trial
mov dword [ebp - 0x18], 0xf
mov esi, str.premium
mov byte [ebp - 0x2c], 0
push 7
cmove esi, ecx
lea ecx, [ebp - 0x2c]
push str.content
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
mov edx, esi
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x41d746
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41d78c
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d782
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd73
push edx
push ecx
call fcn.00573e00
add esp, 8
mov esi, dword [0x6643d0]
lea ecx, [ebp - 0x2c]
push 0x13
push str.callerSignatureName
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
mov edx, esi
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x41d7c4
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41d80a
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d800
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd78
push edx
push ecx
call fcn.00573e00
add esp, 8
mov esi, dword [0x6643cc]
lea ecx, [ebp - 0x2c]
push 0x11
push str.callerApplication
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
mov edx, esi
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x41d842
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41d888
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d87e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd7d
push edx
push ecx
call fcn.00573e00
add esp, 8
lea eax, [ebp - 0x40]
mov ecx, str.Open_UninstallRetentionApp
push eax
lea edx, [ebp - 0x38]
call fcn.00433070
add esp, 4
call fcn.0042c330
call fcn.0041e3f0
lea ecx, [ebp - 0x2c]
call fcn.0044a3e0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41d8b9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x663180
call fcn.00417e50
add esp, 4
mov edx, 0x63c550
mov ecx, eax
call fcn.0041b300
mov edx, 0x63d970
mov ecx, eax
call fcn.0041b300
push 0x118
mov ecx, eax
call fcn.00415590
mov edx, str.:_final_license_state__
mov ecx, eax
call fcn.0041b300
mov edx, dword [0x6643dc]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41d91a
push dword [edx - 0xc]
mov ecx, 0x6643dc
call fcn.00416a10
mov edx, dword [0x6643dc]
mov ecx, esi
call fcn.00416f60
mov edx, 0x63c814
mov ecx, eax
call fcn.00416f60
push eax
call fcn.004172d0
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41d970
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d966
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd82
push edx
push ecx
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.00416c00
lea ecx, [ebp - 0x40]
call fcn.00416c00
mov esi, dword [0x664404]
lea ecx, [ebp - 0x2c]
push 6
push str.source
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
mov edx, esi
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x41d9b8
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41d9fe
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d9f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd87
push edx
push ecx
call fcn.00573e00
add esp, 8
mov esi, dword [0x664400]
lea ecx, [ebp - 0x2c]
push 0xf
push str.lastScreenShown
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
mov edx, esi
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x41da36
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41da7c
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41da72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd8c
push edx
push ecx
call fcn.00573e00
add esp, 8
cmp byte [0x66431c], 0
lea ecx, [ebp - 0x2c]
push 8
mov eax, str.false
mov dword [ebp - 0x1c], 0
mov esi, str.true
mov dword [ebp - 0x18], 0xf
push str.retained
cmove esi, eax
mov byte [ebp - 0x2c], 0
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
mov edx, esi
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x41dac2
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41db08
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41dafe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd91
push edx
push ecx
call fcn.00573e00
add esp, 8
mov esi, dword [0x664408]
cmp dword [esi - 0xc], 0
je 0x41db96
push 8
push str.campaign
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040cec0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00415220
mov edx, esi
lea edi, [edx + 1]
nop word [eax + eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x41db50
sub edx, edi
mov ecx, eax
push edx
push esi
call fcn.0040cec0
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x41db96
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41db8c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dd96
push edx
push ecx
call fcn.00573e00
add esp, 8
lea eax, [ebp - 0x40]
mov ecx, str.Close_UninstallRetentionApp
push eax
lea edx, [ebp - 0x38]
call fcn.00433070
add esp, 4
mov edx, 0x12e
mov ecx, 0x63c550
push str.quitting_mb4uns
call fcn.0042bc90
add esp, 4
lea ecx, [ebp - 0x40]
call fcn.00416c00
push 0x40
push dword [ebp - 0x40]
call fcn.00573e00
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.00416c00
lea ecx, [ebp - 0x38]
call fcn.00415f20
push dword [ebp - 0x68]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, str._mb4uns_finished_at
mov ecx, 0x663180
call fcn.0041b300
lea ecx, [ebp - 0x22c]
mov esi, eax
call fcn.0044a3e0
mov edx, eax
mov ecx, esi
call fcn.00416f40
mov edx, 0x63ccf0
mov ecx, eax
call fcn.0041b300
push dword [ebp - 0x4c]
mov ecx, eax
call fcn.00415590
mov edx, 0x63cce0
mov ecx, eax
call fcn.0041b300
push eax
call fcn.004172d0
add esp, 4
lea ecx, [ebp - 0x22c]
call fcn.00419180
mov esi, dword [ebp - 0x4c]
lea ecx, [ebp - 0x44]
call fcn.00404360
lea ecx, [ebp - 0x6c]
call fcn.00430d80
lea ecx, [ebp - 0x70]
call fcn.00430d80
lea ecx, [ebp - 0x48]
call fcn.00430d80
lea ecx, [ebp - 0xb0]
call fcn.00419180
lea ecx, [ebp - 0x210]
call fcn.0041dda0
lea ecx, [ebp - 0x160]
call fcn.00407720
lea ecx, [ebp - 0x88]
call fcn.00419180
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0057389e
mov esp, ebp
pop ebp
ret 0x10
call fcn.0057f5fe
call fcn.0057f5fe
push 0x80070057
call fcn.004043d0
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
push 0x80004005
call fcn.004043d0
push 0x80004005
call fcn.004043d0
call fcn.00404220
push 0x80004005
call fcn.004043d0
call fcn.0057f5fe
push 0x80004005
call fcn.004043d0
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
call fcn.0057f5fe
int3