Function at 0x58be70
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xca4
mov eax, dword [0x7060c4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
call fcn.004aa8d0
mov ecx, eax
call fcn.005871c0
call fcn.0058de40
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x224]
call fcn.00446d70
lea ecx, [ebp - 0x224]
call fcn.0044da70
movzx ecx, al
test ecx, ecx
jne 0x58c00b
push 0x695b64
call fcn.004aa8d0
add eax, 0x94
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.004425b0
add esp, 8
push eax
push 0x695b6c
lea eax, [ebp - 0x32c]
push eax
call fcn.004600c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x254]
push ecx
call fcn.004443a0
add esp, 0xc
lea ecx, [ebp - 0x32c]
call fcn.0043c8a0
lea ecx, [ebp - 0x314]
call fcn.0043c8a0
push 0x695b70
lea ecx, [ebp - 0x26c]
call fcn.00446d70
push 0
lea edx, [ebp - 0x254]
push edx
lea ecx, [ebp - 0x224]
call fcn.0044df80
mov dword [ebp - 0xc54], eax
cmp dword [ebp - 0xc54], 0
jne 0x58bf82
mov eax, dword [0x67bf0c]
push eax
lea ecx, [ebp - 0x254]
call fcn.0044e670
push eax
lea ecx, [ebp - 0x2fc]
push ecx
lea ecx, [ebp - 0x224]
call fcn.0044ffd0
push eax
lea ecx, [ebp - 0x224]
call fcn.00447ac0
lea ecx, [ebp - 0x2fc]
call fcn.0043c8a0
mov edx, dword [0x67bf0c]
push edx
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x224]
call fcn.0059a140
mov dword [ebp - 0xc10], eax
lea ecx, [ebp - 0x224]
call fcn.0044e670
mov esi, eax
lea ecx, [ebp - 0x26c]
call fcn.0044e670
sub esi, eax
cmp dword [ebp - 0xc10], esi
jne 0x58bff5
mov ecx, dword [ebp - 0xc10]
push ecx
push 0
lea edx, [ebp - 0x2e4]
push edx
lea ecx, [ebp - 0x224]
call fcn.0044ffd0
push eax
lea ecx, [ebp - 0x224]
call fcn.00447ac0
lea ecx, [ebp - 0x2e4]
call fcn.0043c8a0
lea ecx, [ebp - 0x26c]
call fcn.0043c8a0
lea ecx, [ebp - 0x254]
call fcn.0043c8a0
call dword [0x7116a4]
movzx eax, al
test eax, eax
je 0x58c03d
call dword [0x7116ac]
cmp eax, 1
jg 0x58c03d
push 0x695b78
push 1
push 0xb8
push 0x695b98
call dword [0x7116b4]
add esp, 0x10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc7c], esp
lea edx, [ebp - 0x224]
push edx
call fcn.00446bf0
call fcn.0058cfc0
add esp, 0x18
test eax, eax
jne 0x58c0b7
call dword [0x7116a4]
movzx eax, al
test eax, eax
je 0x58c092
call dword [0x7116ac]
cmp eax, 1
jg 0x58c092
push 0x695ba8
push 1
push 0xbb
push 0x695bbc
call dword [0x7116b4]
add esp, 0x10
call fcn.0058d150
mov dword [ebp - 0xc74], 0
lea ecx, [ebp - 0x224]
call fcn.0043c8a0
mov eax, dword [ebp - 0xc74]
jmp 0x58ced6
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
mov dword [ebp - 0xc80], eax
xor ecx, ecx
mov word [ebp - 0x20c], cx
push 0x206
push 0
lea edx, [ebp - 0x20a]
push edx
call fcn.005ddad0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x58c159
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0058d150
call dword [0x7116a4]
movzx ecx, al
test ecx, ecx
je 0x58c139
call dword [0x7116ac]
cmp eax, 3
jg 0x58c139
push 0x695bcc
push 3
push 0xc9
push 0x695be0
call dword [0x7116b4]
add esp, 0x10
mov dword [ebp - 0xc70], 0
lea ecx, [ebp - 0x224]
call fcn.0043c8a0
mov eax, dword [ebp - 0xc70]
jmp 0x58ced6
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x2cc]
call fcn.00446d70
push eax
mov ecx, 0x711720
call fcn.00447ac0
lea ecx, [ebp - 0x2cc]
call fcn.0043c8a0
push 0x5c
lea eax, [ebp - 0x20c]
push eax
call fcn.0059a1a0
add esp, 8
mov dword [ebp - 0xc6c], eax
push 0x695bf0
mov ecx, dword [ebp - 0xc6c]
add ecx, 2
push ecx
call fcn.00613503
add esp, 8
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc84], esp
lea eax, [ebp - 0x20c]
push eax
call fcn.00446d70
call fcn.0058d180
add esp, 0x18
call dword [0x7116a4]
movzx ecx, al
test ecx, ecx
je 0x58c20d
call dword [0x7116ac]
cmp eax, 1
jg 0x58c20d
push 0x695bf4
push 1
push 0xd6
push 0x695c04
call dword [0x7116b4]
add esp, 0x10
call fcn.0058d670
movzx edx, al
test edx, edx
jne 0x58c28a
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0058d150
call dword [0x7116a4]
movzx eax, al
test eax, eax
je 0x58c256
call dword [0x7116ac]
cmp eax, 3
jg 0x58c256
push 0x695c14
push 3
push 0xde
push 0x695c28
call dword [0x7116b4]
add esp, 0x10
push 0x10
push 0x695c38
push 0x695c40
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xc68], 0
lea ecx, [ebp - 0x224]
call fcn.0043c8a0
mov eax, dword [ebp - 0xc68]
jmp 0x58ced6
call dword [0x7116a4]
movzx ecx, al
test ecx, ecx
je 0x58c2bc
call dword [0x7116ac]
cmp eax, 1
jg 0x58c2bc
push 0x695c68
push 1
push 0xe2
push 0x695c88
call dword [0x7116b4]
add esp, 0x10
lea ecx, [ebp - 0x23c]
call fcn.00446de0
lea edx, [ebp - 0x23c]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc88], esp
lea eax, [ebp - 0x224]
push eax
call fcn.00446bf0
call fcn.0058e650
add esp, 0x1c
movzx ecx, al
test ecx, ecx
jne 0x58c35c
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0058d150
call dword [0x7116a4]
movzx edx, al
test edx, edx
je 0x58c331
call dword [0x7116ac]
cmp eax, 1
jg 0x58c331
push 0x695c98
push 1
push 0xeb
push 0x695cb8
call dword [0x7116b4]
add esp, 0x10
mov dword [ebp - 0xc64], 0
lea ecx, [ebp - 0x23c]
call fcn.0043c8a0
lea ecx, [ebp - 0x224]
call fcn.0043c8a0
mov eax, dword [ebp - 0xc64]
jmp 0x58ced6
call dword [0x7116a4]
movzx eax, al
test eax, eax
je 0x58c38e
call dword [0x7116ac]
cmp eax, 1
jg 0x58c38e
push 0x695cc8
push 1
push 0xee
push 0x695ce8
call dword [0x7116b4]
add esp, 0x10
push 2
push 2
lea ecx, [ebp - 0x794]
call fcn.00440d00
call dword [0x7116a4]
movzx ecx, al
test ecx, ecx
je 0x58c3cf
call dword [0x7116ac]
cmp eax, 1
jg 0x58c3cf
push 0x695cf8
push 1
push 0xf2
push 0x695d10
call dword [0x7116b4]
add esp, 0x10
call fcn.00469f10
mov ecx, eax
call fcn.00469fb0
call fcn.0058da30
movzx edx, al
test edx, edx
jne 0x58c4f4
push 0x695d20
lea ecx, [ebp - 0x410]
call fcn.00404930
push 0x695d2c
lea ecx, [ebp - 0x3f8]
call fcn.00404930
push str.miss_dll
lea ecx, [ebp - 0x3e0]
call fcn.00404930
lea eax, [ebp - 0x3c8]
push eax
lea ecx, [ebp - 0x410]
push ecx
lea ecx, [ebp - 0xc94]
call fcn.004ff010
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x518]
call fcn.00591070
mov ecx, eax
call fcn.00440ee0
lea ecx, [ebp - 0x518]
call fcn.00591970
push fcn.00404bf0
push 3
push 0x18
lea ecx, [ebp - 0x410]
push ecx
call fcn.005c484c
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0058d150
call dword [0x7116a4]
movzx edx, al
test edx, edx
je 0x58c4aa
call dword [0x7116ac]
cmp eax, 3
jg 0x58c4aa
push 0x695d40
push 3
push 0x101
push 0x695d50
call dword [0x7116b4]
add esp, 0x10
push 0x10
push 0x695d60
push str._N1Y
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xc60], 0
lea ecx, [ebp - 0x794]
call fcn.00440d40
lea ecx, [ebp - 0x23c]
call fcn.0043c8a0
lea ecx, [ebp - 0x224]
call fcn.0043c8a0
mov eax, dword [ebp - 0xc60]
jmp 0x58ced6
call dword [0x7116a4]
movzx eax, al
test eax, eax
je 0x58c526
call dword [0x7116ac]
cmp eax, 1
jg 0x58c526
push 0x695d94
push 1
push 0x105
push 0x695da8
call dword [0x7116b4]
add esp, 0x10
push 0xec
push 0
lea ecx, [ebp - 0x604]
push ecx
call fcn.005ddad0
add esp, 0xc
mov dword [ebp - 0x528], 0x1343b7f
lea edx, [ebp - 0x604]
push edx
call fcn.00599f50
add esp, 4
movzx eax, al
test eax, eax
jne 0x58c669
push str.init_fail
lea ecx, [ebp - 0x378]
call fcn.00404930
push str.fail
lea ecx, [ebp - 0x360]
call fcn.00404930
push str.load_failed
lea ecx, [ebp - 0x348]
call fcn.00404930
lea ecx, [ebp - 0x330]
push ecx
lea edx, [ebp - 0x378]
push edx
lea ecx, [ebp - 0xc9c]
call fcn.004ff010
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x4c0]
call fcn.00591070
mov ecx, eax
call fcn.00440ee0
lea ecx, [ebp - 0x4c0]
call fcn.00591970
push fcn.00404bf0
push 3
push 0x18
lea eax, [ebp - 0x378]
push eax
call fcn.005c484c
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0058d150
call dword [0x7116a4]
movzx ecx, al
test ecx, ecx
je 0x58c61f
call dword [0x7116ac]
cmp eax, 1
jg 0x58c61f
push 0x695dd8
push 1
push 0x112
push 0x695df0
call dword [0x7116b4]
add esp, 0x10
push 0x10
push 0x695e00
push 0x695e08
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xc5c], 0
lea ecx, [ebp - 0x794]
call fcn.00440d40
lea ecx, [ebp - 0x23c]
call fcn.0043c8a0
lea ecx, [ebp - 0x224]
call fcn.0043c8a0
mov eax, dword [ebp - 0xc5c]
jmp 0x58ced6
call dword [0x7116a4]
movzx edx, al
test edx, edx
je 0x58c69b
call dword [0x7116ac]
cmp eax, 1
jg 0x58c69b
push 0x695e68
push 1
push 0x116
push 0x695e80
call dword [0x7116b4]
add esp, 0x10
push str.init_finish
lea ecx, [ebp - 0x3c4]
call fcn.00404930
push str.success
lea ecx, [ebp - 0x3ac]
call fcn.00404930
push 0x695666
lea ecx, [ebp - 0x394]
call fcn.00404930
lea eax, [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x3c4]
push ecx
lea ecx, [ebp - 0xca4]
call fcn.004ff010
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x468]
call fcn.00591070
mov ecx, eax
call fcn.00440ee0
lea ecx, [ebp - 0x468]
call fcn.00591970
push fcn.00404bf0
push 3
push 0x18
lea ecx, [ebp - 0x3c4]
push ecx
call fcn.005c484c
call dword [0x7116a4]
movzx edx, al
test edx, edx
je 0x58c74f
call dword [0x7116ac]
cmp eax, 1
jg 0x58c74f
push str._DD
push 1
push 0x11a
push 0x695f60
call dword [0x7116b4]
add esp, 0x10
mov dword [ebp - 0xc38], 0
push 0x1088
call fcn.005c47a1
add esp, 4
mov dword [ebp - 0xc14], eax
cmp dword [ebp - 0xc14], 0
je 0x58c78a
push 0
mov ecx, dword [ebp - 0xc14]
call fcn.00590d80
mov dword [ebp - 0xc18], eax
jmp 0x58c794
mov dword [ebp - 0xc18], 0
mov eax, dword [ebp - 0xc18]
mov dword [ebp - 0xc78], eax
mov ecx, dword [ebp - 0xc78]
mov dword [ebp - 0xc00], ecx
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x284]
call fcn.00446d70
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x2b4]
push ecx
call fcn.0058ebf0
add esp, 8
mov ecx, eax
call fcn.0043d500
push eax
lea ecx, [ebp - 0xc34]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
lea edx, [ebp - 0xc34]
push edx
mov ecx, dword [ebp - 0xc00]
call fcn.00597880
lea ecx, [ebp - 0xc34]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [ebp - 0x2b4]
call fcn.0043c8a0
lea ecx, [ebp - 0x284]
call fcn.0043c8a0
push 0x80
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
call fcn.0058dd50
call fcn.0052a1b0
call dword [0x7116a4]
movzx eax, al
test eax, eax
je 0x58c86a
call dword [0x7116ac]
cmp eax, 1
jg 0x58c86a
push 0x695ea4
push 1
push 0x12a
push 0x695f70
call dword [0x7116b4]
add esp, 0x10
lea ecx, [ebp - 0xc20]
call fcn.00440d50
lea ecx, [ebp - 0xc20]
call fcn.00440d90
call dword [0x7116a4]
movzx ecx, al
test ecx, ecx
je 0x58c8b2
call dword [0x7116ac]
cmp eax, 1
jg 0x58c8b2
push 0x695f80
push 1
push 0x12f
push 0x695f90
call dword [0x7116b4]
add esp, 0x10
push 0
call fcn.0054d8a0
add esp, 4
test eax, eax
je 0x58c8df
call fcn.00469f10
mov ecx, eax
call fcn.0046a960
movzx edx, al
test edx, edx
je 0x58c8df
mov dword [ebp - 0xc30], 1
jmp 0x58c8e9
mov dword [ebp - 0xc30], 0
mov al, byte [ebp - 0xc30]
mov byte [0x711704], al
movzx ecx, byte [0x711704]
test ecx, ecx
jne 0x58c924
call fcn.0054d6c0
test eax, eax
je 0x58c911
mov byte [ebp - 0xbed], 1
jmp 0x58c918
mov byte [ebp - 0xbed], 0
mov dl, byte [ebp - 0xbed]
mov byte [0x711705], dl
mov dword [ebp - 0xc04], 0
lea ecx, [ebp - 0xc0c]
call fcn.005907e0
lea ecx, [ebp - 0xbfc]
call fcn.00590800
lea ecx, [ebp - 0xbfc]
call fcn.00591a60
push eax
mov ecx, dword [ebp - 0xc00]
call fcn.00593f30
mov dword [ebp - 0xc04], eax
lea ecx, [ebp - 0xc0c]
call fcn.00591a50
push eax
mov ecx, dword [ebp - 0xc00]
call fcn.00593de0
mov dword [ebp - 0xc04], eax
lea ecx, [ebp - 0xbfc]
call fcn.00591a30
mov dword [ebp - 0xc2c], eax
lea ecx, [ebp - 0xc0c]
call fcn.00591a00
push eax
mov eax, dword [ebp - 0xc2c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc2c]
mov eax, dword [edx + 0x10]
call eax
push 0xe8
call fcn.005c47a1
add esp, 4
mov dword [ebp - 0xbf4], eax
cmp dword [ebp - 0xbf4], 0
je 0x58ca29
xor ecx, ecx
mov dword [ebp - 0xc50], ecx
push 0
lea ecx, [ebp - 0xc50]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SObjectDefaultRegister::constructor_void_]
push eax
push str.SOUIHOST
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0xbfc]
call fcn.00591a10
push eax
mov ecx, dword [ebp - 0xbf4]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::constructor_struct_SOUI::IRenderFactory___struct_HINSTANCE_____wchar_t_const___struct_SOUI::ISystemObjectRegister_const___int_]
mov eax, dword [ebp - 0xbf4]
mov dword [eax], vtable.SOUI::SApplication.0
mov ecx, dword [ebp - 0xbf4]
mov dword [ecx + 4], vtable.SOUI::SApplication.1.0
mov edx, dword [ebp - 0xbf4]
mov dword [ebp - 0xc28], edx
jmp 0x58ca33
mov dword [ebp - 0xc28], 0
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xc4c], eax
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0xbec], ecx
mov ecx, dword [ebp - 0xbec]
call fcn.0058ec20
mov ecx, dword [ebp - 0xbec]
call fcn.0058f1f0
mov ecx, dword [ebp - 0xbec]
call fcn.0058f070
mov ecx, dword [ebp - 0xbec]
call fcn.0058f0d0
mov ecx, dword [ebp - 0xbec]
call fcn.0058f100
mov ecx, dword [ebp - 0xbec]
call fcn.0058f2b0
mov ecx, dword [ebp - 0xbec]
call fcn.0058f280
mov ecx, dword [ebp - 0xbec]
call fcn.0058eec0
mov ecx, dword [ebp - 0xbec]
call fcn.0058f2e0
mov ecx, dword [ebp - 0xbec]
call fcn.0058f250
mov ecx, dword [ebp - 0xbec]
call fcn.0058efe0
mov ecx, dword [ebp - 0xbec]
call fcn.0058ee30
mov ecx, dword [ebp - 0xbec]
call fcn.0058ee60
mov ecx, dword [ebp - 0xbec]
call fcn.0058f310
mov ecx, dword [ebp - 0xbec]
call fcn.0058ef20
mov ecx, dword [ebp - 0xbec]
call fcn.0058f1c0
mov ecx, dword [ebp - 0xbec]
call fcn.0058eef0
mov ecx, dword [ebp - 0xbec]
call fcn.0058f0a0
mov ecx, dword [ebp - 0xbec]
call fcn.0058ed40
mov ecx, dword [ebp - 0xbec]
call fcn.0058f160
mov ecx, dword [ebp - 0xbec]
call fcn.0058f370
mov ecx, dword [ebp - 0xbec]
call fcn.0058ee00
mov ecx, dword [ebp - 0xbec]
call fcn.0058f040
mov ecx, dword [ebp - 0xbec]
call fcn.0058edd0
mov ecx, dword [ebp - 0xbec]
call fcn.0058ef80
mov ecx, dword [ebp - 0xbec]
call fcn.0058f220
mov ecx, dword [ebp - 0xbec]
call fcn.0058efb0
mov ecx, dword [ebp - 0xbec]
call fcn.0058eda0
mov ecx, dword [ebp - 0xbec]
call fcn.0058f010
mov ecx, dword [ebp - 0xbec]
call fcn.0058f190
mov ecx, dword [ebp - 0xbec]
call fcn.0058ed10
mov ecx, dword [ebp - 0xbec]
call fcn.0058ef50
mov ecx, dword [ebp - 0xbec]
call fcn.0058ece0
mov ecx, dword [ebp - 0xbec]
call fcn.0058ec80
mov ecx, dword [ebp - 0xbec]
call fcn.0058ecb0
mov ecx, dword [ebp - 0xbec]
call fcn.0058ed70
mov ecx, dword [ebp - 0xbec]
call fcn.0058f340
mov ecx, dword [ebp - 0xbec]
call fcn.0058f130
mov ecx, dword [ebp - 0xbec]
call fcn.0058ee90
mov ecx, dword [ebp - 0xbec]
call fcn.0058ec50
lea ecx, [ebp - 0xbf8]
call fcn.00590820
lea ecx, [ebp - 0xbf8]
call fcn.00591a70
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 - 0xbf8]
call fcn.00591a40
mov dword [ebp - 0xc24], eax
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0xc24]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc24]
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 0xc04], eax
push str.uidef:xml_init
lea ecx, [ebp - 0xbf8]
call fcn.00591a20
push eax
mov ecx, dword [ebp - 0xbec]
add ecx, 0x10
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SResProviderMgr::AddResProvider_struct_SOUI::IResProvider___wchar_t_const__]
lea ecx, [ebp - 0xbf8]
call fcn.00591300
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc8c], esp
lea edx, [ebp - 0x23c]
push edx
call fcn.00446bf0
lea ecx, [ebp - 0xbe8]
call fcn.00552040
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0xbe8]
call dword [sym.imp.soui.dll_public:_struct_HWND______thiscall_SOUI::SHostWnd::Create_struct_HWND_____int__int__int__int_]
push 0
push 0
push 0x110
lea ecx, [ebp - 0x9ac]
call dword [sym.imp.soui.dll_public:_long_int___thiscall_SOUI::CSimpleWnd::SendMessageW_unsigned_int__unsigned_int__long_int_]
mov eax, dword [ebp - 0x9a0]
push eax
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingleton_void_]
mov ecx, eax
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SApplication::SetMainWnd_struct_HWND____]
mov ecx, dword [ebp - 0x9a0]
push ecx
lea ecx, [ebp - 0x9ac]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::CenterWindow_struct_HWND____]
push 1
lea ecx, [ebp - 0x9ac]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::ShowWindow_int_]
lea ecx, [ebp - 0xbe8]
call fcn.005523e0
mov edx, dword [ebp - 0x9a0]
push edx
call fcn.0045c280
add esp, 4
mov eax, dword [ebp - 0x9a0]
push eax
call fcn.004aa8d0
add eax, 0xc4
push eax
lea ecx, [ebp - 0x29c]
push ecx
call fcn.004425b0
add esp, 8
mov ecx, eax
call fcn.0043d500
push eax
mov edx, dword [ebp - 0x9a0]
push edx
call dword [sym.imp.USER32.dll_SetPropW]
lea ecx, [ebp - 0x29c]
call fcn.0043c8a0
call dword [0x7116a4]
movzx eax, al
test eax, eax
je 0x58cd95
call dword [0x7116ac]
cmp eax, 1
jg 0x58cd95
push str.eQ_N
push 1
push 0x18a
push 0x696074
call dword [0x7116b4]
add esp, 0x10
mov ecx, dword [ebp - 0x9a0]
push ecx
mov ecx, dword [ebp - 0xbec]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::Run_struct_HWND____]
mov dword [ebp - 0xc38], eax
call dword [0x7116a4]
movzx edx, al
test edx, edx
je 0x58cde0
call dword [0x7116ac]
cmp eax, 1
jg 0x58cde0
push 0x696084
push 1
push 0x18c
push str.DDPlatform.cpp
call dword [0x7116b4]
add esp, 0x10
lea ecx, [ebp - 0xbe8]
call fcn.00552310
mov eax, dword [ebp - 0xbec]
mov dword [ebp - 0xc48], eax
mov ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xc08], ecx
cmp dword [ebp - 0xc08], 0
je 0x58ce28
push 1
mov edx, dword [ebp - 0xc08]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc08]
mov edx, dword [eax]
call edx
mov dword [ebp - 0xc44], eax
jmp 0x58ce32
mov dword [ebp - 0xc44], 0
call fcn.0058de30
lea ecx, [ebp - 0xbfc]
call fcn.005912d0
lea ecx, [ebp - 0xc0c]
call fcn.005912a0
lea ecx, [ebp - 0xc20]
call fcn.00440d70
mov eax, dword [ebp - 0xc00]
mov dword [ebp - 0xc58], eax
mov ecx, dword [ebp - 0xc58]
mov dword [ebp - 0xc1c], ecx
cmp dword [ebp - 0xc1c], 0
je 0x58ce8e
push 1
mov ecx, dword [ebp - 0xc1c]
call fcn.005923d0
mov dword [ebp - 0xc3c], eax
jmp 0x58ce98
mov dword [ebp - 0xc3c], 0
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.0058d150
mov edx, dword [ebp - 0xc38]
mov dword [ebp - 0xc40], edx
lea ecx, [ebp - 0x794]
call fcn.00440d40
lea ecx, [ebp - 0x23c]
call fcn.0043c8a0
lea ecx, [ebp - 0x224]
call fcn.0043c8a0
mov eax, dword [ebp - 0xc40]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005c4766
mov esp, ebp
pop ebp
ret 0x10