Function at 0x4ecd30
Capabilities:
Create process on windows
Read .ini file
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x438
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x310]
push ecx
call fcn.00532580
add esp, 8
mov edx, 1
mov word [0x60043c], dx
call fcn.00432aa0
mov dword [ebp + 0xc], 0
push 0xff
push 0x603ae0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x576ab8
push 0x603ae0
call fcn.00532680
add esp, 8
test eax, eax
je 0x4ecda4
mov dword [ebp - 0x434], 0
jmp 0x4ecdb7
push 0
push 0x576ac4
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x4ecdd4
mov ecx, dword [ebp - 0x434]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
xor eax, eax
jmp 0x4ed8ce
push 0xff
push 0x603ae0
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x603ae0
push 0x5f98d8
call fcn.00532580
add esp, 8
push 0x603ae0
call fcn.004925f0
add esp, 4
lea eax, [ebp - 0x210]
push eax
call fcn.00485fc0
add esp, 4
push 0x5f9fd0
call fcn.00486a90
add esp, 4
push 0xff
push 0x603ae0
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x603ae0
push 1
call fcn.00436500
add esp, 8
lea edx, [ebp - 0x430]
push edx
push 0x603ae0
call fcn.00427760
add esp, 8
mov dword [ebp - 0x330], eax
push 0x603ae0
call fcn.00532e80
add esp, 4
sub eax, 1
mov dword [ebp - 8], eax
jmp 0x4ece7e
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4ece97
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x603ae0]
cmp edx, 0x5c
jne 0x4ece95
jmp 0x4ece97
jmp 0x4ece75
mov eax, dword [ebp - 8]
mov byte [eax + 0x603ae0], 0
push 0x603ae0
lea ecx, [ebp - 0x210]
push ecx
call fcn.00532580
add esp, 8
lea edx, [ebp - 0x210]
push edx
call fcn.0053ac2a
add esp, 4
push str.exe.debug
lea eax, [ebp - 0x210]
push eax
call fcn.00532680
add esp, 8
test eax, eax
je 0x4ecf00
push str.c:Dynedlaunch050mul30
push 0x603ae0
call fcn.00532580
add esp, 8
push str.c:Program_filesDynedlaunch010mul42
push 0x603ae0
call fcn.00532580
add esp, 8
push 0x603ae0
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0x576b2c
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00532680
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4ecf39
push 0x576b34
mov edx, dword [ebp + 0x10]
push edx
call fcn.00532680
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4ed16f
mov eax, dword [ebp - 4]
add eax, 6
push eax
lea ecx, [ebp - 0x430]
push ecx
call fcn.00532580
add esp, 8
lea edx, [ebp - 0x430]
push edx
call fcn.0053aa0e
add esp, 4
push 0x576b3c
lea eax, [ebp - 0x430]
push eax
call fcn.00532680
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4ecf8b
mov ecx, dword [ebp - 4]
mov byte [ecx], 0
push str.DYNED.INI
push 0x5c
lea edx, [ebp - 0x430]
push edx
push 0x576b50
lea eax, [ebp - 0x110]
push eax
call fcn.00532706
add esp, 0x14
lea ecx, [ebp - 0x110]
push ecx
push 0xff
lea edx, [ebp - 0x210]
push edx
push 0x601301
push str.product_number
push 0x576b68
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x210]
push eax
call fcn.00535089
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3d
je 0x4ed011
cmp dword [ebp - 8], 0xb
je 0x4ed011
cmp dword [ebp - 8], 0xc
je 0x4ed011
cmp dword [ebp - 8], 0xd
je 0x4ed011
cmp dword [ebp - 8], 0xe
je 0x4ed011
cmp dword [ebp - 8], 0x20
je 0x4ed011
cmp dword [ebp - 8], 0x21
jne 0x4ed01c
xor ecx, ecx
mov word [0x60043c], cx
jmp 0x4ed042
cmp dword [ebp - 8], 0x32
jne 0x4ed042
push str._hdd
lea edx, [ebp - 0x310]
push edx
call fcn.00532680
add esp, 8
test eax, eax
je 0x4ed042
xor eax, eax
mov word [0x60043c], ax
lea ecx, [ebp - 0x110]
push ecx
push 0xff
lea edx, [ebp - 0x210]
push edx
push 0x601302
push str.bkg_opt
push 0x576b84
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x210]
push eax
call fcn.00535089
add esp, 4
mov word [0x600430], ax
lea ecx, [ebp - 0x110]
push ecx
push 0xff
lea edx, [ebp - 0x210]
push edx
push 0x601303
push str.bkg_width
push 0x576b9c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x210]
push eax
call fcn.00535089
add esp, 4
test eax, eax
jle 0x4ed137
lea ecx, [ebp - 0x210]
push ecx
call fcn.00535089
add esp, 4
mov word [0x575698], ax
lea edx, [ebp - 0x110]
push edx
push 0xff
lea eax, [ebp - 0x210]
push eax
push 0x601338
push str.bkg_height
push str.dyned.ini
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x210]
push ecx
call fcn.00535089
add esp, 4
mov word [0x57569c], ax
mov edx, 1
mov word [0x600434], dx
mov eax, 0x7bc
mov word [0x575694], ax
xor ecx, ecx
mov word [0x575684], cx
xor edx, edx
mov word [0x575688], dx
jmp 0x4ed16f
cmp dword [ebp - 8], 0x31
je 0x4ed167
cmp dword [ebp - 8], 0x3d
je 0x4ed167
cmp dword [ebp - 8], 0xb
je 0x4ed167
cmp dword [ebp - 8], 0xc
je 0x4ed167
cmp dword [ebp - 8], 0xd
je 0x4ed167
cmp dword [ebp - 8], 0xe
je 0x4ed167
cmp dword [ebp - 8], 0x20
je 0x4ed167
cmp dword [ebp - 8], 0x21
jne 0x4ed16f
xor eax, eax
mov word [0x60043c], ax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004f3da0
add esp, 4
call fcn.004f3950
lea edx, [ebp - 0x210]
push edx
call fcn.00485fc0
add esp, 4
push str.engine.loc
lea eax, [ebp - 0x210]
push eax
call fcn.00532590
add esp, 8
cmp dword [0x55c70c], 1
jne 0x4ed1ff
push 0x603ae0
lea ecx, [ebp - 0x210]
push ecx
call fcn.00532580
add esp, 8
lea edx, [ebp - 0x210]
push edx
call fcn.00433f40
add esp, 4
push 0x576bcc
lea eax, [ebp - 0x210]
push eax
call fcn.00532590
add esp, 8
lea ecx, [ebp - 0x210]
push ecx
push 0
call fcn.0046c660
add esp, 8
movsx edx, ax
mov dword [ebp - 0x330], edx
jmp 0x4ed219
lea eax, [ebp - 0x210]
push eax
push 0
call fcn.0046c660
add esp, 8
movsx ecx, ax
mov dword [ebp - 0x330], ecx
cmp dword [ebp - 0x330], 0
jne 0x4ed282
push 0x603ae0
lea edx, [ebp - 0x210]
push edx
call fcn.00532580
add esp, 8
lea eax, [ebp - 0x210]
push eax
call fcn.00433f40
add esp, 4
lea ecx, [ebp - 0x210]
push ecx
call fcn.00433f40
add esp, 4
push str._supportengine.loc
lea edx, [ebp - 0x210]
push edx
call fcn.00532590
add esp, 8
lea eax, [ebp - 0x210]
push eax
push 0
call fcn.0046c660
add esp, 8
movsx ecx, ax
mov dword [ebp - 0x330], ecx
cmp dword [ebp - 0x330], 0
jne 0x4ed2be
push 0x603ae0
push str._sengine.loc
lea edx, [ebp - 0x210]
push edx
call fcn.00532706
add esp, 0xc
lea eax, [ebp - 0x210]
push eax
push 0
call fcn.0046c660
add esp, 8
movsx ecx, ax
mov dword [ebp - 0x330], ecx
cmp dword [ebp - 0x330], 0
jne 0x4ed2e2
push 0
push 0x576c04
push str.Cant_find_file:_engine.loc
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x4ed8ce
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x430]
push ecx
call fcn.0053aa0e
add esp, 4
push 0x576c28
lea edx, [ebp - 0x430]
push edx
call fcn.00532680
add esp, 8
test eax, eax
jne 0x4ed742
movsx eax, byte [ebp - 0x430]
test eax, eax
jne 0x4ed38c
push 0x603ae0
push 0x5f5138
call fcn.00532580
add esp, 8
push str.launch
push 0x5f5138
call fcn.00532680
add esp, 8
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0
je 0x4ed366
mov ecx, dword [ebp - 0x438]
mov byte [ecx + 1], 0
push str.Launchw.exe
push 0x5f5138
call fcn.00532590
add esp, 8
push 5
push 0x5f5138
call dword [sym.imp.KERNEL32.dll_WinExec]
xor eax, eax
jmp 0x4ed8ce
push str.local.ini
push 0x5c5ed8
push 0x576c50
lea edx, [ebp - 0x110]
push edx
call fcn.00532706
add esp, 0x10
movsx eax, word [0x600434]
test eax, eax
jne 0x4ed494
lea ecx, [ebp - 0x110]
push ecx
push 0xff
lea edx, [ebp - 0x210]
push edx
push 0x601339
push str.screen_width
push 0x576c68
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x210]
push eax
call fcn.00535089
add esp, 4
cmp eax, 1
jne 0x4ed40c
push 0x601328
push 0x601324
call fcn.00489680
add esp, 8
jmp 0x4ed494
lea ecx, [ebp - 0x210]
push ecx
call fcn.00535089
add esp, 4
cmp eax, 0x280
jl 0x4ed436
lea edx, [ebp - 0x210]
push edx
call fcn.00535089
add esp, 4
mov dword [0x601324], eax
lea eax, [ebp - 0x110]
push eax
push 0xff
lea ecx, [ebp - 0x210]
push ecx
push 0x60133a
push str.screen_height
push 0x576c80
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x210]
push edx
call fcn.00535089
add esp, 4
cmp eax, 0x1e0
jl 0x4ed48a
lea eax, [ebp - 0x210]
push eax
call fcn.00535089
add esp, 4
mov dword [0x601328], eax
jmp 0x4ed494
mov dword [0x601324], 0
mov dword [0x601310], 2
lea ecx, [ebp - 0x110]
push ecx
push 0xff
lea edx, [ebp - 0x210]
push edx
push 0x60133b
push str.Show_Gray_Background
push 0x576ca0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x210]
push eax
call fcn.0053aa0e
add esp, 4
push 0x576ca8
lea ecx, [ebp - 0x210]
push ecx
call fcn.00532680
add esp, 8
test eax, eax
je 0x4ed4f7
mov dword [0x601310], 0
push 0x576cac
lea edx, [ebp - 0x210]
push edx
call fcn.00532680
add esp, 8
test eax, eax
je 0x4ed519
mov dword [0x601310], 1
movsx eax, byte [ebp - 0x210]
cmp eax, 0x31
jl 0x4ed545
movsx ecx, byte [ebp - 0x210]
cmp ecx, 0x39
jg 0x4ed545
lea edx, [ebp - 0x210]
push edx
call fcn.00535089
add esp, 4
mov dword [0x601310], eax
cmp dword [0x55c710], 1
jne 0x4ed558
mov dword [0x601310], 0
lea eax, [ebp - 0x110]
push eax
push 0xff
push 0x5f4aa8
push 0x60133c
push str.custom_path
push 0x576cbc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x110]
push ecx
push 0xff
lea edx, [ebp - 0x210]
push edx
push 0x576cc4
push str.use_skins
push 0x576cd4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x210]
push eax
call fcn.0053aa0e
add esp, 4
push 0x576cdc
lea ecx, [ebp - 0x210]
push ecx
call fcn.00532680
add esp, 8
test eax, eax
je 0x4ed5d6
xor edx, edx
mov word [0x60043c], dx
movsx eax, word [0x60043c]
test eax, eax
jne 0x4ed707
movsx ecx, word [0x600434]
test ecx, ecx
jne 0x4ed707
lea edx, [ebp - 0x110]
push edx
push 0xff
lea eax, [ebp - 0x210]
push eax
push 0x60133d
push str.screen_mode
push 0x576cec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx ecx, byte [ebp - 0x210]
cmp ecx, 0x30
jl 0x4ed707
movsx edx, byte [ebp - 0x210]
cmp edx, 0x34
jg 0x4ed707
mov dword [0x601310], 1
lea eax, [ebp - 0x210]
push eax
call fcn.00535089
add esp, 4
mov dword [0x601320], eax
cmp dword [0x601320], 4
jne 0x4ed677
cmp dword [ebp - 8], 0x31
jne 0x4ed677
mov ecx, dword [0x601320]
mov dword [0x601320], ecx
jmp 0x4ed681
mov dword [0x601320], 0
cmp dword [0x601320], 0
je 0x4ed6fd
mov dword [0x601310], 0
cmp dword [0x601320], 1
jne 0x4ed6a7
mov dword [0x601324], 0
cmp dword [0x601320], 2
jne 0x4ed6c2
push 0x601328
push 0x601324
call fcn.00489680
add esp, 8
cmp dword [0x601320], 2
jle 0x4ed6fb
cmp dword [0x601320], 3
jne 0x4ed6de
mov dword [0x601310], 1
cmp dword [0x601324], 0
jne 0x4ed6fb
mov dword [0x601324], 0x320
mov dword [0x601328], 0x258
jmp 0x4ed707
mov dword [0x601324], 0
cmp dword [0x601310], 0
je 0x4ed742
mov edx, dword [ebp + 8]
push edx
call fcn.004ed950
add esp, 4
test eax, eax
jne 0x4ed727
xor eax, eax
jmp 0x4ed8ce
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ed9f0
add esp, 8
test eax, eax
jne 0x4ed742
xor eax, eax
jmp 0x4ed8ce
cmp dword [0x601324], 0
jle 0x4ed777
cmp dword [0x60131c], 0
je 0x4ed777
push 1
mov edx, dword [0x601328]
push edx
mov eax, dword [0x601324]
push eax
mov ecx, dword [0x60131c]
push ecx
call fcn.004ec140
add esp, 0x10
call fcn.004ec1a0
call fcn.004dedc0
call fcn.00487800
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0
jne 0x4ed797
xor eax, eax
jmp 0x4ed8ce
movsx edx, word [0x60043c]
test edx, edx
je 0x4ed7aa
mov eax, dword [ebp - 8]
mov dword [0x5fdb08], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ed8e0
add esp, 4
test eax, eax
jne 0x4ed7c1
xor eax, eax
jmp 0x4ed8ce
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004edbc0
add esp, 8
test eax, eax
jne 0x4ed7dc
xor eax, eax
jmp 0x4ed8ce
cmp dword [0x601324], 0
jle 0x4ed7ef
push 1
call fcn.004ec480
add esp, 4
mov ecx, dword [0x64d5b0]
push ecx
call fcn.00530920
add esp, 4
mov edx, dword [0x60137c]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [0x601374], 0
je 0x4ed837
mov eax, dword [0x601374]
push eax
call dword [sym.imp.GDI32.dll_UnrealizeObject]
mov ecx, dword [0x601374]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [0x601374], 0
mov dword [ebp - 0x324], 0
call fcn.00484fa0
call fcn.00530320
cmp dword [0x55c710], 1
jne 0x4ed859
call fcn.00530dc0
movsx edx, byte [0x5f5138]
test edx, edx
je 0x4ed86b
call fcn.004936b0
jmp 0x4ed870
call fcn.00493650
movsx eax, byte [0x5f5238]
test eax, eax
je 0x4ed891
cmp dword [0x5f4be4], 1
jne 0x4ed891
push 5
push 0x5f5238
call dword [sym.imp.KERNEL32.dll_WinExec]
movsx ecx, byte [0x5f5138]
test ecx, ecx
je 0x4ed8a9
push 5
push 0x5f5138
call dword [sym.imp.KERNEL32.dll_WinExec]
movsx edx, byte [0x603da0]
test edx, edx
je 0x4ed8c8
push 0
push 0x576cf4
push 0x603da0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x324]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret 0x10