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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a6da0
mov eax, dword fs:[0]
push eax
sub esp, 0x21c
mov eax, dword [0x65d0c8]
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 - 0x8c]
mov dword [ebp - 0x210], eax
call fcn.004264d0
push 0xa
push str.mb4uns.log
mov byte [ebp - 0x34], 0
lea ecx, [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.00421f60
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x8c]
push eax
call fcn.00423d30
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x41ae44
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ae3a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb12
push edx
push ecx
call fcn.00573d6d
add esp, 8
push 0xb0
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.00577100
add esp, 0xc
mov dword [ebp - 0x150], 0x63b1fc
cmp dword [ebp - 0x78], 8
lea eax, [ebp - 0x14c]
lea esi, [ebp - 0x8c]
mov dword [ebp - 0xe8], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
cmovae esi, dword [ebp - 0x8c]
lea ecx, [ebp - 0xe8]
push 0
push eax
mov dword [ebp - 0xec], 0x60
call fcn.0040df30
mov eax, dword [ebp - 0x150]
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 - 0x150]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x154], eax
lea ecx, [ebp - 0x14c]
call fcn.0040de70
push 0
push 0
lea ecx, [ebp - 0x14c]
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.0040cd20
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x14c]
call fcn.0041fb30
test eax, eax
jne 0x41af26
mov eax, dword [ebp - 0x150]
lea ecx, [ebp - 0x150]
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.00404f80
mov eax, dword [ebp - 0x150]
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 - 0x150]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x154], eax
lea eax, [ebp - 0x200]
push eax
call fcn.00577100
add esp, 0xc
mov dword [ebp - 0x200], 0x63b1fc
cmp dword [ebp - 0x78], 8
lea eax, [ebp - 0x1fc]
lea esi, [ebp - 0x8c]
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 - 0x8c]
lea ecx, [ebp - 0x198]
push 0
push eax
mov dword [ebp - 0x19c], 0x60
call fcn.0041fce0
mov eax, dword [ebp - 0x200]
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 - 0x200]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x204], eax
lea ecx, [ebp - 0x1fc]
call fcn.0041f9e0
push ecx
push 0xa
push esi
lea ecx, [ebp - 0x1fc]
call fcn.0041f8f0
test eax, eax
jne 0x41b018
mov eax, dword [ebp - 0x200]
lea ecx, [ebp - 0x200]
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.00404f80
mov eax, dword [ebp - 0x200]
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 - 0x200]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x204], eax
mov eax, dword [0x665248]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x14c]
add ecx, 0x665248
mov dword [ecx + 0x38], eax
call fcn.00404f80
mov eax, dword [0x665180]
push 0
push 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x1fc]
add ecx, 0x665180
mov dword [ecx + 0x38], eax
call fcn.00404f80
push 0x665180
call fcn.00416cb0
add esp, 4
mov edx, str._mb4uns_started_at
mov ecx, eax
call fcn.0041a4a0
lea ecx, [ebp - 0x30]
mov esi, eax
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41b0ad
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.004177a0
add esp, 4
mov edx, 0x63c30c
mov ecx, eax
call fcn.0041a4a0
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41b109
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b0ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb17
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov edx, dword [0x666464]
mov ecx, 1
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x41b138
push 0x104
mov ecx, 0x666464
call fcn.00403e20
mov edx, dword [0x666464]
cmp dword [edx - 8], 0x104
jl 0x41cb1c
mov dword [edx - 0xc], 0x104
xor ecx, ecx
mov eax, dword [0x666464]
push 0x104
push edx
mov word [eax + 0x208], cx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov eax, dword [0x666464]
test eax, eax
jne 0x41b173
xor ecx, ecx
jmp 0x41b18e
push dword [eax - 8]
push eax
call fcn.0057f200
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x41cb1c
mov eax, dword [0x666464]
cmp ecx, dword [eax - 8]
jg 0x41cb1c
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [0x666464]
mov word [eax + ecx*2], dx
push dword [0x666464]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41b1c4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63bb2c
mov ecx, eax
call fcn.00416940
push 0x73
mov ecx, eax
call fcn.004150f0
mov edx, 0x63c350
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666464]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41b222
push dword [edx - 0xc]
mov ecx, 0x666464
call fcn.00403d10
mov edx, dword [0x666464]
mov ecx, esi
call fcn.0041a4a0
mov edx, 0x63c34c
mov ecx, eax
call fcn.0041a4a0
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41b278
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b26e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb26
push edx
push ecx
call fcn.00573d6d
add esp, 8
call fcn.00430660
xor eax, eax
mov dword [ebp - 0x64], 0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
call fcn.0041cc60
cmp dword [ebp - 0x64], 0
je 0x41b4eb
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x74]
call fcn.00425030
push eax
lea ecx, [ebp - 0x50]
call fcn.004291b0
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x41b2f2
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b2e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb2b
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov ebx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 0x50]
lea edi, [ebp - 0x50]
mov eax, dword [ebp - 0x40]
cmp ebx, 8
cmovae ecx, edx
cmovae edi, edx
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x50]
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 0x41b348
sub edi, ecx
movzx eax, word [ecx]
cmp eax, 0x5c
je 0x41b334
cmp eax, 0x3a
jne 0x41b339
mov eax, 0x5f
mov word [edi + ecx], ax
inc edx
add ecx, 2
cmp edx, esi
jne 0x41b327
mov ebx, dword [ebp - 0x3c]
cmp ebx, 8
lea eax, [ebp - 0x50]
cmovae eax, dword [ebp - 0x50]
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 0x41b456
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41b382
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, str.c:jenkinsworkspacembam_windows_n_mb4uns_srcmb4unsmb4uns.cpp
mov ecx, eax
call fcn.00416940
mov edx, 0x63bb2c
mov ecx, eax
call fcn.00416940
push 0x89
mov ecx, eax
call fcn.004150f0
mov edx, 0x63aed4
mov ecx, eax
call fcn.00416940
mov edx, str.Error_obtaining_mutex__installing
mov ecx, eax
call fcn.0041a4a0
push edi
mov ecx, eax
call fcn.0041a2c0
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41b419
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b40f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb30
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov edx, dword [ebp - 0x3c]
cmp edx, 8
jb 0x41b4eb
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b4e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb35
jmp 0x41b4e1
cmp edi, 0xb7
jne 0x41b419
push 0x63c4ac
push 0x63d6e8
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 - 0x3c]
cmp edx, 8
jb 0x41b4d7
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b4cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb3a
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov edi, 1
jmp 0x41c975
push edx
push ecx
call fcn.00573d6d
add esp, 8
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
sub esp, 0xc
call fcn.00424900
push 0
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], 1
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x98], 0
push eax
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x54], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x64
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
call fcn.0042fcd0
push 0x65
lea ecx, [ebp - 0x5c]
call fcn.0042fcd0
push 0x66
lea ecx, [ebp - 0x58]
call fcn.0042fcd0
mov dword [ebp - 4], 0
call fcn.00404250
mov ecx, eax
test ecx, ecx
je 0x41cb3f
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 - 0x18], esi
call fcn.004329e0
mov ecx, dword [ebp - 0x14]
or ebx, 0xffffffff
add ecx, 0xfffffff0
mov edx, dword [ecx + 4]
test edx, edx
je 0x41b609
lea edi, [esi - 0x10]
cmp ecx, edi
je 0x41b61b
mov eax, dword [edi + 0xc]
lea esi, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x41b603
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x41b603
call fcn.004248a0
mov dword [ebp - 0x20c], eax
mov dword [ebp - 4], 1
mov ecx, ebx
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x41b5fe
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x20c]
lea esi, [eax + 0x10]
jmp 0x41b61b
push edx
push dword [ebp - 0x14]
jmp 0x41b610
push 7
push str.unknown
lea ecx, [ebp - 0x18]
call fcn.00424700
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov dword [ebp - 4], 2
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41b63c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edi, [esi - 0x10]
mov dword [ebp - 4], 0xffffffff
cmp dword [edi + 4], 0
mov dword [ebp - 0x20c], edi
je 0x41b731
mov dword [ebp - 4], 3
call fcn.00404250
mov ecx, eax
test ecx, ecx
je 0x41cb49
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.0041f400
mov esi, dword [ebp - 0x14]
add esp, 0xc
mov edx, 0xb0
mov ecx, 0x63c398
push esi
call fcn.0042abe0
mov ecx, dword [edi]
mov dword [ebp - 0x14], esp
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [edi + 0xc]
mov edx, eax
lea eax, [edi + 0xc]
shr ecx, 0x1f
test cl, cl
jne 0x41b6c5
cmp edx, dword [edi]
jne 0x41b6c5
lock inc dword [eax]
jmp 0x41b6fa
mov eax, dword [edx]
mov ecx, edx
push 2
push dword [edi + 4]
call dword [eax]
mov edi, eax
test edi, edi
je 0x41cb53
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
lea ecx, [edi + 0x10]
inc edx
push edx
push eax
call fcn.00403c80
add esp, 8
mov ecx, dword [ebp - 0x14]
lea eax, [edi + 0x10]
mov dword [ecx], eax
call fcn.00430460
add esp, 4
add esi, 0xfffffff0
mov dword [ebp - 4], 4
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41b728
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
jmp 0x41b748
push str.unable_to_get_MBAMs_UI_language
mov edx, 0xb5
mov ecx, 0x63c398
call fcn.0042abe0
add esp, 4
call fcn.005852cf
cmp dword [eax], 1
jle 0x41b903
mov ebx, 1
mov byte [ebp - 0x201], 0
mov dword [ebp - 0x14], ebx
call fcn.005852cf
cmp dword [eax], ebx
jle 0x41b900
mov dword [ebp - 0x18], 0
call fcn.005852d5
lea ecx, [ebp - 0x18]
mov eax, dword [eax]
push dword [eax + ebx*4]
call fcn.004247f0
cmp byte [ebp - 0x201], 0
je 0x41b818
mov edi, dword [ebp - 0x18]
push ecx
mov dword [ebp - 0x208], 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 0x41b7c6
cmp edx, dword [edi - 0x10]
jne 0x41b7c6
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x41b7f6
mov eax, dword [edx]
mov ecx, edx
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x41cb53
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.00403c80
add esp, 8
mov ecx, dword [ebp - 0x208]
lea eax, [ebx + 0x10]
mov dword [ecx], eax
call fcn.00430460
mov ebx, dword [ebp - 0x14]
add esp, 4
mov byte [ebp - 0x201], 0
jmp 0x41b8c6
push str._useDevEndpoints
push dword [ebp - 0x18]
call fcn.005852db
add esp, 8
test eax, eax
jne 0x41b838
mov byte [0x6663c5], 1
jmp 0x41b8c6
push str._langcode
push dword [ebp - 0x18]
call fcn.005852db
add esp, 8
test eax, eax
jne 0x41b855
mov byte [ebp - 0x201], 1
jmp 0x41b8c6
mov dword [ebp - 4], 5
call fcn.00404250
mov ecx, eax
test ecx, ecx
je 0x41cb3f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push str.unknown_command_line_argument__s
push eax
call fcn.0041f400
mov esi, dword [ebp - 0x14]
add esp, 0xc
mov edx, 0xd0
mov ecx, 0x63c398
push esi
call fcn.0042abe0
add esp, 4
add esi, 0xfffffff0
mov dword [ebp - 4], 6
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41b8c6
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov dword [ebp - 4], 7
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41b8e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
inc ebx
mov dword [ebp - 0x14], ebx
call fcn.005852cf
cmp ebx, dword [eax]
jl 0x41b772
or ebx, 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0041ce40
mov esi, dword [0x666468]
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41b973
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x41b965
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x41b965
call fcn.004248a0
mov dword [ebp - 0x208], eax
mov dword [ebp - 4], 8
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x41b95b
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x208]
add eax, 0x10
mov dword [0x666468], eax
jmp 0x41b973
push dword [edx - 0xc]
mov ecx, 0x666468
push edx
call fcn.00424700
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov dword [ebp - 4], 9
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41b994
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xa
call fcn.00404250
mov ecx, eax
test ecx, ecx
je 0x41cb58
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x20], 0
push eax
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
mov dword [ebp - 0x48], vtable.InstalledProducts.0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
call fcn.00440700
push 1
lea ecx, [ebp - 0x48]
call fcn.00440700
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.004411b0
cmp dword [ebp - 0x1c], 8
lea edx, [ebp - 0x30]
jb 0x41ba13
mov edx, dword [ebp - 0x30]
test edx, edx
jne 0x41ba13
xor ecx, ecx
jmp 0x41ba2f
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ba20
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x14]
call fcn.00424700
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x48], vtable.InstalledProducts.0
call fcn.004414e0
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x41ba82
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ba78
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb62
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov eax, dword [ebp - 0x14]
mov edi, dword [0x66646c]
add edi, 0xfffffff0
lea esi, [eax - 0x10]
cmp esi, edi
je 0x41baed
mov ecx, dword [edi + 0xc]
shr ecx, 0x1f
test cl, cl
jne 0x41badf
mov ecx, dword [esi]
cmp ecx, dword [edi]
jne 0x41badf
mov ecx, esi
call fcn.004248a0
mov dword [ebp - 0x208], eax
mov dword [ebp - 4], 0xb
lea edx, [edi + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41bad5
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x208]
add eax, 0x10
mov dword [0x66646c], eax
jmp 0x41baed
push dword [eax - 0xc]
mov ecx, 0x66646c
push eax
call fcn.00424700
mov dword [ebp - 4], 0xc
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41bb08
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
call fcn.00404250
mov ecx, eax
test ecx, ecx
je 0x41cb67
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov eax, str.mbuns.exe
mov dword [ebp - 0x18], esi
test eax, 0xffff0000
jne 0x41bb43
movzx eax, ax
lea ecx, [ebp - 0x18]
push eax
call fcn.00412130
jmp 0x41bbab
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 0x41bba3
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x41bb7c
push edi
lea ecx, [ebp - 0x18]
call fcn.00403e20
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 0x41cb1c
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
jmp 0x41bbae
lea ecx, [ebp - 0x18]
call fcn.00424640
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041dfd0
mov edi, dword [0x666470]
add esp, 4
add edi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x41bc25
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x41bc17
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x41bc17
call fcn.004248a0
mov dword [ebp - 0x208], eax
mov dword [ebp - 4], 0xd
lea edx, [edi + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41bc0d
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x208]
add eax, 0x10
mov dword [0x666470], eax
jmp 0x41bc25
push dword [edx - 0xc]
mov ecx, 0x666470
push edx
call fcn.00424700
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xe
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bc46
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xf
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41bc64
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
call fcn.0041d220
call fcn.0041db50
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41bc88
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xe0
mov ecx, eax
call fcn.004150f0
mov edx, str.:_version_4.0.0.74
mov ecx, eax
call fcn.0041a4a0
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41bd0b
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bd01
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb71
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41bd1e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xe1
mov ecx, eax
call fcn.004150f0
mov edx, str.:_got_command_line_
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [ebp - 0x210]
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41bdba
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bdb0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb76
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41bdcd
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xe2
mov ecx, eax
call fcn.004150f0
mov edx, str.:_Program_Data_path________
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666468]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41be2e
push dword [edx - 0xc]
mov ecx, 0x666468
call fcn.00403d10
mov edx, dword [0x666468]
mov ecx, esi
call fcn.0041a4a0
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41be84
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41be7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb7b
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41be97
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xe3
mov ecx, eax
call fcn.004150f0
mov edx, str.:_MB4_install_path_________
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x66646c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41bef8
push dword [edx - 0xc]
mov ecx, 0x66646c
call fcn.00403d10
mov edx, dword [0x66646c]
mov ecx, esi
call fcn.0041a4a0
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41bf4e
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bf44
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb80
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41bf61
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xe8
mov ecx, eax
call fcn.004150f0
mov edx, str.:_initial_license_state____
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666484]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41bfc2
push dword [edx - 0xc]
mov ecx, 0x666484
call fcn.00416560
mov edx, dword [0x666484]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c018
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c00e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb85
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c02b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xe9
mov ecx, eax
call fcn.004150f0
mov edx, str.:_entitlement_end_date_____
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666488]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c08c
push dword [edx - 0xc]
mov ecx, 0x666488
call fcn.00416560
mov edx, dword [0x666488]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c0e2
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c0d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb8a
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c0f5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xea
mov ecx, eax
call fcn.004150f0
mov edx, str.:_entitlement_term_type____
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x66648c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c156
push dword [edx - 0xc]
mov ecx, 0x66648c
call fcn.00416560
mov edx, dword [0x66648c]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c1ac
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c1a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb8f
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c1bf
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xeb
mov ecx, eax
call fcn.004150f0
mov edx, str.:_trial_end_date___________
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666490]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c220
push dword [edx - 0xc]
mov ecx, 0x666490
call fcn.00416560
mov edx, dword [0x666490]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c276
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c26c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb94
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c289
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xec
mov ecx, eax
call fcn.004150f0
mov edx, str.:_trial_status_____________
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666494]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c2ea
push dword [edx - 0xc]
mov ecx, 0x666494
call fcn.00416560
mov edx, dword [0x666494]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c340
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c336
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb99
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c353
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xed
mov ecx, eax
call fcn.004150f0
mov edx, str.:_controllers_version______
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666498]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c3b4
push dword [edx - 0xc]
mov ecx, 0x666498
call fcn.00416560
mov edx, dword [0x666498]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c40a
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c400
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cb9e
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c41d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xee
mov ecx, eax
call fcn.004150f0
mov edx, str.:_database_version_________
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x66649c]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c47e
push dword [edx - 0xc]
mov ecx, 0x66649c
call fcn.00416560
mov edx, dword [0x66649c]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c4d4
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c4ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cba3
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c4e7
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xef
mov ecx, eax
call fcn.004150f0
mov edx, str.:_product_code_____________
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x6664a0]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c548
push dword [edx - 0xc]
mov ecx, 0x6664a0
call fcn.00416560
mov edx, dword [0x6664a0]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c59e
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c594
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cba8
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c5b1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xf0
mov ecx, eax
call fcn.004150f0
mov edx, str.:_parent_pathname__________
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666474]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c612
push dword [edx - 0xc]
mov ecx, 0x666474
call fcn.00416560
mov edx, dword [0x666474]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c668
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c65e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cbad
push edx
push ecx
call fcn.00573d6d
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c67b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0xf1
mov ecx, eax
call fcn.004150f0
mov edx, str.:_parent_signer_name_______
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666478]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c6dc
push dword [edx - 0xc]
mov ecx, 0x666478
call fcn.00416560
mov edx, dword [0x666478]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c732
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c728
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cbb2
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov dword [ebp - 0x38], 0
call fcn.004313f0
test al, al
je 0x41c768
push str.the_support_tool_is_uninstalling_us__skipping_the_UI_and_calling_the_uninstaller
mov edx, 0xf9
mov ecx, 0x63c398
call fcn.0042abe0
add esp, 4
lea ecx, [ebp - 0x38]
mov dl, 1
call fcn.00431680
jmp 0x41c85d
call fcn.00431830
call fcn.0042b280
call fcn.0041d220
lea ecx, [ebp - 0x30]
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c78a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x665180
call fcn.004177a0
add esp, 4
mov edx, 0x63c398
mov ecx, eax
call fcn.0041a4a0
mov edx, 0x63d6e4
mov ecx, eax
call fcn.0041a4a0
push 0x105
mov ecx, eax
call fcn.004150f0
mov edx, str.:_final_license_state__
mov ecx, eax
call fcn.0041a4a0
mov edx, dword [0x666484]
mov esi, eax
cmp dword [edx - 4], 1
jle 0x41c7eb
push dword [edx - 0xc]
mov ecx, 0x666484
call fcn.00416560
mov edx, dword [0x666484]
mov ecx, esi
call fcn.00416940
mov edx, 0x63d6e0
mov ecx, eax
call fcn.00416940
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x1c]
add esp, 4
cmp edx, 8
jb 0x41c841
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c837
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cbb7
push edx
push ecx
call fcn.00573d6d
add esp, 8
call fcn.00431f00
push str.quitting_mb4uns
mov edx, 0x10a
mov ecx, 0x63c398
call fcn.0042abe0
add esp, 4
push dword [ebp - 0x54]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, str._mb4uns_finished_at
mov ecx, 0x665180
call fcn.0041a4a0
lea ecx, [ebp - 0x228]
mov esi, eax
call fcn.0043fe00
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x41c893
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.004177a0
add esp, 4
mov edx, 0x63ca60
mov ecx, eax
call fcn.0041a4a0
push dword [ebp - 0x38]
mov ecx, eax
call fcn.004150f0
mov edx, 0x63ca50
mov ecx, eax
call fcn.0041a4a0
push eax
call fcn.00416cb0
mov edx, dword [ebp - 0x214]
add esp, 4
cmp edx, 8
jb 0x41c90b
mov ecx, dword [ebp - 0x228]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c901
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cbbc
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov edi, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 7
mov word [ebp - 0x228], ax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 4], 0x10
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x41c94a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x58]
mov esi, dword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
test eax, eax
je 0x41c961
push eax
call esi
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x41c96b
push eax
call esi
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x41c975
push eax
call esi
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x41c9af
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c9a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cbc1
push edx
push ecx
call fcn.00573d6d
add esp, 8
xor eax, eax
mov dword [ebp - 0x64], 0
mov word [ebp - 0x74], ax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x60], 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 - 0x200]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x204], eax
lea ecx, [ebp - 0x1fc]
call fcn.0041eab0
mov eax, dword [ebp - 0x200]
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 - 0x200]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x204], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 4], 0x11
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00571965
mov eax, dword [ebp - 0x150]
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 - 0x150]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x154], eax
lea ecx, [ebp - 0x14c]
call fcn.0040aad0
mov eax, dword [ebp - 0x150]
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 - 0x150]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x154], eax
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 0x12
push eax
mov dword [ebp - 0xe8], vtable.std::ios_base.0
call fcn.00571965
mov edx, dword [ebp - 0x78]
add esp, 4
cmp edx, 8
jb 0x41caf2
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cae8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cbc6
push edx
push ecx
call fcn.00573d6d
add esp, 8
mov eax, edi
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.0057380b
mov esp, ebp
pop ebp
ret 0x10
call fcn.0057f56e
call fcn.0057f56e
push 0x80070057
call fcn.00403f80
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
push 0x80004005
call fcn.00403f80
push 0x80004005
call fcn.00403f80
call fcn.00403dd0
push 0x80004005
call fcn.00403f80
call fcn.0057f56e
push 0x80004005
call fcn.00403f80
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
call fcn.0057f56e
int3