Function at 0x419f20
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4884f0
mov eax, dword fs:[0]
push eax
sub esp, 0x81c
mov eax, dword [0x4c2010]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
mov dword [ebp - 0x828], eax
mov dword [ebp - 0x7e4], 0
push 0xe74
call fcn.004595c4
add esp, 4
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 4], 0
push 0xe74
mov ecx, dword [ebp - 0x7e8]
call fcn.00401320
push 0
mov ecx, dword [ebp - 0x7e8]
call fcn.0041ba60
mov dword [ebp - 0x7ec], eax
jmp 0x419fac
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x800], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x800]
mov dword [ebp - 0x7b8], ecx
xor edx, edx
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.004720a0
add esp, 0xc
push 0x208
lea ecx, [ebp - 0x218]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea edx, [ebp - 0x218]
push edx
call fcn.0041b9e0
add esp, 8
mov dword [ebp - 0x818], eax
mov eax, dword [ebp - 0x818]
add eax, 2
mov ecx, dword [0x49b98c]
mov dword [eax], ecx
mov dx, word [0x49b990]
mov word [eax + 4], dx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [ebp - 0x7bc], 0
push 4
lea ecx, [ebp - 0x230]
call fcn.00401320
lea ecx, [ebp - 0x230]
call fcn.00405880
mov dword [ebp - 4], 1
push 4
lea ecx, [ebp - 0x220]
call fcn.00401320
lea ecx, [ebp - 0x220]
call fcn.00405880
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x220]
call fcn.004023f0
push eax
mov ecx, dword [ebp - 0x7b8]
call fcn.0041b9b0
mov dword [ebp - 0x7bc], eax
lea ecx, [ebp - 0x230]
call fcn.004023f0
push eax
mov ecx, dword [ebp - 0x7b8]
call fcn.0041b850
mov dword [ebp - 0x7bc], eax
lea ecx, [ebp - 0x220]
call fcn.00401d70
mov dword [ebp - 0x7f0], eax
lea ecx, [ebp - 0x230]
call fcn.00401d70
push eax
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x10]
call eax
push 0xb4
call fcn.004595c4
add esp, 4
mov dword [ebp - 0x7ac], eax
mov byte [ebp - 4], 3
push str.SOUIHOST
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x220]
call fcn.00401d70
push eax
mov ecx, dword [ebp - 0x7ac]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::constructor_struct_SOUI::IRenderFactory___struct_HINSTANCE_____wchar_t_const__]
mov edx, dword [ebp - 0x7ac]
mov dword [edx], vtable.SOUI::SApplication.1.0
mov eax, dword [ebp - 0x7ac]
mov dword [eax + 4], vtable.SOUI::SApplication.0
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7f4], ecx
jmp 0x41a156
mov edx, dword [ebp - 0x7f4]
mov dword [ebp - 0x81c], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x7a8], eax
push 4
lea ecx, [ebp - 0x224]
call fcn.00401320
lea ecx, [ebp - 0x224]
call fcn.00405880
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x224]
call fcn.004023f0
push eax
push 0
call dword [sym.imp.soui.dll_int___cdecl_SOUI::CreateResProvider_enum_SOUI::BUILTIN_RESTYPE__struct_IObjRef___]
add esp, 8
lea ecx, [ebp - 0x224]
call fcn.00401d70
mov dword [ebp - 0x7c8], eax
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x7c8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7c8]
mov edx, dword [eax + 0xc]
call edx
lea ecx, [ebp - 0x224]
call fcn.00401d70
push eax
mov ecx, dword [ebp - 0x7a8]
call dword [sym.imp.soui.dll_public:_unsigned_int___thiscall_SOUI::SApplication::LoadSystemNamedResource_struct_SOUI::IResProvider__]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x224]
call fcn.0041a830
push 4
lea ecx, [ebp - 0x22c]
call fcn.00401320
lea ecx, [ebp - 0x22c]
call fcn.00405880
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x22c]
call fcn.004023f0
push eax
push 0
call dword [sym.imp.soui.dll_int___cdecl_SOUI::CreateResProvider_enum_SOUI::BUILTIN_RESTYPE__struct_IObjRef___]
add esp, 8
lea ecx, [ebp - 0x22c]
call fcn.00401d70
mov dword [ebp - 0x7cc], eax
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x7cc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7cc]
mov eax, dword [edx + 0xc]
call eax
push 1
push 0x92
push 0x49bae8
mov ecx, dword [ebp - 0x7a8]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::InitXmlNamedID_struct_SOUI::TNAMEDVALUE_int__const___int__int_]
mov ecx, dword [ebp - 0x7a8]
call fcn.0041a860
mov ecx, dword [ebp - 0x7a8]
call fcn.0041a890
mov ecx, dword [ebp - 0x7a8]
call fcn.0041a8c0
mov ecx, dword [ebp - 0x7a8]
call fcn.0041a8f0
mov ecx, dword [ebp - 0x7a8]
call fcn.0041a920
mov ecx, dword [ebp - 0x7a8]
call fcn.0041a950
push str.uidef:xml_init
lea ecx, [ebp - 0x22c]
call fcn.00401d70
push eax
mov ecx, dword [ebp - 0x7a8]
add ecx, 0x10
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SResProviderMgr::AddResProvider_struct_SOUI::IResProvider___wchar_t_const__]
push 4
lea ecx, [ebp - 0x21c]
call fcn.00401320
lea ecx, [ebp - 0x21c]
call fcn.00405880
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x21c]
call fcn.004023f0
push eax
mov ecx, dword [ebp - 0x7b8]
call fcn.0041b760
mov dword [ebp - 0x7bc], eax
lea ecx, [ebp - 0x21c]
call fcn.00401d70
test eax, eax
je 0x41a49a
lea ecx, [ebp - 0x21c]
call fcn.00401d70
push eax
mov ecx, dword [ebp - 0x7a8]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::SetTranslator_struct_SOUI::ITranslatorMgr__]
lea ecx, [ebp - 0x310]
call dword [sym.imp.utilities.dll_public:_void___thiscall_pugi::xml_document::constructor_void_]
mov byte [ebp - 4], 7
mov dword [ebp - 0x7b0], 0
push 0x49baa8
push 0x4c6d58
lea ecx, [ebp - 0x310]
push ecx
mov ecx, dword [ebp - 0x7a8]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::LoadXmlDocment_class_pugi::xml_document___wchar_t_const___wchar_t_const__]
mov dword [ebp - 0x7b0], eax
cmp dword [ebp - 0x7b0], 0
jne 0x41a3b1
push str.lang
push 0x49bac0
lea edx, [ebp - 0x310]
push edx
mov ecx, dword [ebp - 0x7a8]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::LoadXmlDocment_class_pugi::xml_document___wchar_t_const___wchar_t_const__]
mov dword [ebp - 0x7b0], eax
push 0x49bac8
push 0x104
push 0x4c6d58
call fcn.0047377e
add esp, 0xc
cmp dword [ebp - 0x7b0], 0
je 0x41a48a
push 4
lea ecx, [ebp - 0x228]
call fcn.00401320
lea ecx, [ebp - 0x228]
call fcn.00405880
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x21c]
call fcn.00401d70
mov dword [ebp - 0x7d0], eax
lea ecx, [ebp - 0x228]
call fcn.004023f0
push eax
mov eax, dword [ebp - 0x7d0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x7d0]
mov eax, dword [edx + 0x14]
call eax
lea ecx, [ebp - 0x228]
call fcn.00401d70
mov dword [ebp - 0x7d4], eax
push 1
push 0
push str.language
lea ecx, [ebp - 0x824]
push ecx
lea ecx, [ebp - 0x310]
call dword [sym.imp.utilities.dll_public:_class_pugi::xml_node___thiscall_pugi::xml_node::child_wchar_t_const___bool_]
push eax
mov edx, dword [ebp - 0x7d4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7d4]
mov edx, dword [eax + 0xc]
call edx
lea ecx, [ebp - 0x21c]
call fcn.00401d70
mov dword [ebp - 0x7d8], eax
lea ecx, [ebp - 0x228]
call fcn.00401d70
push eax
mov eax, dword [ebp - 0x7d8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x7d8]
mov eax, dword [edx + 0x18]
call eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x228]
call fcn.0041a830
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x310]
call dword [sym.imp.utilities.dll_public:_void___thiscall_pugi::xml_document::destructor_void_]
push 0x18
lea ecx, [ebp - 0x248]
call fcn.00401320
lea ecx, [ebp - 0x248]
call fcn.004011e0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x248]
call fcn.00401480
test eax, eax
jne 0x41a5f8
push 0x40
call fcn.004595c4
add esp, 4
mov dword [ebp - 0x7b4], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x7b4]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SNotifyCenter::constructor_void_]
mov ecx, dword [ebp - 0x7b4]
mov dword [ecx], vtable.SOUI::SNotifyCenter.1.0
mov edx, dword [ebp - 0x7b4]
mov dword [edx + 4], vtable.SOUI::SNotifyCenter.0
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x7dc], eax
jmp 0x41a51a
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x820], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x820]
mov dword [ebp - 0x7f8], edx
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_]
add eax, 4
mov ecx, eax
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SEventSet::addEvent_unsigned_long_int__wchar_t_const__]
push 0x494
lea ecx, [ebp - 0x7a4]
call fcn.00401320
lea ecx, [ebp - 0x7a4]
call fcn.0041ef60
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7a4]
call fcn.0041f210
mov eax, dword [ebp - 0x548]
push eax
mov ecx, dword [ebp - 0x7a8]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::Run_struct_HWND____]
mov dword [ebp - 0x7e4], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x7a4]
call fcn.0041f150
mov ecx, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], ecx
mov edx, dword [ebp - 0x7fc]
mov dword [ebp - 0x7c0], edx
cmp dword [ebp - 0x7c0], 0
je 0x41a5e2
push 1
mov eax, dword [ebp - 0x7c0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x7c0]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x814], eax
jmp 0x41a5ec
mov dword [ebp - 0x814], 0
push 0
push 1
call fcn.0044be60
add esp, 8
mov ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x804], ecx
mov edx, dword [ebp - 0x804]
mov dword [ebp - 0x7c4], edx
cmp dword [ebp - 0x7c4], 0
je 0x41a635
push 1
mov eax, dword [ebp - 0x7c4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x7c4]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x808], eax
jmp 0x41a63f
mov dword [ebp - 0x808], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x248]
call fcn.00401340
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x21c]
call fcn.0041a830
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x22c]
call fcn.0041a830
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x220]
call fcn.0041a830
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.0041a830
mov ecx, dword [ebp - 0x7b8]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x80c]
mov dword [ebp - 0x7e0], edx
cmp dword [ebp - 0x7e0], 0
je 0x41a6c3
push 1
mov ecx, dword [ebp - 0x7e0]
call fcn.0041a770
mov dword [ebp - 0x810], eax
jmp 0x41a6cd
mov dword [ebp - 0x810], 0
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, dword [ebp - 0x7e4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00458fdd
mov esp, ebp
pop ebp
ret