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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x480420
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x230
mov eax, dword [0x4a1500]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x228], eax
xorps xmm0, xmm0
xor eax, eax
mov dword [ebp - 0x48], 0
push eax
movups xmmword [ebp - 0x58], xmm0
push 0x105
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00429070
cmp dword [ebp - 0x44], 7
lea eax, [ebp - 0x58]
cmova eax, dword [ebp - 0x58]
push eax
call fcn.0045100a
push 0
push eax
lea ecx, [ebp - 0x58]
mov esi, edx
call fcn.00429070
cmp esi, 0xffffffff
jne 0x40f7ab
mov esi, 0x14
mov dword [ebp - 0x38], 0x4a1fc8
mov dword [ebp - 0x64], 0x4a1fc8
jmp 0x40f7b9
mov dword [ebp - 0x38], 0x4a1fd0
mov dword [ebp - 0x64], 0x4a1fd0
mov dword [ebp - 0x3c], esi
test esi, esi
jne 0x41155f
push 0xa
push str.mb5uns.log
mov byte [ebp - 0x38], 0
lea ecx, [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.0041e700
add esp, 0xc
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x58]
push eax
call fcn.00425f90
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x40f823
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f819
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41156b
push ecx
push edx
call fcn.00452718
add esp, 8
push 0xac
lea eax, [ebp - 0x164]
push 0
push eax
call fcn.00454a10
add esp, 0xc
mov dword [ebp - 0x168], 0x4913e8
cmp dword [ebp - 0x44], 7
lea esi, [ebp - 0x58]
lea ecx, [ebp - 0x100]
cmova esi, dword [ebp - 0x58]
call fcn.00415c40
mov eax, dword [ebp - 0x168]
push 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x168]
mov eax, dword [ebp - 0x168]
add ecx, dword [eax + 4]
lea eax, [ebp - 0x164]
push eax
call fcn.00415d80
mov eax, dword [ebp - 0x168]
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 - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x164]
call fcn.00415b90
cmp dword [ebp - 0x118], 0
jne 0x40f93e
push 0x40
push 0xa
push esi
call fcn.004513af
add esp, 0xc
test eax, eax
je 0x40f93e
push 1
push eax
lea ecx, [ebp - 0x164]
call fcn.00415940
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x38], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x3c]
push eax
call fcn.00416490
add esp, 4
lea ecx, [ebp - 0x164]
push eax
call fcn.004155f0
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x40f967
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x40f967
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
jmp 0x40f967
mov eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x168]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.0040bfb0
mov eax, dword [ebp - 0x168]
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 - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea eax, [ebp - 0x218]
push eax
call fcn.00454a10
cmp dword [ebp - 0x44], 7
lea eax, [ebp - 0x58]
lea ecx, [ebp - 0x218]
cmova eax, dword [ebp - 0x58]
push eax
call fcn.004175f0
mov eax, dword [ebp - 0x218]
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 - 0x218]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x21c], eax
mov eax, dword [0x4a4c80]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x164]
add ecx, 0x4a4c80
mov dword [ecx + 0x38], eax
call fcn.0040bfb0
mov eax, dword [0x4a4ad0]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x214]
add ecx, 0x4a4ad0
mov dword [ecx + 0x38], eax
call fcn.0040bfb0
push 0x4a4ad0
call fcn.00409b50
add esp, 4
mov edx, str._mb5uns_started_at
mov ecx, eax
call fcn.0040ec10
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x40fa4d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.0040ab60
add esp, 4
mov edx, 0x48f9cc
mov ecx, eax
call fcn.0040ec10
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x40faa9
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fa9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411570
push ecx
push edx
call fcn.00452718
add esp, 8
mov edx, dword [0x4a5c38]
mov ecx, 1
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x40fad8
push 0x104
mov ecx, 0x4a5c38
call fcn.00403930
mov edx, dword [0x4a5c38]
cmp dword [edx - 8], 0x104
jl 0x4115ac
mov dword [edx - 0xc], 0x104
xor ecx, ecx
mov eax, dword [0x4a5c38]
push 0x104
push edx
mov word [eax + 0x208], cx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov eax, dword [0x4a5c38]
test eax, eax
jne 0x40fb13
xor ecx, ecx
jmp 0x40fb2e
push dword [eax - 8]
push eax
call fcn.0045e0b5
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x4115ac
mov eax, dword [0x4a5c38]
cmp ecx, dword [eax - 8]
jg 0x4115ac
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [0x4a5c38]
mov word [eax + ecx*2], dx
push dword [0x4a5c38]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x40fb64
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x48f0d4
mov ecx, eax
call fcn.004097d0
push 0x70
mov ecx, eax
call fcn.00407bb0
mov edx, 0x48fa10
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c38]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x40fbc2
push dword [edx - 0xc]
mov ecx, 0x4a5c38
call fcn.00403820
mov edx, dword [0x4a5c38]
mov ecx, esi
call fcn.0040ec10
mov edx, 0x48fa0c
mov ecx, eax
call fcn.0040ec10
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x40fc18
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fc0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411575
push ecx
push edx
call fcn.00452718
add esp, 8
call fcn.00434ac0
xorps xmm0, xmm0
mov dword [ebp - 0x98], 0
xor eax, eax
mov dword [ebp - 0x94], 7
movups xmmword [ebp - 0xa8], xmm0
lea ecx, [ebp - 0xa8]
mov word [ebp - 0xa8], ax
call fcn.00411620
cmp dword [ebp - 0x98], 0
je 0x40fe9c
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00428960
push eax
lea ecx, [ebp - 0x80]
call fcn.00429e20
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x40fcae
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fca4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41157a
push ecx
push edx
call fcn.00452718
add esp, 8
mov edi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x80]
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x80]
cmp edi, 7
cmova ecx, dword [ebp - 0x80]
cmova edx, dword [ebp - 0x80]
lea esi, [ecx + eax*2]
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0x80]
cmova eax, ecx
cmp eax, esi
je 0x40fcfa
sub edx, eax
movzx ecx, word [eax]
cmp ecx, 0x5c
je 0x40fce4
cmp ecx, 0x3a
jne 0x40fce9
mov ecx, 0x5f
mov word [eax + edx], cx
add eax, 2
cmp eax, esi
jne 0x40fcd7
mov edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x80]
cmp edi, 7
lea eax, [ebp - 0x80]
cmova eax, ecx
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 0x40fe07
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x40fd33
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, str.C:JenkinsworkspaceMBAM_WindowsN_MB5Uns_srcmb4unsmb5uns.cpp
mov ecx, eax
call fcn.004097d0
mov edx, 0x48f0d4
mov ecx, eax
call fcn.004097d0
push 0x86
mov ecx, eax
call fcn.00407bb0
mov edx, 0x48f2e4
mov ecx, eax
call fcn.004097d0
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.0040ec10
push edi
mov ecx, eax
call fcn.0040ea20
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x40fdca
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fdc0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41157f
push ecx
push edx
call fcn.00452718
add esp, 8
mov ecx, dword [ebp - 0x6c]
cmp ecx, 7
jbe 0x40fe9c
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fe92
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411584
jmp 0x40fe92
cmp edi, 0xb7
jne 0x40fdca
push 0x48fb6c
push 0x4914e8
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 ecx, dword [ebp - 0x6c]
cmp ecx, 7
jbe 0x40fe88
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fe7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411584
push ecx
push edx
call fcn.00452718
add esp, 8
mov edi, 1
jmp 0x4113b4
push ecx
push edx
call fcn.00452718
add esp, 8
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
sub esp, 0xc
call fcn.00428110
push 0
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xb8], 1
push eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0xb4], 0
push eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x5c], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x64
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
call fcn.00434150
push 0x65
lea ecx, [ebp - 0x64]
call fcn.00434150
push 0x66
lea ecx, [ebp - 0x60]
call fcn.00434150
mov dword [ebp - 4], 0
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411589
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0
call fcn.00437060
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x1c]
cmp dword [eax - 0xc], 0
je 0x40ff73
lea eax, [ebp - 0x18]
push eax
call fcn.00414e10
jmp 0x40ff7f
push 7
push str.unknown
call fcn.00427f10
mov edx, dword [ebp - 0x18]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ff9a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x1c]
cmp dword [esi - 0xc], 0
lea eax, [esi - 0x10]
mov dword [ebp - 0x224], eax
je 0x410033
mov dword [ebp - 4], 1
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411589
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
push esi
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push str.MBAMs_UI_language_is_set_to__s__attempt_to_set_our_UI_language_to_match
push eax
call fcn.00415e50
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, 0xad
mov ecx, 0x48fa58
push esi
call fcn.0042ed60
mov ecx, dword [ebp - 0x224]
mov edi, esp
call fcn.00428030
add eax, 0x10
mov dword [edi], eax
call fcn.004348e0
add esp, 4
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41004a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41004a
push str.unable_to_get_MBAMs_UI_language
mov edx, 0xb2
mov ecx, 0x48fa58
call fcn.0042ed60
add esp, 4
call fcn.00463026
cmp dword [eax], 1
jle 0x4101e2
mov esi, 1
mov byte [ebp - 0x219], 0
mov dword [ebp - 0x220], esi
call fcn.00463026
cmp dword [eax], esi
jle 0x4101e2
call fcn.0046302c
mov eax, dword [eax]
mov esi, dword [eax + esi*4]
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411589
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
test esi, esi
je 0x4100d1
test esi, 0xffff0000
jne 0x4100b7
movzx eax, si
lea ecx, [ebp - 0x18]
push eax
call fcn.00404c90
jmp 0x4100dd
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4100c0
sub ecx, edx
sar ecx, 1
jmp 0x4100d3
xor ecx, ecx
push ecx
push esi
lea ecx, [ebp - 0x18]
call fcn.00427f10
cmp byte [ebp - 0x219], 0
mov edi, dword [ebp - 0x18]
je 0x41010d
push ecx
lea ecx, [edi - 0x10]
mov esi, esp
call fcn.00428030
add eax, 0x10
mov dword [esi], eax
call fcn.004348e0
add esp, 4
mov byte [ebp - 0x219], 0
jmp 0x4101b0
push str._useDevEndpoints
push edi
call fcn.00464cd6
add esp, 8
test eax, eax
jne 0x41012b
mov byte [0x4a5ba1], 1
jmp 0x4101b0
push str._langcode
push edi
call fcn.00464cd6
add esp, 8
test eax, eax
jne 0x410146
mov byte [ebp - 0x219], 1
jmp 0x4101b0
mov dword [ebp - 4], 2
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411589
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
push edi
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push str.unknown_command_line_argument__s
push eax
call fcn.00415e50
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, 0xcd
mov ecx, 0x48fa58
push esi
call fcn.0042ed60
add esp, 4
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4101b0
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x4101c8
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x220]
inc esi
mov dword [ebp - 0x220], esi
call fcn.00463026
cmp esi, dword [eax]
jl 0x410077
lea ecx, [ebp - 0x1c]
call fcn.004117f0
mov esi, dword [0x4a5c3c]
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41024c
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x41023e
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x41023e
call fcn.00428030
mov dword [ebp - 0x220], eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x410234
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [0x4a5c3c], eax
jmp 0x41024c
push dword [edx - 0xc]
mov ecx, 0x4a5c3c
push edx
call fcn.00427f10
mov edx, dword [ebp - 0x1c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410267
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 3
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411593
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
add eax, 0x10
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x220], eax
xorps xmm0, xmm0
xor eax, eax
mov dword [ebp - 0x20], 7
movups xmmword [ebp - 0x34], xmm0
push eax
mov word [ebp - 0x34], ax
mov dword [ebp - 0x90], vtable.InstalledProducts.0
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
call fcn.004447b0
push 1
lea ecx, [ebp - 0x90]
call fcn.004447b0
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x90]
call fcn.00445200
cmp dword [ebp - 0x20], 7
lea edx, [ebp - 0x34]
jbe 0x410307
mov edx, dword [ebp - 0x34]
test edx, edx
jne 0x410307
xor ecx, ecx
jmp 0x41031f
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410310
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x220]
call fcn.00427f10
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x90], vtable.InstalledProducts.0
call fcn.004454c0
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x41037b
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410371
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41159d
push ecx
push edx
call fcn.00452718
add esp, 8
mov eax, dword [ebp - 0x220]
mov edi, dword [0x4a5c40]
add edi, 0xfffffff0
lea esi, [eax - 0x10]
cmp esi, edi
je 0x4103e3
mov ecx, dword [edi + 0xc]
shr ecx, 0x1f
test cl, cl
jne 0x4103d5
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x4103d5
mov ecx, esi
call fcn.00428030
mov dword [ebp - 0x220], eax
lea edx, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4103cb
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [0x4a5c40], eax
jmp 0x4103e3
push dword [eax - 0xc]
mov ecx, 0x4a5c40
push eax
call fcn.00427f10
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4103f8
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x4115a2
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov eax, str.mbuns.exe
mov dword [ebp - 0x18], esi
test eax, 0xffff0000
jne 0x41042e
movzx eax, ax
lea ecx, [ebp - 0x18]
push eax
call fcn.00404c90
jmp 0x410496
push 0
push 0
push 0xffffffffffffffff
push str.mbuns.exe
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edi, [eax - 1]
test edi, edi
jle 0x41048e
mov ecx, dword [esi - 8]
mov eax, 1
sub eax, dword [esi - 4]
sub ecx, edi
or ecx, eax
jge 0x410467
push edi
lea ecx, [ebp - 0x18]
call fcn.00403930
mov esi, dword [ebp - 0x18]
push edi
push esi
push 0xffffffffffffffff
push str.mbuns.exe
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp edi, dword [esi - 8]
jg 0x4115ac
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
jmp 0x410499
lea ecx, [ebp - 0x18]
call fcn.00427e60
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00414c90
mov edi, dword [0x4a5c44]
add esp, 4
add edi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x41050a
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4104fc
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4104fc
call fcn.00428030
mov dword [ebp - 0x220], eax
lea edx, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4104f2
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [0x4a5c44], eax
jmp 0x41050a
push dword [edx - 0xc]
mov ecx, 0x4a5c44
push edx
call fcn.00427f10
mov edx, dword [ebp - 0x1c]
or edi, 0xffffffff
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410527
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41053e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00411cd0
call fcn.00412df0
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41055b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xe1
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_version_5.1.0.35
mov ecx, eax
call fcn.0040ec10
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4105de
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4105d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115b6
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4105f1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xe2
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_got_command_line_
mov ecx, eax
call fcn.0040ec10
mov edx, dword [ebp - 0x228]
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x41068d
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410683
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115bb
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4106a0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xe3
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_Program_Data_path________
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c3c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410701
push dword [edx - 0xc]
mov ecx, 0x4a5c3c
call fcn.00403820
mov edx, dword [0x4a5c3c]
mov ecx, esi
call fcn.0040ec10
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410757
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41074d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115c0
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41076a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xe4
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_MB5_install_path_________
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c40]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x4107cb
push dword [edx - 0xc]
mov ecx, 0x4a5c40
call fcn.00403820
mov edx, dword [0x4a5c40]
mov ecx, esi
call fcn.0040ec10
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410821
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410817
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115c5
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410834
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xe9
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_Premium_license_state____
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c58]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410895
push dword [edx - 0xc]
mov ecx, 0x4a5c58
call fcn.004093b0
mov edx, dword [0x4a5c58]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4108eb
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4108e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115ca
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4108fe
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xea
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_Privacy__license_state___
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c5c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41095f
push dword [edx - 0xc]
mov ecx, 0x4a5c5c
call fcn.004093b0
mov edx, dword [0x4a5c5c]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4109b5
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4109ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115cf
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4109c8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xeb
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_entitlement_end_date_____
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c60]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410a29
push dword [edx - 0xc]
mov ecx, 0x4a5c60
call fcn.004093b0
mov edx, dword [0x4a5c60]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410a7f
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410a75
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115d4
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410a92
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xec
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_entitlement_term_type____
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c64]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410af3
push dword [edx - 0xc]
mov ecx, 0x4a5c64
call fcn.004093b0
mov edx, dword [0x4a5c64]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410b49
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410b3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115d9
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410b5c
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xed
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_trial_end_date___________
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c68]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410bbd
push dword [edx - 0xc]
mov ecx, 0x4a5c68
call fcn.004093b0
mov edx, dword [0x4a5c68]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410c13
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410c09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115de
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410c26
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xee
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_trial_status_____________
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c6c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410c87
push dword [edx - 0xc]
mov ecx, 0x4a5c6c
call fcn.004093b0
mov edx, dword [0x4a5c6c]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410cdd
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410cd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115e3
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410cf0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xef
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_controllers_version______
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c70]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410d51
push dword [edx - 0xc]
mov ecx, 0x4a5c70
call fcn.004093b0
mov edx, dword [0x4a5c70]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410da7
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410d9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115e8
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410dba
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xf0
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_database_version_________
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c74]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410e1b
push dword [edx - 0xc]
mov ecx, 0x4a5c74
call fcn.004093b0
mov edx, dword [0x4a5c74]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410e71
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410e67
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115ed
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410e84
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xf1
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_product_code_____________
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c78]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410ee5
push dword [edx - 0xc]
mov ecx, 0x4a5c78
call fcn.004093b0
mov edx, dword [0x4a5c78]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410f3b
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410f31
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115f2
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410f4e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xf2
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_parent_pathname__________
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c48]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410faf
push dword [edx - 0xc]
mov ecx, 0x4a5c48
call fcn.004093b0
mov edx, dword [0x4a5c48]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x411005
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410ffb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115f7
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x411018
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0xf3
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_parent_signer_name_______
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c4c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x411079
push dword [edx - 0xc]
mov ecx, 0x4a5c4c
call fcn.004093b0
mov edx, dword [0x4a5c4c]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4110cf
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4110c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4115fc
push ecx
push edx
call fcn.00452718
add esp, 8
mov dword [ebp - 0x40], 0
call fcn.00435830
test al, al
je 0x411105
push str.the_support_tool_is_uninstalling_us__skipping_the_UI_and_calling_the_uninstaller
mov edx, 0xfb
mov ecx, 0x48fa58
call fcn.0042ed60
add esp, 4
lea ecx, [ebp - 0x40]
mov dl, 1
call fcn.00435af0
jmp 0x4112c4
call fcn.00435d50
call fcn.0042f390
call fcn.00411cd0
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x411127
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0x107
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_final_Premium_license_state__
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c58]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x411188
push dword [edx - 0xc]
mov ecx, 0x4a5c58
call fcn.004093b0
mov edx, dword [0x4a5c58]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4111de
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4111d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411601
push ecx
push edx
call fcn.00452718
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4111f1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4a4ad0
call fcn.0040ab60
add esp, 4
mov edx, 0x48fa58
mov ecx, eax
call fcn.0040ec10
mov edx, 0x4914e4
mov ecx, eax
call fcn.0040ec10
push 0x108
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_final_Privacy_license_state__
mov ecx, eax
call fcn.0040ec10
mov edx, dword [0x4a5c5c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x411252
push dword [edx - 0xc]
mov ecx, 0x4a5c5c
call fcn.004093b0
mov edx, dword [0x4a5c5c]
mov ecx, esi
call fcn.004097d0
mov edx, 0x4914e0
mov ecx, eax
call fcn.004097d0
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4112a8
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41129e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411606
push ecx
push edx
call fcn.00452718
add esp, 8
call fcn.00436430
push str.quitting_mb5uns
mov edx, 0x10d
mov ecx, 0x48fa58
call fcn.0042ed60
add esp, 4
push dword [ebp - 0x5c]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, str._mb5uns_finished_at
mov ecx, 0x4a4ad0
call fcn.0040ec10
lea ecx, [ebp - 0x240]
mov esi, eax
call fcn.00441c80
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4112fa
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.0040ab60
add esp, 4
mov edx, 0x4901bc
mov ecx, eax
call fcn.0040ec10
push dword [ebp - 0x40]
mov ecx, eax
call fcn.00407bb0
mov edx, 0x4901ac
mov ecx, eax
call fcn.0040ec10
push eax
call fcn.00409b50
mov ecx, dword [ebp - 0x22c]
add esp, 4
cmp ecx, 7
jbe 0x411372
mov edx, dword [ebp - 0x240]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411368
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41160b
push ecx
push edx
call fcn.00452718
add esp, 8
mov edi, dword [ebp - 0x40]
or eax, 0xffffffff
mov edx, dword [ebp - 0x224]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x411390
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x60]
mov esi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x4113a0
push eax
call esi
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x4113aa
push eax
call esi
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x4113b4
push eax
call esi
mov ecx, dword [ebp - 0x94]
cmp ecx, 7
jbe 0x4113f4
mov edx, dword [ebp - 0xa8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4113ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411610
push ecx
push edx
call fcn.00452718
add esp, 8
xor eax, eax
mov dword [ebp - 0x98], 0
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x94], 7
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 - 0x218]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x21c], eax
lea ecx, [ebp - 0x214]
call fcn.00413c20
mov eax, dword [ebp - 0x218]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 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
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x21c], eax
lea eax, [ebp - 0x1b0]
mov dword [ebp - 4], 4
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004511f1
mov eax, dword [ebp - 0x168]
add esp, 4
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 - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
lea ecx, [ebp - 0x164]
call fcn.00414b30
mov eax, dword [ebp - 0x168]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x16c], eax
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 5
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004511f1
mov ecx, dword [ebp - 0x44]
add esp, 4
cmp ecx, 7
jbe 0x41153d
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411533
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411610
push ecx
push edx
call fcn.00452718
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004523b6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
lea eax, [ebp - 0x58]
push eax
lea edx, [ebp - 0x3c]
call fcn.00429f80
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
push 0x80004005
call fcn.00403a50
push 0x80004005
call fcn.00403a50
call fcn.0045e581
push 0x80004005
call fcn.00403a50
push 0x80070057
call fcn.00403a50
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
call fcn.0045e581
int3