Function at 0x40eb60
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46f4a4
mov eax, dword fs:[0]
push eax
sub esp, 0x7ac
mov eax, dword [0x4a5010]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7ac], ecx
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0xe74
mov dword [ebp - 0x7b8], 0
call fcn.0043fb25
mov esi, eax
mov dword [ebp - 0x7b4], esi
push 0xe74
push 0
push esi
mov dword [ebp - 4], 0
call fcn.00458500
add esp, 0xc
mov ecx, esi
call fcn.0040fcd0
mov esi, eax
lea eax, [ebp - 0x218]
push 0x208
push 0
push eax
mov dword [ebp - 0x7b4], esi
call fcn.00458500
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x208
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.004576da
mov ecx, eax
add esp, 8
mov eax, dword [0x48b100]
mov dword [ecx + 2], eax
mov ax, word [0x48b104]
mov word [ecx + 6], ax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [ebp - 0x22c], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x228], 0
push ecx
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 2
push eax
push str.render_gdi.dll
lea ecx, [esi + 0x210]
call fcn.0040fc50
push ecx
lea edx, [esi + 0xe70]
lea ecx, [ebp - 0x21c]
call fcn.0040fbc0
push ecx
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 3
push eax
push dword [ebp - 0x21c]
mov ecx, esi
call fcn.0040fc50
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 2
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov ecx, dword [ebp - 0x228]
push dword [ebp - 0x22c]
mov eax, dword [ecx]
call dword [eax + 0x10]
push 0xb4
call fcn.0043fb25
mov edi, eax
add esp, 4
mov dword [ebp - 0x7b0], edi
mov byte [ebp - 4], 4
push str.SOUIHOST
push dword [ebp - 0x7ac]
mov ecx, edi
push dword [ebp - 0x228]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::constructor_struct_SOUI::IRenderFactory___struct_HINSTANCE_____wchar_t_const__]
mov dword [edi], vtable.SOUI::SApplication.1.0
mov dword [edi + 4], vtable.SOUI::SApplication.0
mov dword [ebp - 0x21c], 0
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 5
push eax
push 0
call dword [sym.imp.soui.dll_int___cdecl_SOUI::CreateResProvider_enum_SOUI::BUILTIN_RESTYPE__struct_IObjRef___]
mov ecx, dword [ebp - 0x21c]
add esp, 8
mov eax, dword [ecx]
push 0
push dword [ebp - 0x7ac]
call dword [eax + 0xc]
push dword [ebp - 0x21c]
mov ecx, edi
call dword [sym.imp.soui.dll_public:_unsigned_int___thiscall_SOUI::SApplication::LoadSystemNamedResource_struct_SOUI::IResProvider__]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x21c]
test ecx, ecx
je 0x40ed4f
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x224], 0
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 6
push eax
push 0
call dword [sym.imp.soui.dll_int___cdecl_SOUI::CreateResProvider_enum_SOUI::BUILTIN_RESTYPE__struct_IObjRef___]
mov ecx, dword [ebp - 0x224]
add esp, 8
mov eax, dword [ecx]
push 0
push dword [ebp - 0x7ac]
call dword [eax + 0xc]
push 1
push 0x94
push 0x4829f8
mov ecx, edi
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::InitXmlNamedID_struct_SOUI::TNAMEDVALUE_int__const___int__int_]
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SOUI::SImageView_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 7
mov esi, dword [sym.imp.soui.dll_public:_bool___thiscall_SOUI::SObjectFactoryMgr::RegisterFactory_class_SOUI::SObjectFactory___bool_]
lea ecx, [edi + 4]
push eax
call esi
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SOUI::SThumbImage_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 8
push eax
lea ecx, [edi + 4]
call esi
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SOUI::SMouseEvtFire_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 9
push eax
lea ecx, [edi + 4]
call esi
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SOUI::SSkinGif_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [edi + 4]
call esi
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SOUI::SGifPlayer_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 4]
call esi
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SOUI::SFBitmap_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [edi + 4]
call esi
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SOUI::SFadeFrame_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [edi + 4]
call esi
mov dword [ebp - method.SOUI::TplSObjectFactory_class_SOUI::SImageView_.virtual_0], vtable.SOUI::TplSObjectFactory_class_SReddotImageBtn_.0
push 0
lea eax, [ebp - 0x7ac]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [edi + 4]
call esi
push str.uidef:xml_init
mov byte [ebp - 4], 6
lea ecx, [edi + 0x10]
push dword [ebp - 0x224]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SResProviderMgr::AddResProvider_struct_SOUI::IResProvider___wchar_t_const__]
mov dword [ebp - 0x220], 0
push ecx
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x7b4]
push eax
push 0x48b24c
add ecx, 0x420
call fcn.0040fc50
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x40efbc
push eax
mov ecx, edi
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::SetTranslator_struct_SOUI::ITranslatorMgr__]
lea ecx, [ebp - 0x30c]
call dword [sym.imp.utilities.dll_public:_void___thiscall_pugi::xml_document::constructor_void_]
push str.lang
push 0x4a9d34
lea eax, [ebp - 0x30c]
mov byte [ebp - 4], 0x10
mov esi, dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::LoadXmlDocment_class_pugi::xml_document___wchar_t_const___wchar_t_const__]
mov ecx, edi
push eax
call esi
test eax, eax
jne 0x40ef38
push str.lang
push 0x48b148
lea eax, [ebp - 0x30c]
mov ecx, edi
push eax
call esi
push 0x48b148
push 0x104
push 0x4a9d34
mov esi, eax
call fcn.00459bde
add esp, 0xc
test esi, esi
je 0x40efac
mov dword [ebp - 0x21c], 0
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x21c]
mov ecx, dword [ebp - 0x220]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [ebp - 0x21c]
lea eax, [ebp - 0x7ac]
push 1
push 0
push str.language
mov edi, dword [esi]
lea ecx, [ebp - 0x30c]
push eax
call dword [sym.imp.utilities.dll_public:_class_pugi::xml_node___thiscall_pugi::xml_node::child_wchar_t_const___bool_]
push eax
mov ecx, esi
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x220]
push dword [ebp - 0x21c]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x21c]
test ecx, ecx
je 0x40efa6
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x7b0]
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0xf
call dword [sym.imp.utilities.dll_public:_void___thiscall_pugi::xml_document::destructor_void_]
xorps xmm0, xmm0
lea ecx, [ebp - 0x244]
movups xmmword [ebp - 0x244], xmm0
movq qword [ebp - 0x234], xmm0
call fcn.004011d0
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x12
call fcn.00401550
test eax, eax
jne 0x40f09f
push 0x40
call fcn.0043fb25
mov esi, eax
add esp, 4
mov dword [ebp - 0x7b8], esi
mov ecx, esi
mov byte [ebp - 4], 0x13
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
mov byte [ebp - 4], 0x12
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__]
push 0x49c
lea eax, [ebp - 0x7a8]
push 0
push eax
call fcn.00458500
add esp, 0xc
lea ecx, [ebp - 0x7a8]
call fcn.00410f20
lea ecx, [ebp - 0x7a8]
mov byte [ebp - 4], 0x14
call fcn.00411260
push dword [ebp - 0x54c]
mov ecx, edi
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::Run_struct_HWND____]
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 0x7b8], eax
mov byte [ebp - 4], 0x12
call fcn.00411100
mov edx, dword [esi]
mov ecx, esi
push 1
call dword [edx]
xor edx, edx
lea ecx, [edx + 1]
call fcn.004331e0
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov eax, dword [ebp - 0x234]
lea ecx, [ebp - 0x234]
push eax
mov dword [ebp - method.CCommandParse.virtual_0], vtable.CCommandParse.0
push dword [eax]
lea eax, [ebp - 0x7b0]
push eax
call fcn.00401b90
push dword [ebp - 0x234]
call fcn.0043f53a
add esp, 4
lea ecx, [ebp - 0x240]
call fcn.00401a30
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x220]
test ecx, ecx
je 0x40f0f8
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x224]
test ecx, ecx
je 0x40f10b
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x228]
test ecx, ecx
je 0x40f11e
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x22c]
test ecx, ecx
je 0x40f134
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x7b4]
test esi, esi
je 0x40f153
mov ecx, esi
call fcn.0040f1e0
push 0xe74
push esi
call fcn.0043f550
add esp, 8
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, dword [ebp - 0x7b8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043f53f
mov esp, ebp
pop ebp
ret