Function at 0x42c470
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb44
mov eax, dword [0x533014]
xor eax, esp
mov dword [esp + 0xb40], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0
mov dword [esp + 0x2c], eax
call dword [sym.imp.ole32.dll_OleInitialize]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.0040a0b0
test eax, eax
jne 0x42c564
push 0x508cc0
push 1
push 1
push eax
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov dword [0x539614], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x42c5ef
push str.ERROR_ALREADY_EXISTS
call fcn.0041bf60
add esp, 4
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [sym.imp.USER32.dll_GetWindow]
mov ecx, 0xa
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
dec ecx
push 5
mov dword [esp + 0x10], ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
mov esi, eax
push esi
call ebx
test eax, eax
je 0x42c54e
nop word [eax + eax]
push 0x508cc0
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
jne 0x42c5ac
push 2
push esi
call edi
mov esi, eax
push esi
call ebx
test eax, eax
jne 0x42c530
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jns 0x42c511
call dword [sym.imp.ole32.dll_OleUninitialize]
mov ebx, dword [esp + 0x1c]
xor esi, esi
test ebx, ebx
je 0x42ca40
push dword [esp + 0xc]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, ebx
call fcn.0040ab20
mov ecx, dword [esp + 0x2c]
mov eax, 0x2aaaaaab
sub ecx, ebx
add esp, 8
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xaaaaaaa
jbe 0x42ca10
jmp 0x42ca59
mov ecx, dword [esp + 0x20]
mov eax, 0x2aaaaaab
mov ebx, dword [esp + 0x1c]
sub ecx, ebx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x42c5db
lea edx, [esp + 0x1c]
mov ecx, esi
call fcn.0040a370
mov ebx, dword [esp + 0x1c]
push 1
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
call dword [sym.imp.ole32.dll_OleUninitialize]
jmp 0x42c568
push 0x208
lea eax, [esp + 0x73c]
push 0
push eax
call fcn.00487ab0
add esp, 0xc
lea eax, [esp + 0x940]
push 0x208
push 0
push eax
call fcn.00487ab0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x744]
add esp, 0xc
push 0x104
push eax
push 0
call esi
lea eax, [esp + 0x738]
push eax
lea eax, [esp + 0x944]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCanonicalizeW]
push 0xe74
call fcn.00463756
mov ecx, eax
call fcn.0042daf0
push 0x208
mov ebx, eax
lea eax, [esp + 0x534]
push 0
push eax
call fcn.00487ab0
add esp, 0xc
lea eax, [esp + 0x530]
push 0x208
push eax
push 0
call esi
lea eax, [esp + 0x530]
push 0x5c
push eax
call fcn.00486ee3
movups xmm0, xmmword [str...PdfReader]
add esp, 8
movups xmmword [eax + 2], xmm0
movq xmm0, qword [0x50a9dc]
movq qword [eax + 0x12], xmm0
mov cx, word [0x50a9e4]
mov word [eax + 0x1a], cx
lea eax, [esp + 0x530]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push ecx
lea eax, [esp + 0x1c]
mov dword [esp + 0x30], 0
push eax
push str.render_gdi.dll
lea ecx, [ebx + 0x210]
mov dword [esp + 0x24], 0
call fcn.0042da20
push ecx
lea edx, [ebx + 0xe70]
lea ecx, [esp + 0x14]
call fcn.0042d920
push ecx
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
push dword [esp + 0x18]
call fcn.0042da20
lea ecx, [esp + 0x10]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x10]
push 0xb4
call fcn.00463756
add esp, 4
mov edi, eax
push str.SOUIHOST
push dword [esp + 0x2c]
mov ecx, edi
push dword [esp + 0x20]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::constructor_struct_SOUI::IRenderFactory___struct_HINSTANCE_____wchar_t_const__]
push str.soui_sys_resource.dll
mov dword [edi], vtable.SOUI::SApplication.1.0
mov dword [edi + 4], vtable.SOUI::SApplication.0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esp + 0xc], eax
test eax, eax
mov eax, dword [sym.imp.soui.dll_int___cdecl_SOUI::CreateResProvider_enum_SOUI::BUILTIN_RESTYPE__struct_IObjRef___]
je 0x42c7ba
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
push ecx
push 0
call eax
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [ecx]
push 0
push dword [esp + 0x10]
call dword [eax + 0xc]
push dword [esp + 0x10]
mov ecx, edi
call dword [sym.imp.soui.dll_public:_unsigned_int___thiscall_SOUI::SApplication::LoadSystemNamedResource_struct_SOUI::IResProvider__]
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x42c7b5
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [sym.imp.soui.dll_int___cdecl_SOUI::CreateResProvider_enum_SOUI::BUILTIN_RESTYPE__struct_IObjRef___]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
push ecx
push 0
call eax
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [ecx]
push 0
push dword [esp + 0x2c]
call dword [eax + 0xc]
push 1
push 0x44
push 0x50b810
mov ecx, edi
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::InitXmlNamedID_struct_SOUI::TNAMEDVALUE_int__const___int__int_]
push str.uidef:xml_init
push dword [esp + 0x18]
lea ecx, [edi + 0x10]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SResProviderMgr::AddResProvider_struct_SOUI::IResProvider___wchar_t_const__]
mov esi, dword [sym.imp.soui.dll_public:_bool___thiscall_SOUI::SObjectFactoryMgr::RegisterFactory_class_SOUI::SObjectFactory___bool_]
lea eax, [esp + 0xc]
push 0
push eax
lea ecx, [edi + 4]
mov dword [esp + 0x14], vtable.SOUI::TplSObjectFactory_class_PRPdfPageUI_.0
call esi
push 0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], vtable.SOUI::TplSObjectFactory_class_SPdfListView_.0
push eax
lea ecx, [edi + 4]
call esi
push 0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], vtable.SOUI::TplSObjectFactory_class_SChromeTabCtrl_.0
push eax
lea ecx, [edi + 4]
call esi
push 0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], vtable.SOUI::TplSObjectFactory_class_SCustomComboView_.0
push eax
lea ecx, [edi + 4]
call esi
push 0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], vtable.SOUI::TplSObjectFactory_class_PdfPreview_.0
push eax
lea ecx, [edi + 4]
call esi
push 0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], vtable.SOUI::TplSObjectFactory_class_SlistPdfPreView_.0
push eax
lea ecx, [edi + 4]
call esi
lea ecx, [esp + 0x468]
call dword [sym.imp.utilities.dll_public:_void___thiscall_pugi::xml_document::constructor_void_]
push str.LAYOUT
push str.xml_messagebox
lea eax, [esp + 0x470]
mov ecx, edi
push eax
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::LoadXmlDocment_class_pugi::xml_document___wchar_t_const___wchar_t_const__]
test eax, eax
je 0x42c8d1
push 0
push str.SOUI
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x474]
call dword [sym.imp.utilities.dll_public:_class_pugi::xml_node___thiscall_pugi::xml_node::child_wchar_t_const___bool_]
push dword [eax]
call dword [sym.imp.soui.dll_int___cdecl_SOUI::SetMsgTemplate_class_pugi::xml_node_]
add esp, 4
test eax, eax
jne 0x42c8e8
push 0
push 0x50ab14
push 0x50ab1c
push 0
call dword [sym.imp.soui.dll_int___cdecl_SOUI::SMessageBox_struct_HWND_____wchar_t_const___wchar_t_const___unsigned_int_]
add esp, 0x10
push 0x40
call fcn.00463756
add esp, 4
mov esi, eax
mov ecx, esi
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SNotifyCenter::constructor_void_]
mov dword [esi], vtable.SOUI::SNotifyCenter.1.0
mov dword [esi + 4], vtable.SOUI::SNotifyCenter.0
call dword [sym.imp.soui.dll_public:_static_wchar_t_const____cdecl_SOUI::EventCmd::GetClassNameW_void_]
push eax
push 0x2710
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SNotifyCenter____cdecl_SOUI::SSingleton_class_SOUI::SNotifyCenter_::getSingleton_void_]
lea ecx, [eax + 4]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SEventSet::addEvent_unsigned_long_int__wchar_t_const__]
mov ecx, dword [esp + 0x28]
call fcn.00453fd0
call fcn.004040d0
call fcn.00407c00
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 2
push eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call dword [sym.imp.pdfium.dll__FPDF_InitLibraryWithConfig_4]
lea ecx, [esp + 0x40]
call fcn.0040c910
lea ecx, [esp + 0x40]
call fcn.00413270
push dword [esp + 0x29c]
mov ecx, edi
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::Run_struct_HWND____]
mov ecx, 0x533a84
mov dword [esp + 0xc], eax
call fcn.00403650
lea ecx, [esp + 0x40]
call fcn.0040caa0
call dword [sym.imp.pdfium.dll__FPDF_DestroyLibrary_0]
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
lea ecx, [esp + 0x468]
call dword [sym.imp.utilities.dll_public:_void___thiscall_pugi::xml_document::destructor_void_]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x42c9ca
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x42c9d7
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x42c9e4
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, ebx
je 0x42c9fd
mov ecx, ebx
call fcn.0042cb00
push 0xe74
push ebx
call fcn.0046371e
add esp, 8
call dword [sym.imp.ole32.dll_OleUninitialize]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
jmp 0x42c56a
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x42ca37
test bl, 0x1f
jne 0x42ca5e
mov eax, dword [ebx - 4]
cmp eax, ebx
jae 0x42ca63
sub ebx, eax
cmp ebx, 4
jb 0x42ca68
cmp ebx, 0x23
ja 0x42ca6d
mov ebx, eax
push ebx
call fcn.00463708
add esp, 4
mov ecx, dword [esp + 0xb4c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0046370d
mov esp, ebp
pop ebp
ret 0x10
call fcn.004a8769
call fcn.004a8769
call fcn.004a8769
call fcn.004a8769
call fcn.004a8769
int3