Function at 0x475a70
Capabilities:
Check mutex on windows
Inspect load icon resource
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5456a9
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x5ac020]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
or eax, 0xffffffff
mov dword [0x5bd8e4], 0
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
push 0x8003
mov dword [esp + 0x28], 0
mov dword [esp + 0x48], 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [0x5bdd24], 0
mov dword [0x5bdd00], eax
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.user32.dll
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esp + 0x28], eax
test eax, eax
je 0x475b46
push str.ChangeWindowMessageFilter
push eax
call ebx
test eax, eax
je 0x475b40
push 1
push 0x111
call eax
push dword [esp + 0x28]
call esi
push str.user32.dll
call edi
mov dword [esp + 0x28], eax
test eax, eax
je 0x475b70
push str.ChangeWindowMessageFilter
push eax
call ebx
test eax, eax
je 0x475b6a
push 1
push 0x233
call eax
push dword [esp + 0x28]
call esi
push str.user32.dll
call edi
mov dword [esp + 0x28], eax
test eax, eax
je 0x475b97
push str.ChangeWindowMessageFilter
push eax
call ebx
test eax, eax
je 0x475b91
push 1
push 0x4a
call eax
push dword [esp + 0x28]
call esi
push str.user32.dll
call edi
mov dword [esp + 0x28], eax
test eax, eax
je 0x475bbe
push str.ChangeWindowMessageFilter
push eax
call ebx
test eax, eax
je 0x475bb8
push 1
push 0x49
call eax
push dword [esp + 0x28]
call esi
push str.user32.dll
call edi
mov dword [esp + 0x28], eax
test eax, eax
je 0x475be8
push str.ChangeWindowMessageFilter
push eax
call ebx
test eax, eax
je 0x475be2
push 1
push 0x218
call eax
push dword [esp + 0x28]
call esi
push str.user32.dll
call edi
mov dword [esp + 0x28], eax
test eax, eax
je 0x475c0f
push str.ChangeWindowMessageFilter
push eax
call ebx
test eax, eax
je 0x475c09
push 1
push 0x16
call eax
push dword [esp + 0x28]
call esi
push str.user32.dll
call edi
mov edi, eax
test edi, edi
je 0x475c31
push str.ChangeWindowMessageFilter
push edi
call ebx
test eax, eax
je 0x475c2e
push 1
push 0x11
call eax
push edi
call esi
mov ebx, dword [ebp + 0x10]
mov ecx, 0x5be2fc
push ebx
call fcn.00411910
push 0x57b750
mov ecx, 0x5be2fc
call fcn.00411d50
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x475de3
mov ecx, str.Privacy_Drive_Std_Main_Frame
xor ebx, ebx
xor edi, edi
call fcn.0042b9f0
mov dword [esp + 0x14], eax
test eax, eax
je 0x475cc3
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexW]
push str._Privacy_Drive
push edi
push edi
call esi
push 0x573b4c
push edi
push edi
mov ebx, eax
call esi
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
mov edi, eax
push 0
push 0x2704
push 0x111
push dword [esp + 0x20]
call esi
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x4d5
push 0x111
push dword [esp + 0x20]
call esi
xor eax, eax
xor esi, esi
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x475cdf
push str.__hMainFrame___Opened
lea esi, [eax + 1]
call fcn.0041d940
add esp, 4
test edi, edi
je 0x475cf1
push str.__hMainFrameUI___Opened
inc esi
call fcn.0041d940
add esp, 4
test esi, esi
je 0x476323
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x2c]
push esi
call fcn.00477eb0
mov eax, dword [esp + 0x2c]
test ebx, ebx
je 0x475d34
mov dword [eax], ebx
mov ecx, 1
jmp 0x475d36
xor ecx, ecx
test edi, edi
je 0x475d3d
mov dword [eax + ecx*4], edi
cmp dword [0x5be310], 1
mov eax, 0x7530
jbe 0x475d66
push 1
mov ecx, 0x5be2fc
call fcn.00411c00
push eax
call fcn.005012de
add esp, 4
imul eax, eax, 0x3e8
push eax
push 1
push dword [esp + 0x34]
push esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov esi, dword [esp + 0x14]
cmp eax, 0x102
mov ecx, 1
cmove esi, ecx
mov dword [esp + 0x14], esi
test ebx, ebx
je 0x475d94
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x475da3
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
jmp 0x475da9
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x60], 0xffffffff
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x475dda
push eax
call fcn.0051d3d0
add esp, 4
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov ebx, dword [esp + 0x14]
jmp 0x47610b
cmp dword [0x5be310], 0
jbe 0x475ec4
push 0
lea eax, [esp + 0x30]
mov ecx, 0x5be300
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00412010
mov ecx, eax
call fcn.004122f0
mov esi, dword [eax]
test esi, esi
je 0x475e15
mov esi, dword [esi]
mov edx, dword [eax + 8]
mov eax, edx
mov ecx, dword [esi + 8]
and edx, 3
shr eax, 2
dec ecx
and ecx, eax
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*4]
cmp dword [eax], 2
jne 0x475ec4
push str.FormatDialog
push 0
mov ecx, 0x5be2fc
call fcn.00411c00
push eax
call fcn.00500c00
add esp, 8
test eax, eax
jne 0x475ec4
cmp dword [0x5be310], 3
jne 0x475ec4
call fcn.004d3270
test eax, eax
je 0x476108
push 1
mov ecx, 0x5be2fc
call fcn.00411c00
push eax
call fcn.005012de
add esp, 4
mov ecx, 0x5be2fc
mov esi, eax
push 2
call fcn.00411c00
push eax
call fcn.005012de
mov edi, eax
add esp, 4
cmp edi, 0x1a
jae 0x476102
push esi
call dword [sym.imp.USER32.dll_IsWindow]
neg eax
push 1
push 0xffff
sbb eax, eax
and eax, esi
push edi
push eax
call dword [sym.imp.SHELL32.dll_SHFormatDrive]
jmp 0x476102
push str.Mount
push ecx
mov ecx, 0x5be2fc
call fcn.00411e30
test eax, eax
jne 0x475f0f
push str.Dismount
push ecx
mov ecx, 0x5be2fc
call fcn.00411e30
test eax, eax
jne 0x475f0f
push str.DismountAll
push ecx
mov ecx, 0x5be2fc
call fcn.00411e30
test eax, eax
jne 0x475f0f
call fcn.0040fa00
test eax, eax
je 0x476108
jmp 0x475f17
mov dword [esp + 0x14], 1
call dword [sym.imp.ole32.dll_CoUninitialize]
push 6
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jne 0x476108
push eax
push eax
push eax
push 3
push 4
push eax
push eax
push 0xffffffffffffffff
push eax
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jne 0x476108
push eax
call dword [sym.imp.ole32.dll_OleInitialize]
test eax, eax
jne 0x476108
call fcn.0046a570
push 0
test eax, eax
jne 0x475f79
push str.Error
push str.Failed_to_initialize_algorithms_library__n
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x476108
push 0
push 0x5bdd00
call fcn.004769b0
add esp, 0xc
test eax, eax
je 0x476108
cmp dword [0x5bdd08], 0
je 0x475fb7
call fcn.004d35a0
test eax, eax
je 0x475fb7
call fcn.004d3270
test eax, eax
jne 0x475fb7
mov ecx, ebx
call fcn.00477d30
jmp 0x476108
push 0
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
test eax, eax
je 0x475fe6
push 0
push str.Error
push str.Failed_to_initialize_GDIPlus_library__n
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x476108
cmp dword [0x5bdd90], 8
mov ecx, 0x5bdd7c
cmovae ecx, dword [0x5bdd7c]
call fcn.00481d30
push 0
push 0
push 0x5be28c
push 0x5bdd14
call fcn.0042bee0
add esp, 0x10
test eax, eax
jne 0x47602f
push eax
push str.Error
push str.Failed_to_initialize_application_resource_file__n
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x476108
mov ecx, 0x5bdd14
call fcn.0042cdd0
test eax, eax
jne 0x476054
push eax
push str.Error
push str.Failed_to_initialize_Skin_library__n
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x476108
push 0xac
call fcn.004ffcfe
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], 1
test eax, eax
je 0x47607a
mov ecx, eax
call fcn.004b87d0
jmp 0x47607c
xor eax, eax
mov dword [esp + 0x60], 0xffffffff
mov dword [0x5bdd24], eax
test eax, eax
je 0x476108
mov ecx, eax
call fcn.004b8b80
call fcn.00476500
test eax, eax
jne 0x4760b1
push eax
push str.Error
push str.Load_Language_Data_Failed__n
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x476108
push ecx
call fcn.00428fb0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x6c
push 0
call esi
mov edi, dword [sym.imp.USER32.dll_LoadIconW]
push eax
call edi
push eax
push 0x6b
push 0
call esi
push eax
call edi
push eax
push 0xb
mov ecx, str.cbfxREMINDER
call fcn.004d43a0
add esp, 0xc
push 0
test eax, eax
jne 0x4761d4
push str.Error
push str.Failed_to_register_Registration_Reminder_window__n
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
or ebx, 0xffffffff
mov eax, dword [0x5be4f8]
test al, 1
jne 0x47613e
or eax, 1
mov dword [0x5be4f8], eax
mov dword [esp + 0x60], 2
call fcn.0040cc80
push 0x550e00
call fcn.00501191
add esp, 4
mov dword [esp + 0x60], 0xffffffff
cmp dword [0x5be504], 0
je 0x476191
push dword [0x5be508]
mov dword [0x5be50c], 1
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 0xffffffffffffffff
push dword [0x5be504]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x5be508]
call edi
mov dword [0x5be508], 0
mov dword [0x5be504], 0
mov dword [0x5be50c], 0
cmp dword [0x5bdd08], 0
je 0x476379
call fcn.0041cbe0
test eax, eax
je 0x476379
cmp dword [0x5be2b0], 0
je 0x476353
cmp dword [0x5be2b4], 5
mov ecx, 0x5be2ac
jae 0x476332
call fcn.004a6b80
jmp 0x476337
push 0
push 0x400b
mov ecx, str.cbfxDialog
call fcn.004d43a0
add esp, 0xc
test eax, eax
jne 0x4761fc
push eax
push str.Error
push str.Failed_to_register_dialog_window__n
jmp 0x4760fa
push 0x6c
push 0
call esi
push eax
call edi
push eax
push 0x6b
push 0
call esi
push eax
call edi
push eax
push 0xb
mov ecx, str.cbfxMessageBox
call fcn.004d43a0
add esp, 0xc
push 0
test eax, eax
jne 0x476234
push str.Error
push str.Failed_to_register_message_dialog_window__n
jmp 0x4760fa
push 0
push 0xb
mov ecx, str.cbfxPopMenu
call fcn.004d43a0
add esp, 0xc
test eax, eax
jne 0x476259
push eax
push str.Error
push str.Failed_to_register_menu_window__n
jmp 0x4760fa
cmp dword [0x5bdd08], 0
je 0x4762af
call fcn.0041cbe0
mov esi, dword [esp + 0x14]
test eax, eax
je 0x4762b3
test esi, esi
je 0x476293
call fcn.0041cee0
neg eax
sbb ebx, ebx
inc ebx
mov dword [esp + 0x18], ebx
call fcn.0041d0b0
mov ebx, eax
neg ebx
sbb ebx, ebx
inc ebx
mov dword [esp + 0x1c], ebx
jmp 0x4762b3
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 1
call fcn.0041cee0
call fcn.0041d0b0
jmp 0x4762b3
mov esi, dword [esp + 0x14]
call fcn.0040cc10
mov ecx, eax
call fcn.0040cf90
test eax, eax
je 0x476102
lea edx, [esp + 0x20]
call fcn.0040fd70
test eax, eax
jne 0x476314
test esi, esi
jne 0x476314
cmp dword [0x5bd8bc], esi
je 0x476314
mov ecx, 0x5be2ac
call fcn.004a5820
call fcn.00477320
test eax, eax
je 0x476314
call fcn.0042cc80
push esi
push esi
push 0x5bdd00
call fcn.00476df0
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0xc
mov ebx, eax
jmp 0x47610b
mov ebx, dword [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x47610b
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [esp + 0x14]
jmp 0x47610b
call fcn.004a6d40
test eax, eax
jne 0x47636d
mov ecx, 0x5be2ac
call fcn.004a7160
test eax, eax
jne 0x47636d
mov ecx, 0x5be2ac
call fcn.004a58d0
cmp dword [esp + 0x18], 0
je 0x47635f
call fcn.0041d260
cmp dword [esp + 0x1c], 0
je 0x4763a8
call fcn.0041d2c0
jmp 0x4763a8
mov ecx, 0x5be2ac
call fcn.004a58d0
jmp 0x47635f
mov eax, dword [0x5be2b0]
test eax, eax
je 0x476394
cmp eax, 0xffffffff
je 0x476394
push eax
call edi
mov dword [0x5be2b0], 0
mov ecx, 0x5be2ac
mov dword [0x5be2b4], 0
call fcn.004a6ed0
mov eax, dword [0x5bd8b8]
test eax, eax
je 0x4763be
push eax
call edi
mov dword [0x5bd8b8], 0
mov eax, dword [0x5bd8bc]
test eax, eax
je 0x4763d4
push eax
call edi
mov dword [0x5bd8bc], 0
mov esi, dword [sym.imp.USER32.dll_UnregisterClassW]
push 0
push str.cbfxREMINDER
call esi
push 0
push str.cbfxDialog
call esi
push 0
push str.cbfxMessageBox
call esi
push 0
push str.cbfxPopMenu
call esi
mov ecx, 0x5bdb08
call fcn.0042a1e0
mov ecx, dword [0x5bdcc4]
test ecx, ecx
je 0x476422
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x5bdcc4], 0
mov ecx, dword [0x5bdb0c]
mov dword [0x5bdcc8], 0
test ecx, ecx
je 0x476446
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x5bdb0c], 0
mov ecx, dword [0x5bd8b4]
test ecx, ecx
je 0x476460
push ecx
call fcn.0042b130
mov dword [0x5bd8b4], 0
mov esi, dword [0x5bdd24]
test esi, esi
je 0x47647a
mov ecx, esi
call fcn.004b89a0
push esi
call fcn.0051d3d0
add esp, 4
mov esi, dword [0x5bd8dc]
test esi, esi
je 0x4764c0
mov dword [esp + 0x28], esi
mov dword [esp + 0x60], 0xffffffff
push 0x55c1c8
mov dword [esi], vtable.PDCryptRandom.0
call fcn.0051e870
add esp, 4
push esi
call fcn.0051d3d0
add esp, 4
mov dword [0x5bd8dc], 0
call fcn.004c5560
call fcn.004c3570
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4764cf
push eax
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
call dword [sym.imp.ole32.dll_OleUninitialize]
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
invalid