Function at 0x42ed00
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb44
mov eax, dword [0x536014]
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 0x42edf4
push str.PdfReader
push 1
push 1
push eax
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov dword [0x53c734], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x42ee7f
push str.ERROR_ALREADY_EXISTS
call fcn.0041c420
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 0x42edde
nop word [eax + eax]
push str.PdfReader
push esi
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
jne 0x42ee3c
push 2
push esi
call edi
mov esi, eax
push esi
call ebx
test eax, eax
jne 0x42edc0
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jns 0x42eda1
call dword [sym.imp.ole32.dll_OleUninitialize]
mov ebx, dword [esp + 0x1c]
xor esi, esi
test ebx, ebx
je 0x42f2d0
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 0x42f2a0
jmp 0x42f2e9
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 0x42ee6b
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 0x42edf8
push 0x208
lea eax, [esp + 0x73c]
push 0
push eax
call fcn.0048acb0
add esp, 0xc
lea eax, [esp + 0x940]
push 0x208
push 0
push eax
call fcn.0048acb0
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.00466950
mov ecx, eax
call fcn.00430380
push 0x208
mov ebx, eax
lea eax, [esp + 0x534]
push 0
push eax
call fcn.0048acb0
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.0048a0e3
movups xmm0, xmmword [str...PdfReader]
add esp, 8
movups xmmword [eax + 2], xmm0
movq xmm0, qword [0x50da20]
movq qword [eax + 0x12], xmm0
mov cx, word [0x50da28]
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.004302b0
push ecx
lea edx, [ebx + 0xe70]
lea ecx, [esp + 0x14]
call fcn.004301b0
push ecx
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
push dword [esp + 0x18]
call fcn.004302b0
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.00466950
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 0x42f04a
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 0x42f045
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 0x45
push 0x50e820
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 0x42f161
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 0x42f178
push 0
push 0x50db5c
push 0x50db64
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.00466950
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.00457180
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.0040c880
lea ecx, [esp + 0x40]
call fcn.00413490
push dword [esp + 0x29c]
mov ecx, edi
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::Run_struct_HWND____]
mov ecx, 0x536a84
mov dword [esp + 0xc], eax
call fcn.00403650
lea ecx, [esp + 0x40]
call fcn.0040ca10
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 0x42f25a
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x42f267
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x42f274
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, ebx
je 0x42f28d
mov ecx, ebx
call fcn.0042f390
push 0xe74
push ebx
call fcn.00466918
add esp, 8
call dword [sym.imp.ole32.dll_OleUninitialize]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
jmp 0x42edfa
lea eax, [eax + eax*2]
shl eax, 3
cmp eax, 0x1000
jb 0x42f2c7
test bl, 0x1f
jne 0x42f2ee
mov eax, dword [ebx - 4]
cmp eax, ebx
jae 0x42f2f3
sub ebx, eax
cmp ebx, 4
jb 0x42f2f8
cmp ebx, 0x23
ja 0x42f2fd
mov ebx, eax
push ebx
call fcn.00466902
add esp, 4
mov ecx, dword [esp + 0xb4c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00466907
mov esp, ebp
pop ebp
ret 0x10
call fcn.004ab969
call fcn.004ab969
call fcn.004ab969
call fcn.004ab969
call fcn.004ab969
int3