Function at 0x583fc0
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc9c
mov eax, dword [0x6fc0c4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
call fcn.004a5bd0
mov ecx, eax
call fcn.0057f300
call fcn.00585f80
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x224]
call fcn.00446a20
lea ecx, [ebp - 0x224]
call fcn.0044d720
movzx ecx, al
test ecx, ecx
jne 0x58415b
push 0x68c080
call fcn.004a5bd0
add eax, 0x94
push eax
lea edx, [ebp - 0x314]
push edx
call fcn.00442260
add esp, 8
push eax
push 0x68c088
lea eax, [ebp - 0x32c]
push eax
call fcn.0045fd70
add esp, 0xc
push eax
lea ecx, [ebp - 0x254]
push ecx
call fcn.00444050
add esp, 0xc
lea ecx, [ebp - 0x32c]
call fcn.0043c550
lea ecx, [ebp - 0x314]
call fcn.0043c550
push 0x68c08c
lea ecx, [ebp - 0x26c]
call fcn.00446a20
push 0
lea edx, [ebp - 0x254]
push edx
lea ecx, [ebp - 0x224]
call fcn.0044dc30
mov dword [ebp - 0xc4c], eax
cmp dword [ebp - 0xc4c], 0
jne 0x5840d2
mov eax, dword [0x673f3c]
push eax
lea ecx, [ebp - 0x254]
call fcn.0044e320
push eax
lea ecx, [ebp - 0x2fc]
push ecx
lea ecx, [ebp - 0x224]
call fcn.0044fc80
push eax
lea ecx, [ebp - 0x224]
call fcn.00447770
lea ecx, [ebp - 0x2fc]
call fcn.0043c550
mov edx, dword [0x673f3c]
push edx
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x224]
call fcn.005925f0
mov dword [ebp - 0xc08], eax
lea ecx, [ebp - 0x224]
call fcn.0044e320
mov esi, eax
lea ecx, [ebp - 0x26c]
call fcn.0044e320
sub esi, eax
cmp dword [ebp - 0xc08], esi
jne 0x584145
mov ecx, dword [ebp - 0xc08]
push ecx
push 0
lea edx, [ebp - 0x2e4]
push edx
lea ecx, [ebp - 0x224]
call fcn.0044fc80
push eax
lea ecx, [ebp - 0x224]
call fcn.00447770
lea ecx, [ebp - 0x2e4]
call fcn.0043c550
lea ecx, [ebp - 0x26c]
call fcn.0043c550
lea ecx, [ebp - 0x254]
call fcn.0043c550
call dword [0x70735c]
movzx eax, al
test eax, eax
je 0x58418d
call dword [0x707364]
cmp eax, 1
jg 0x58418d
push 0x68c094
push 1
push 0xb6
push 0x68c0b4
call dword [0x70736c]
add esp, 0x10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc74], esp
lea edx, [ebp - 0x224]
push edx
call fcn.004468a0
call fcn.00585100
add esp, 0x18
test eax, eax
jne 0x584207
call dword [0x70735c]
movzx eax, al
test eax, eax
je 0x5841e2
call dword [0x707364]
cmp eax, 1
jg 0x5841e2
push 0x68c0c4
push 1
push 0xb9
push 0x68c0d8
call dword [0x70736c]
add esp, 0x10
call fcn.00585290
mov dword [ebp - 0xc6c], 0
lea ecx, [ebp - 0x224]
call fcn.0043c550
mov eax, dword [ebp - 0xc6c]
jmp 0x58501b
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
mov dword [ebp - 0xc78], eax
xor ecx, ecx
mov word [ebp - 0x20c], cx
push 0x206
push 0
lea edx, [ebp - 0x20a]
push edx
call fcn.005d6120
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x5842a9
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.00585290
call dword [0x70735c]
movzx ecx, al
test ecx, ecx
je 0x584289
call dword [0x707364]
cmp eax, 3
jg 0x584289
push 0x68c0e8
push 3
push 0xc7
push 0x68c0fc
call dword [0x70736c]
add esp, 0x10
mov dword [ebp - 0xc68], 0
lea ecx, [ebp - 0x224]
call fcn.0043c550
mov eax, dword [ebp - 0xc68]
jmp 0x58501b
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x2cc]
call fcn.00446a20
push eax
mov ecx, 0x7078fc
call fcn.00447770
lea ecx, [ebp - 0x2cc]
call fcn.0043c550
push 0x5c
lea eax, [ebp - 0x20c]
push eax
call fcn.00592650
add esp, 8
mov dword [ebp - 0xc64], eax
push 0x68c10c
mov ecx, dword [ebp - 0xc64]
add ecx, 2
push ecx
call fcn.0060bb53
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 - 0xc7c], esp
lea eax, [ebp - 0x20c]
push eax
call fcn.00446a20
call fcn.005852c0
add esp, 0x18
call dword [0x70735c]
movzx ecx, al
test ecx, ecx
je 0x58435d
call dword [0x707364]
cmp eax, 1
jg 0x58435d
push 0x68c110
push 1
push 0xd4
push 0x68c120
call dword [0x70736c]
add esp, 0x10
call fcn.005857b0
movzx edx, al
test edx, edx
jne 0x5843da
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.00585290
call dword [0x70735c]
movzx eax, al
test eax, eax
je 0x5843a6
call dword [0x707364]
cmp eax, 3
jg 0x5843a6
push 0x68c130
push 3
push 0xdc
push 0x68c144
call dword [0x70736c]
add esp, 0x10
push 0x10
push 0x68c154
push 0x68c15c
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xc60], 0
lea ecx, [ebp - 0x224]
call fcn.0043c550
mov eax, dword [ebp - 0xc60]
jmp 0x58501b
call dword [0x70735c]
movzx ecx, al
test ecx, ecx
je 0x58440c
call dword [0x707364]
cmp eax, 1
jg 0x58440c
push 0x68c184
push 1
push 0xe0
push 0x68c1a4
call dword [0x70736c]
add esp, 0x10
lea ecx, [ebp - 0x23c]
call fcn.00446a90
lea edx, [ebp - 0x23c]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc80], esp
lea eax, [ebp - 0x224]
push eax
call fcn.004468a0
call fcn.00586790
add esp, 0x1c
movzx ecx, al
test ecx, ecx
jne 0x5844ac
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.00585290
call dword [0x70735c]
movzx edx, al
test edx, edx
je 0x584481
call dword [0x707364]
cmp eax, 1
jg 0x584481
push 0x68c1b4
push 1
push 0xe9
push 0x68c1d4
call dword [0x70736c]
add esp, 0x10
mov dword [ebp - 0xc5c], 0
lea ecx, [ebp - 0x23c]
call fcn.0043c550
lea ecx, [ebp - 0x224]
call fcn.0043c550
mov eax, dword [ebp - 0xc5c]
jmp 0x58501b
call dword [0x70735c]
movzx eax, al
test eax, eax
je 0x5844de
call dword [0x707364]
cmp eax, 1
jg 0x5844de
push 0x68c1e8
push 1
push 0xec
push 0x68c208
call dword [0x70736c]
add esp, 0x10
push 2
push 2
lea ecx, [ebp - 0x794]
call fcn.004409b0
call dword [0x70735c]
movzx ecx, al
test ecx, ecx
je 0x58451f
call dword [0x707364]
cmp eax, 1
jg 0x58451f
push 0x68c218
push 1
push 0xf0
push 0x68c230
call dword [0x70736c]
add esp, 0x10
call fcn.00469af0
mov ecx, eax
call fcn.00469b90
call fcn.00585b70
movzx edx, al
test edx, edx
jne 0x584644
push 0x68c240
lea ecx, [ebp - 0x410]
call fcn.004045f0
push 0x68c24c
lea ecx, [ebp - 0x3f8]
call fcn.004045f0
push str.miss_dll
lea ecx, [ebp - 0x3e0]
call fcn.004045f0
lea eax, [ebp - 0x3c8]
push eax
lea ecx, [ebp - 0x410]
push ecx
lea ecx, [ebp - 0xc8c]
call fcn.004f7ab0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x518]
call fcn.00589240
mov ecx, eax
call fcn.00440b90
lea ecx, [ebp - 0x518]
call fcn.00589b60
push fcn.004048b0
push 3
push 0x18
lea ecx, [ebp - 0x410]
push ecx
call fcn.005bce9c
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.00585290
call dword [0x70735c]
movzx edx, al
test edx, edx
je 0x5845fa
call dword [0x707364]
cmp eax, 3
jg 0x5845fa
push 0x68c260
push 3
push 0xff
push 0x68c270
call dword [0x70736c]
add esp, 0x10
push 0x10
push 0x68c280
push str._N1Y
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xc58], 0
lea ecx, [ebp - 0x794]
call fcn.004409f0
lea ecx, [ebp - 0x23c]
call fcn.0043c550
lea ecx, [ebp - 0x224]
call fcn.0043c550
mov eax, dword [ebp - 0xc58]
jmp 0x58501b
call dword [0x70735c]
movzx eax, al
test eax, eax
je 0x584676
call dword [0x707364]
cmp eax, 1
jg 0x584676
push 0x68c2b4
push 1
push 0x103
push 0x68c2c8
call dword [0x70736c]
add esp, 0x10
push 0xec
push 0
lea ecx, [ebp - 0x604]
push ecx
call fcn.005d6120
add esp, 0xc
mov dword [ebp - 0x528], 0x1343b7f
lea edx, [ebp - 0x604]
push edx
call fcn.00592400
add esp, 4
movzx eax, al
test eax, eax
jne 0x5847b9
push str.init_fail
lea ecx, [ebp - 0x378]
call fcn.004045f0
push str.fail
lea ecx, [ebp - 0x360]
call fcn.004045f0
push str.load_failed
lea ecx, [ebp - 0x348]
call fcn.004045f0
lea ecx, [ebp - 0x330]
push ecx
lea edx, [ebp - 0x378]
push edx
lea ecx, [ebp - 0xc94]
call fcn.004f7ab0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x4c0]
call fcn.00589240
mov ecx, eax
call fcn.00440b90
lea ecx, [ebp - 0x4c0]
call fcn.00589b60
push fcn.004048b0
push 3
push 0x18
lea eax, [ebp - 0x378]
push eax
call fcn.005bce9c
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.00585290
call dword [0x70735c]
movzx ecx, al
test ecx, ecx
je 0x58476f
call dword [0x707364]
cmp eax, 1
jg 0x58476f
push 0x68c2f8
push 1
push 0x110
push 0x68c310
call dword [0x70736c]
add esp, 0x10
push 0x10
push 0x68c320
push 0x68c328
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xc54], 0
lea ecx, [ebp - 0x794]
call fcn.004409f0
lea ecx, [ebp - 0x23c]
call fcn.0043c550
lea ecx, [ebp - 0x224]
call fcn.0043c550
mov eax, dword [ebp - 0xc54]
jmp 0x58501b
call dword [0x70735c]
movzx edx, al
test edx, edx
je 0x5847eb
call dword [0x707364]
cmp eax, 1
jg 0x5847eb
push 0x68c38c
push 1
push 0x114
push 0x68c3a4
call dword [0x70736c]
add esp, 0x10
push str.init_finish
lea ecx, [ebp - 0x3c4]
call fcn.004045f0
push str.success
lea ecx, [ebp - 0x3ac]
call fcn.004045f0
push 0x68bf4a
lea ecx, [ebp - 0x394]
call fcn.004045f0
lea eax, [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x3c4]
push ecx
lea ecx, [ebp - 0xc9c]
call fcn.004f7ab0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x468]
call fcn.00589240
mov ecx, eax
call fcn.00440b90
lea ecx, [ebp - 0x468]
call fcn.00589b60
push fcn.004048b0
push 3
push 0x18
lea ecx, [ebp - 0x3c4]
push ecx
call fcn.005bce9c
call dword [0x70735c]
movzx edx, al
test edx, edx
je 0x58489f
call dword [0x707364]
cmp eax, 1
jg 0x58489f
push str._TM
push 1
push 0x118
push 0x68c478
call dword [0x70736c]
add esp, 0x10
mov dword [ebp - 0xc30], 0
push 0x1088
call fcn.005bcdf1
add esp, 4
mov dword [ebp - 0xc0c], eax
cmp dword [ebp - 0xc0c], 0
je 0x5848da
push 0
mov ecx, dword [ebp - 0xc0c]
call fcn.00588df0
mov dword [ebp - 0xc10], eax
jmp 0x5848e4
mov dword [ebp - 0xc10], 0
mov eax, dword [ebp - 0xc10]
mov dword [ebp - 0xc70], eax
mov ecx, dword [ebp - 0xc70]
mov dword [ebp - 0xbf8], ecx
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x284]
call fcn.00446a20
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x2b4]
push ecx
call fcn.00586d30
add esp, 8
mov ecx, eax
call fcn.0043d1b0
push eax
lea ecx, [ebp - 0xc2c]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
lea edx, [ebp - 0xc2c]
push edx
mov ecx, dword [ebp - 0xbf8]
call fcn.0058fd30
lea ecx, [ebp - 0xc2c]
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.0043c550
lea ecx, [ebp - 0x284]
call fcn.0043c550
push 0x80
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
call fcn.00585e90
call fcn.00521b00
call dword [0x70735c]
movzx eax, al
test eax, eax
je 0x5849ba
call dword [0x707364]
cmp eax, 1
jg 0x5849ba
push 0x68c488
push 1
push pe_nt_image_headers32
push 0x68c49c
call dword [0x70736c]
add esp, 0x10
lea ecx, [ebp - 0xc18]
call fcn.00440a00
lea ecx, [ebp - 0xc18]
call fcn.00440a40
call dword [0x70735c]
movzx ecx, al
test ecx, ecx
je 0x584a02
call dword [0x707364]
cmp eax, 1
jg 0x584a02
push 0x68c4ac
push 1
push 0x12d
push 0x68c4bc
call dword [0x70736c]
add esp, 0x10
push 0
call fcn.00545440
add esp, 4
test eax, eax
je 0x584a2f
call fcn.00469af0
mov ecx, eax
call fcn.0046a530
movzx edx, al
test edx, edx
je 0x584a2f
mov dword [ebp - 0xc28], 1
jmp 0x584a39
mov dword [ebp - 0xc28], 0
mov al, byte [ebp - 0xc28]
mov byte [0x7078e0], al
movzx ecx, byte [0x7078e0]
test ecx, ecx
jne 0x584a74
call fcn.00545260
test eax, eax
je 0x584a61
mov byte [ebp - 0xbe5], 1
jmp 0x584a68
mov byte [ebp - 0xbe5], 0
mov dl, byte [ebp - 0xbe5]
mov byte [0x7078e1], dl
mov dword [ebp - 0xbfc], 0
lea ecx, [ebp - 0xc04]
call fcn.00588870
lea ecx, [ebp - 0xbf4]
call fcn.00588890
lea ecx, [ebp - 0xbf4]
call fcn.00589c50
push eax
mov ecx, dword [ebp - 0xbf8]
call fcn.0058c0a0
mov dword [ebp - 0xbfc], eax
lea ecx, [ebp - 0xc04]
call fcn.00589c40
push eax
mov ecx, dword [ebp - 0xbf8]
call fcn.0058bf50
mov dword [ebp - 0xbfc], eax
lea ecx, [ebp - 0xbf4]
call fcn.00589c20
mov dword [ebp - 0xc24], eax
lea ecx, [ebp - 0xc04]
call fcn.00589bf0
push eax
mov eax, dword [ebp - 0xc24]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc24]
mov eax, dword [edx + 0x10]
call eax
push 0xe8
call fcn.005bcdf1
add esp, 4
mov dword [ebp - 0xbec], eax
cmp dword [ebp - 0xbec], 0
je 0x584b79
xor ecx, ecx
mov dword [ebp - 0xc48], ecx
push 0
lea ecx, [ebp - 0xc48]
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 - 0xbf4]
call fcn.00589c00
push eax
mov ecx, dword [ebp - 0xbec]
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 - 0xbec]
mov dword [eax], vtable.SOUI::SApplication.0
mov ecx, dword [ebp - 0xbec]
mov dword [ecx + 4], vtable.SOUI::SApplication.1.0
mov edx, dword [ebp - 0xbec]
mov dword [ebp - 0xc20], edx
jmp 0x584b83
mov dword [ebp - 0xc20], 0
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xbe4], ecx
mov ecx, dword [ebp - 0xbe4]
call fcn.00586d60
mov ecx, dword [ebp - 0xbe4]
call fcn.005872d0
mov ecx, dword [ebp - 0xbe4]
call fcn.00587180
mov ecx, dword [ebp - 0xbe4]
call fcn.00587450
mov ecx, dword [ebp - 0xbe4]
call fcn.00586fd0
mov ecx, dword [ebp - 0xbe4]
call fcn.00587390
mov ecx, dword [ebp - 0xbe4]
call fcn.00587330
mov ecx, dword [ebp - 0xbe4]
call fcn.00587210
mov ecx, dword [ebp - 0xbe4]
call fcn.00586df0
mov ecx, dword [ebp - 0xbe4]
call fcn.005871b0
mov ecx, dword [ebp - 0xbe4]
call fcn.005870f0
mov ecx, dword [ebp - 0xbe4]
call fcn.00586f40
mov ecx, dword [ebp - 0xbe4]
call fcn.00586f70
mov ecx, dword [ebp - 0xbe4]
call fcn.005873f0
mov ecx, dword [ebp - 0xbe4]
call fcn.00586e20
mov ecx, dword [ebp - 0xbe4]
call fcn.00586e80
mov ecx, dword [ebp - 0xbe4]
call fcn.005872a0
mov ecx, dword [ebp - 0xbe4]
call fcn.00587150
mov ecx, dword [ebp - 0xbe4]
call fcn.00586ee0
mov ecx, dword [ebp - 0xbe4]
call fcn.00587000
mov ecx, dword [ebp - 0xbe4]
call fcn.00587300
mov ecx, dword [ebp - 0xbe4]
call fcn.005870c0
mov ecx, dword [ebp - 0xbe4]
call fcn.00587090
mov ecx, dword [ebp - 0xbe4]
call fcn.00586eb0
mov ecx, dword [ebp - 0xbe4]
call fcn.00586dc0
mov ecx, dword [ebp - 0xbe4]
call fcn.00586e50
mov ecx, dword [ebp - 0xbe4]
call fcn.00587420
mov ecx, dword [ebp - 0xbe4]
call fcn.005871e0
mov ecx, dword [ebp - 0xbe4]
call fcn.00586fa0
mov ecx, dword [ebp - 0xbe4]
call fcn.00586f10
mov ecx, dword [ebp - 0xbe4]
call fcn.00587030
mov ecx, dword [ebp - 0xbe4]
call fcn.00587120
mov ecx, dword [ebp - 0xbe4]
call fcn.00586d90
mov ecx, dword [ebp - 0xbe4]
call fcn.00587060
mov ecx, dword [ebp - 0xbe4]
call fcn.00587480
mov ecx, dword [ebp - 0xbe4]
call fcn.00587270
mov ecx, dword [ebp - 0xbe4]
call fcn.005873c0
mov ecx, dword [ebp - 0xbe4]
call fcn.00587360
mov ecx, dword [ebp - 0xbe4]
call fcn.00587240
lea ecx, [ebp - 0xbf0]
call fcn.005888b0
lea ecx, [ebp - 0xbf0]
call fcn.00589c60
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 - 0xbf0]
call fcn.00589c30
mov dword [ebp - 0xc1c], eax
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0xc1c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc1c]
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 0xbfc], eax
push str.uidef:xml_init
lea ecx, [ebp - 0xbf0]
call fcn.00589c10
push eax
mov ecx, dword [ebp - 0xbe4]
add ecx, 0x10
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SResProviderMgr::AddResProvider_struct_SOUI::IResProvider___wchar_t_const__]
lea ecx, [ebp - 0xbf0]
call fcn.005894d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xc84], esp
lea edx, [ebp - 0x23c]
push edx
call fcn.004468a0
lea ecx, [ebp - 0xbe0]
call fcn.00549b10
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0xbe0]
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 - 0x9a4]
call dword [sym.imp.soui.dll_public:_long_int___thiscall_SOUI::CSimpleWnd::SendMessageW_unsigned_int__unsigned_int__long_int_]
mov eax, dword [ebp - 0x998]
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 - 0x998]
push ecx
lea ecx, [ebp - 0x9a4]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::CenterWindow_struct_HWND____]
push 1
lea ecx, [ebp - 0x9a4]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::ShowWindow_int_]
lea ecx, [ebp - 0xbe0]
call fcn.00549e90
mov edx, dword [ebp - 0x998]
push edx
call fcn.0045bf30
add esp, 4
mov eax, dword [ebp - 0x998]
push eax
call fcn.004a5bd0
add eax, 0xc4
push eax
lea ecx, [ebp - 0x29c]
push ecx
call fcn.00442260
add esp, 8
mov ecx, eax
call fcn.0043d1b0
push eax
mov edx, dword [ebp - 0x998]
push edx
call dword [sym.imp.USER32.dll_SetPropW]
lea ecx, [ebp - 0x29c]
call fcn.0043c550
call dword [0x70735c]
movzx eax, al
test eax, eax
je 0x584eda
call dword [0x707364]
cmp eax, 1
jg 0x584eda
push str.eQ_N
push 1
push 0x187
push 0x68c5a8
call dword [0x70736c]
add esp, 0x10
mov ecx, dword [ebp - 0x998]
push ecx
mov ecx, dword [ebp - 0xbe4]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SApplication::Run_struct_HWND____]
mov dword [ebp - 0xc30], eax
call dword [0x70735c]
movzx edx, al
test edx, edx
je 0x584f25
call dword [0x707364]
cmp eax, 1
jg 0x584f25
push 0x68c5b8
push 1
push 0x189
push 0x68c5c8
call dword [0x70736c]
add esp, 0x10
lea ecx, [ebp - 0xbe0]
call fcn.00549dc0
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 0xc40], eax
mov ecx, dword [ebp - 0xc40]
mov dword [ebp - 0xc00], ecx
cmp dword [ebp - 0xc00], 0
je 0x584f6d
push 1
mov edx, dword [ebp - 0xc00]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc00]
mov edx, dword [eax]
call edx
mov dword [ebp - 0xc3c], eax
jmp 0x584f77
mov dword [ebp - 0xc3c], 0
call fcn.00585f70
lea ecx, [ebp - 0xbf4]
call fcn.005894a0
lea ecx, [ebp - 0xc04]
call fcn.00589470
lea ecx, [ebp - 0xc18]
call fcn.00440a20
mov eax, dword [ebp - 0xbf8]
mov dword [ebp - 0xc50], eax
mov ecx, dword [ebp - 0xc50]
mov dword [ebp - 0xc14], ecx
cmp dword [ebp - 0xc14], 0
je 0x584fd3
push 1
mov ecx, dword [ebp - 0xc14]
call fcn.0058a5a0
mov dword [ebp - 0xc34], eax
jmp 0x584fdd
mov dword [ebp - 0xc34], 0
call dword [sym.imp.ole32.dll_OleUninitialize]
call fcn.00585290
mov edx, dword [ebp - 0xc30]
mov dword [ebp - 0xc38], edx
lea ecx, [ebp - 0x794]
call fcn.004409f0
lea ecx, [ebp - 0x23c]
call fcn.0043c550
lea ecx, [ebp - 0x224]
call fcn.0043c550
mov eax, dword [ebp - 0xc38]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005bcdb6
mov esp, ebp
pop ebp
ret 0x10