Function at 0x40f7c0
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 0x48d690
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x230
mov eax, dword [0x4cf500]
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.00429130
cmp dword [ebp - 0x44], 7
lea eax, [ebp - 0x58]
cmova eax, dword [ebp - 0x58]
push eax
call fcn.0045e0ce
push 0
push eax
lea ecx, [ebp - 0x58]
mov esi, edx
call fcn.00429130
cmp esi, 0xffffffff
jne 0x40f86b
mov esi, 0x14
mov dword [ebp - 0x38], 0x4cffb8
mov dword [ebp - 0x64], 0x4cffb8
jmp 0x40f879
mov dword [ebp - 0x38], 0x4cffc0
mov dword [ebp - 0x64], 0x4cffc0
mov dword [ebp - 0x3c], esi
test esi, esi
jne 0x41161f
push 0xa
push str.mb5uns.log
mov byte [ebp - 0x38], 0
lea ecx, [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.0041e7c0
add esp, 0xc
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x58]
push eax
call fcn.00426050
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x40f8e3
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f8d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41162b
push ecx
push edx
call fcn.0045f8a7
add esp, 8
push 0xac
lea eax, [ebp - 0x164]
push 0
push eax
call fcn.00461ba0
add esp, 0xc
mov dword [ebp - 0x168], 0x4bc478
cmp dword [ebp - 0x44], 7
lea esi, [ebp - 0x58]
lea ecx, [ebp - 0x100]
cmova esi, dword [ebp - 0x58]
call fcn.00415d00
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.00415e40
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.00415c50
cmp dword [ebp - 0x118], 0
jne 0x40f9fe
push 0x40
push 0xa
push esi
call fcn.0045e473
add esp, 0xc
test eax, eax
je 0x40f9fe
push 1
push eax
lea ecx, [ebp - 0x164]
call fcn.00415a00
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.00416550
add esp, 4
lea ecx, [ebp - 0x164]
push eax
call fcn.004156b0
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x40fa27
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x40fa27
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
jmp 0x40fa27
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.0040c010
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.00461ba0
cmp dword [ebp - 0x44], 7
lea eax, [ebp - 0x58]
lea ecx, [ebp - 0x218]
cmova eax, dword [ebp - 0x58]
push eax
call fcn.004176b0
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 [0x4d2e18]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x164]
add ecx, 0x4d2e18
mov dword [ecx + 0x38], eax
call fcn.0040c010
mov eax, dword [0x4d2c68]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x214]
add ecx, 0x4d2c68
mov dword [ecx + 0x38], eax
call fcn.0040c010
push 0x4d2c68
call fcn.00409b60
add esp, 4
mov edx, str._mb5uns_started_at
mov ecx, eax
call fcn.0040ecd0
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x40fb0d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.0040aba0
add esp, 4
mov edx, 0x4baa5c
mov ecx, eax
call fcn.0040ecd0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x40fb69
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fb5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411630
push ecx
push edx
call fcn.0045f8a7
add esp, 8
mov edx, dword [0x4d3dd0]
mov ecx, 1
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x40fb98
push 0x104
mov ecx, 0x4d3dd0
call fcn.00403930
mov edx, dword [0x4d3dd0]
cmp dword [edx - 8], 0x104
jl 0x41166c
mov dword [edx - 0xc], 0x104
xor ecx, ecx
mov eax, dword [0x4d3dd0]
push 0x104
push edx
mov word [eax + 0x208], cx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov eax, dword [0x4d3dd0]
test eax, eax
jne 0x40fbd3
xor ecx, ecx
jmp 0x40fbee
push dword [eax - 8]
push eax
call fcn.0046b245
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x41166c
mov eax, dword [0x4d3dd0]
cmp ecx, dword [eax - 8]
jg 0x41166c
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [0x4d3dd0]
mov word [eax + ecx*2], dx
push dword [0x4d3dd0]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x40fc24
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4ba164
mov ecx, eax
call fcn.004097e0
push 0x70
mov ecx, eax
call fcn.00407bb0
mov edx, 0x4baaa0
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3dd0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x40fc82
push dword [edx - 0xc]
mov ecx, 0x4d3dd0
call fcn.00403820
mov edx, dword [0x4d3dd0]
mov ecx, esi
call fcn.0040ecd0
mov edx, 0x4baa9c
mov ecx, eax
call fcn.0040ecd0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x40fcd8
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fcce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411635
push ecx
push edx
call fcn.0045f8a7
add esp, 8
call fcn.00434b80
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.004116e0
cmp dword [ebp - 0x98], 0
je 0x40ff5c
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00428a20
push eax
lea ecx, [ebp - 0x80]
call fcn.00429ee0
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x40fd6e
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fd64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41163a
push ecx
push edx
call fcn.0045f8a7
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 0x40fdba
sub edx, eax
movzx ecx, word [eax]
cmp ecx, 0x5c
je 0x40fda4
cmp ecx, 0x3a
jne 0x40fda9
mov ecx, 0x5f
mov word [eax + edx], cx
add eax, 2
cmp eax, esi
jne 0x40fd97
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 0x40fec7
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x40fdf3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, str.C:JenkinsworkspaceMBAM_WindowsN_MB5Uns_srcmb4unsmb5uns.cpp
mov ecx, eax
call fcn.004097e0
mov edx, 0x4ba164
mov ecx, eax
call fcn.004097e0
push 0x86
mov ecx, eax
call fcn.00407bb0
mov edx, 0x4ba374
mov ecx, eax
call fcn.004097e0
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.0040ecd0
push edi
mov ecx, eax
call fcn.0040eae0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x40fe8a
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fe80
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41163f
push ecx
push edx
call fcn.0045f8a7
add esp, 8
mov ecx, dword [ebp - 0x6c]
cmp ecx, 7
jbe 0x40ff5c
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ff52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411644
jmp 0x40ff52
cmp edi, 0xb7
jne 0x40fe8a
push 0x4babfc
push 0x4bc578
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 0x40ff48
mov edx, dword [ebp - 0x80]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ff3e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411644
push ecx
push edx
call fcn.0045f8a7
add esp, 8
mov edi, 1
jmp 0x411474
push ecx
push edx
call fcn.0045f8a7
add esp, 8
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
sub esp, 0xc
call fcn.004281d0
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.00434210
push 0x65
lea ecx, [ebp - 0x64]
call fcn.00434210
push 0x66
lea ecx, [ebp - 0x60]
call fcn.00434210
mov dword [ebp - 4], 0
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411649
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.00437140
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x1c]
cmp dword [eax - 0xc], 0
je 0x410033
lea eax, [ebp - 0x18]
push eax
call fcn.00414ed0
jmp 0x41003f
push 7
push str.unknown
call fcn.00427fd0
mov edx, dword [ebp - 0x18]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41005a
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 0x4100f3
mov dword [ebp - 4], 1
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411649
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.00415f10
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, 0xad
mov ecx, 0x4baae8
push esi
call fcn.0042ee20
mov ecx, dword [ebp - 0x224]
mov edi, esp
call fcn.004280f0
add eax, 0x10
mov dword [edi], eax
call fcn.004349a0
add esp, 4
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41010a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41010a
push str.unable_to_get_MBAMs_UI_language
mov edx, 0xb2
mov ecx, 0x4baae8
call fcn.0042ee20
add esp, 4
call fcn.004701b6
cmp dword [eax], 1
jle 0x4102a2
mov esi, 1
mov byte [ebp - 0x219], 0
mov dword [ebp - 0x220], esi
call fcn.004701b6
cmp dword [eax], esi
jle 0x4102a2
call fcn.004701bc
mov eax, dword [eax]
mov esi, dword [eax + esi*4]
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411649
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
test esi, esi
je 0x410191
test esi, 0xffff0000
jne 0x410177
movzx eax, si
lea ecx, [ebp - 0x18]
push eax
call fcn.00404c90
jmp 0x41019d
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410180
sub ecx, edx
sar ecx, 1
jmp 0x410193
xor ecx, ecx
push ecx
push esi
lea ecx, [ebp - 0x18]
call fcn.00427fd0
cmp byte [ebp - 0x219], 0
mov edi, dword [ebp - 0x18]
je 0x4101cd
push ecx
lea ecx, [edi - 0x10]
mov esi, esp
call fcn.004280f0
add eax, 0x10
mov dword [esi], eax
call fcn.004349a0
add esp, 4
mov byte [ebp - 0x219], 0
jmp 0x410270
push str._useDevEndpoints
push edi
call fcn.00471e66
add esp, 8
test eax, eax
jne 0x4101eb
mov byte [0x4d3d39], 1
jmp 0x410270
push str._langcode
push edi
call fcn.00471e66
add esp, 8
test eax, eax
jne 0x410206
mov byte [ebp - 0x219], 1
jmp 0x410270
mov dword [ebp - 4], 2
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411649
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.00415f10
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, 0xcd
mov ecx, 0x4baae8
push esi
call fcn.0042ee20
add esp, 4
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x410270
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 0x410288
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.004701b6
cmp esi, dword [eax]
jl 0x410137
lea ecx, [ebp - 0x1c]
call fcn.004118b0
mov esi, dword [0x4d3dd4]
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41030c
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4102fe
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x4102fe
call fcn.004280f0
mov dword [ebp - 0x220], eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x4102f4
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [0x4d3dd4], eax
jmp 0x41030c
push dword [edx - 0xc]
mov ecx, 0x4d3dd4
push edx
call fcn.00427fd0
mov edx, dword [ebp - 0x1c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410327
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 0x411653
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.00444f20
push 1
lea ecx, [ebp - 0x90]
call fcn.00444f20
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x90]
call fcn.00445970
cmp dword [ebp - 0x20], 7
lea edx, [ebp - 0x34]
jbe 0x4103c7
mov edx, dword [ebp - 0x34]
test edx, edx
jne 0x4103c7
xor ecx, ecx
jmp 0x4103df
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4103d0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x220]
call fcn.00427fd0
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x90], vtable.InstalledProducts.0
call fcn.00445c30
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x41043b
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410431
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41165d
push ecx
push edx
call fcn.0045f8a7
add esp, 8
mov eax, dword [ebp - 0x220]
mov edi, dword [0x4d3dd8]
add edi, 0xfffffff0
lea esi, [eax - 0x10]
cmp esi, edi
je 0x4104a3
mov ecx, dword [edi + 0xc]
shr ecx, 0x1f
test cl, cl
jne 0x410495
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x410495
mov ecx, esi
call fcn.004280f0
mov dword [ebp - 0x220], eax
lea edx, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41048b
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [0x4d3dd8], eax
jmp 0x4104a3
push dword [eax - 0xc]
mov ecx, 0x4d3dd8
push eax
call fcn.00427fd0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4104b8
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00403c80
mov ecx, eax
test ecx, ecx
je 0x411662
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 0x4104ee
movzx eax, ax
lea ecx, [ebp - 0x18]
push eax
call fcn.00404c90
jmp 0x410556
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 0x41054e
mov ecx, dword [esi - 8]
mov eax, 1
sub eax, dword [esi - 4]
sub ecx, edi
or ecx, eax
jge 0x410527
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 0x41166c
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
jmp 0x410559
lea ecx, [ebp - 0x18]
call fcn.00427f20
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00414d50
mov edi, dword [0x4d3ddc]
add esp, 4
add edi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4105ca
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4105bc
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4105bc
call fcn.004280f0
mov dword [ebp - 0x220], eax
lea edx, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4105b2
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [0x4d3ddc], eax
jmp 0x4105ca
push dword [edx - 0xc]
mov ecx, 0x4d3ddc
push edx
call fcn.00427fd0
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 0x4105e7
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 0x4105fe
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00411d90
call fcn.00412eb0
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41061b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xe1
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_version_5.1.0.36
mov ecx, eax
call fcn.0040ecd0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x41069e
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410694
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411676
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4106b1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xe2
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_got_command_line_
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [ebp - 0x228]
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x41074d
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410743
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41167b
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410760
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xe3
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_Program_Data_path________
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3dd4]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x4107c1
push dword [edx - 0xc]
mov ecx, 0x4d3dd4
call fcn.00403820
mov edx, dword [0x4d3dd4]
mov ecx, esi
call fcn.0040ecd0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410817
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41080d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411680
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41082a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xe4
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_MB5_install_path_________
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3dd8]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41088b
push dword [edx - 0xc]
mov ecx, 0x4d3dd8
call fcn.00403820
mov edx, dword [0x4d3dd8]
mov ecx, esi
call fcn.0040ecd0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4108e1
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4108d7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411685
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4108f4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xe9
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_Premium_license_state____
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3df0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410955
push dword [edx - 0xc]
mov ecx, 0x4d3df0
call fcn.004093c0
mov edx, dword [0x4d3df0]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4109ab
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4109a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41168a
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4109be
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xea
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_Privacy__license_state___
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3df4]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410a1f
push dword [edx - 0xc]
mov ecx, 0x4d3df4
call fcn.004093c0
mov edx, dword [0x4d3df4]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410a75
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410a6b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41168f
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410a88
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xeb
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_entitlement_end_date_____
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3df8]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410ae9
push dword [edx - 0xc]
mov ecx, 0x4d3df8
call fcn.004093c0
mov edx, dword [0x4d3df8]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410b3f
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410b35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411694
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410b52
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xec
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_entitlement_term_type____
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3dfc]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410bb3
push dword [edx - 0xc]
mov ecx, 0x4d3dfc
call fcn.004093c0
mov edx, dword [0x4d3dfc]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410c09
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410bff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411699
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410c1c
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xed
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_trial_end_date___________
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3e00]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410c7d
push dword [edx - 0xc]
mov ecx, 0x4d3e00
call fcn.004093c0
mov edx, dword [0x4d3e00]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410cd3
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410cc9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41169e
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410ce6
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xee
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_trial_status_____________
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3e04]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410d47
push dword [edx - 0xc]
mov ecx, 0x4d3e04
call fcn.004093c0
mov edx, dword [0x4d3e04]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410d9d
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410d93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116a3
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410db0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xef
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_controllers_version______
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3e08]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410e11
push dword [edx - 0xc]
mov ecx, 0x4d3e08
call fcn.004093c0
mov edx, dword [0x4d3e08]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410e67
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410e5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116a8
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410e7a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xf0
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_database_version_________
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3e0c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410edb
push dword [edx - 0xc]
mov ecx, 0x4d3e0c
call fcn.004093c0
mov edx, dword [0x4d3e0c]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410f31
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410f27
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116ad
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x410f44
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xf1
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_product_code_____________
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3e10]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x410fa5
push dword [edx - 0xc]
mov ecx, 0x4d3e10
call fcn.004093c0
mov edx, dword [0x4d3e10]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x410ffb
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x410ff1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116b2
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41100e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xf2
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_parent_pathname__________
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3de0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41106f
push dword [edx - 0xc]
mov ecx, 0x4d3de0
call fcn.004093c0
mov edx, dword [0x4d3de0]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x4110c5
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4110bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116b7
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4110d8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0xf3
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_parent_signer_name_______
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3de4]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x411139
push dword [edx - 0xc]
mov ecx, 0x4d3de4
call fcn.004093c0
mov edx, dword [0x4d3de4]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x41118f
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411185
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116bc
push ecx
push edx
call fcn.0045f8a7
add esp, 8
mov dword [ebp - 0x40], 0
call fcn.00435900
test al, al
je 0x4111c5
push str.the_support_tool_is_uninstalling_us__skipping_the_UI_and_calling_the_uninstaller
mov edx, 0xfb
mov ecx, 0x4baae8
call fcn.0042ee20
add esp, 4
lea ecx, [ebp - 0x40]
mov dl, 1
call fcn.00435bc0
jmp 0x411384
call fcn.00435e20
call fcn.0042f450
call fcn.00411d90
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4111e7
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0x107
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_final_Premium_license_state__
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3df0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x411248
push dword [edx - 0xc]
mov ecx, 0x4d3df0
call fcn.004093c0
mov edx, dword [0x4d3df0]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x41129e
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411294
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116c1
push ecx
push edx
call fcn.0045f8a7
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4112b1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4d2c68
call fcn.0040aba0
add esp, 4
mov edx, 0x4baae8
mov ecx, eax
call fcn.0040ecd0
mov edx, 0x4bc574
mov ecx, eax
call fcn.0040ecd0
push 0x108
mov ecx, eax
call fcn.00407bb0
mov edx, str.:_final_Privacy_license_state__
mov ecx, eax
call fcn.0040ecd0
mov edx, dword [0x4d3df4]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x411312
push dword [edx - 0xc]
mov ecx, 0x4d3df4
call fcn.004093c0
mov edx, dword [0x4d3df4]
mov ecx, esi
call fcn.004097e0
mov edx, 0x4bc570
mov ecx, eax
call fcn.004097e0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 7
jbe 0x411368
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41135e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116c6
push ecx
push edx
call fcn.0045f8a7
add esp, 8
call fcn.00436500
push str.quitting_mb5uns
mov edx, 0x10d
mov ecx, 0x4baae8
call fcn.0042ee20
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, 0x4d2c68
call fcn.0040ecd0
lea ecx, [ebp - 0x240]
mov esi, eax
call fcn.00441d60
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4113ba
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.0040aba0
add esp, 4
mov edx, 0x4bb24c
mov ecx, eax
call fcn.0040ecd0
push dword [ebp - 0x40]
mov ecx, eax
call fcn.00407bb0
mov edx, 0x4bb23c
mov ecx, eax
call fcn.0040ecd0
push eax
call fcn.00409b60
mov ecx, dword [ebp - 0x22c]
add esp, 4
cmp ecx, 7
jbe 0x411432
mov edx, dword [ebp - 0x240]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411428
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116cb
push ecx
push edx
call fcn.0045f8a7
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 0x411450
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 0x411460
push eax
call esi
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x41146a
push eax
call esi
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x411474
push eax
call esi
mov ecx, dword [ebp - 0x94]
cmp ecx, 7
jbe 0x4114b4
mov edx, dword [ebp - 0xa8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4114aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116d0
push ecx
push edx
call fcn.0045f8a7
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.00413ce0
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.0045e2b5
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.00414bf0
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.0045e2b5
mov ecx, dword [ebp - 0x44]
add esp, 4
cmp ecx, 7
jbe 0x4115fd
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4115f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4116d0
push ecx
push edx
call fcn.0045f8a7
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.0045f545
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
lea eax, [ebp - 0x58]
push eax
lea edx, [ebp - 0x3c]
call fcn.0042a040
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
push 0x80004005
call fcn.00403a50
push 0x80004005
call fcn.00403a50
call fcn.0046b711
push 0x80004005
call fcn.00403a50
push 0x80070057
call fcn.00403a50
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
call fcn.0046b711
int3