Function at 0x40e250
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0x4f62a0]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x64c], ecx
mov eax, dword [ebp - 0x64c]
movzx ecx, byte [eax + 0x478]
test ecx, ecx
je 0x40e286
mov dword [ebp - 0x650], 0x4d07d0
jmp 0x40e290
mov dword [ebp - 0x650], 0x4d07e0
mov edx, dword [ebp - 0x650]
push edx
lea ecx, [ebp - 4]
call fcn.00405d00
xor eax, eax
mov word [ebp - 0x218], ax
push 0x206
push 0
lea ecx, [ebp - 0x216]
push ecx
call fcn.0042efe0
add esp, 0xc
push 0x19
lea edx, [ebp - 0x218]
push edx
call fcn.0040bd10
mov ecx, eax
call fcn.00413080
lea ecx, [ebp - 8]
call fcn.00405ce0
lea eax, [ebp - 0x218]
push eax
push str._sGamePP.lnk
lea ecx, [ebp - 8]
push ecx
call fcn.004068d0
add esp, 0xc
lea ecx, [ebp - 8]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edx, [ebp - 0x218]
push edx
push 0x4d0808
lea eax, [ebp - 8]
push eax
call fcn.004068d0
add esp, 0xc
lea ecx, [ebp - 8]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x64c]
cmp dword [ecx + 0x490], 0
je 0x40e458
mov edx, dword [ebp - 0x64c]
mov ecx, dword [edx + 0x490]
call sym.Setup.exe_public:_bool___thiscall_DuiLib::COptionUI::IsSelected_void_const
movzx eax, al
test eax, eax
je 0x40e458
xor ecx, ecx
mov word [ebp - 0x420], cx
push 0x206
push 0
lea edx, [ebp - 0x41e]
push edx
call fcn.0042efe0
add esp, 0xc
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00413080
test eax, eax
je 0x40e458
lea ecx, [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0x64c]
movzx eax, byte [edx + 0x478]
push eax
lea ecx, [ebp - 0x428]
push ecx
call fcn.0040bd10
mov ecx, eax
call fcn.00414a60
lea ecx, [ebp - 0x424]
call fcn.00405ce0
call fcn.0040bd10
add eax, 0x410
push eax
push str._scommon_resdesk.ico
lea edx, [ebp - 0x424]
push edx
call fcn.004068d0
add esp, 0xc
push 1
lea ecx, [ebp - 4]
call fcn.0040fc20
push eax
push 0
push 0
lea ecx, [ebp - 0x428]
call fcn.0040fc20
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.0040bd10
add eax, 0x1040
push eax
lea ecx, [ebp - 0x424]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00413170
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.0040fc60
push 0xffffffffffffffff
lea ecx, [ebp - 0x428]
call fcn.0040fc60
lea ecx, [ebp - 0x424]
call fcn.00405d40
lea ecx, [ebp - 0x428]
call fcn.00405d40
mov ecx, dword [ebp - 0x64c]
cmp dword [ecx + 0x498], 0
je 0x40e539
lea ecx, [ebp - 0x429]
call sym.Setup.exe_public:_class_DuiLib::CMarkup____thiscall_DuiLib::CDialogBuilder::GetMarkup_void_
mov edx, dword [ebp - 0x64c]
mov ecx, dword [edx + 0x498]
call sym.Setup.exe_public:_bool___thiscall_DuiLib::COptionUI::IsSelected_void_const
movzx eax, al
test eax, eax
je 0x40e50d
push 0x4d0850
call fcn.0040bd10
add eax, 0x1040
push eax
push 1
lea ecx, [ebp - 0x429]
call fcn.00404110
push 0x4d086c
lea ecx, [ebp - 0x429]
call fcn.00404250
test eax, eax
je 0x40e4d6
push 0x4d0884
push 0x4d089c
push 0
lea ecx, [ebp - 0x429]
call fcn.00404110
push 0x4d08a0
lea ecx, [ebp - 0x429]
call fcn.00404250
test eax, eax
je 0x40e501
push 0x4d08ac
push 0x4d08b8
push 0
lea ecx, [ebp - 0x429]
call fcn.00404110
push 1
call fcn.00418f10
add esp, 4
jmp 0x40e52e
push 0x4d08bc
push 0x4d08d8
push 0
lea ecx, [ebp - 0x429]
call fcn.00404110
push 0
call fcn.00418f10
add esp, 4
lea ecx, [ebp - 0x429]
call sym.Setup.exe_public_virtual:_void___thiscall_DuiLib::CComboUI::DoInit_void_
mov ecx, dword [ebp - 0x64c]
cmp dword [ecx + 0x494], 0
je 0x40e7f2
mov edx, dword [ebp - 0x64c]
mov ecx, dword [edx + 0x494]
call sym.Setup.exe_public:_bool___thiscall_DuiLib::COptionUI::IsSelected_void_const
movzx eax, al
test eax, eax
je 0x40e7f2
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0x430]
call fcn.00405ce0
xor ecx, ecx
mov word [ebp - 0x638], cx
push 0x206
push 0
lea edx, [ebp - 0x636]
push edx
call fcn.0042efe0
add esp, 0xc
push 0x17
lea eax, [ebp - 0x638]
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00413080
test eax, eax
je 0x40e5f5
lea ecx, [ebp - 4]
call fcn.0040fc20
push eax
lea ecx, [ebp - 0x638]
push ecx
push 0x4d08dc
lea edx, [ebp - 0x430]
push edx
call fcn.004068d0
add esp, 0x10
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.0040fc60
lea ecx, [ebp - 0x430]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea ecx, [ebp - 0x640]
call fcn.00405ce0
mov eax, dword [ebp - 0x64c]
movzx ecx, byte [eax + 0x478]
test ecx, ecx
je 0x40e61d
mov dword [ebp - 0x654], 0x4d08e8
jmp 0x40e627
mov dword [ebp - 0x654], 0x4d08f4
mov edx, dword [ebp - 0x654]
push edx
lea ecx, [ebp - 0x63c]
call fcn.00405d00
lea ecx, [ebp - 0x63c]
call fcn.0040fc20
push eax
lea eax, [ebp - 0x638]
push eax
push 0x4d0904
lea ecx, [ebp - 0x640]
push ecx
call fcn.004068d0
add esp, 0x10
push 0xffffffffffffffff
lea ecx, [ebp - 0x63c]
call fcn.0040fc60
lea ecx, [ebp - 0x640]
call fcn.0040fc20
push eax
mov edx, dword [ebp - 0x64c]
movzx eax, byte [edx + 0x478]
push eax
lea ecx, [ebp - 0x644]
push ecx
call fcn.0040bd10
mov ecx, eax
call fcn.00414a60
push 0xffffffffffffffff
lea ecx, [ebp - 0x640]
call fcn.0040fc60
push 1
lea ecx, [ebp - 4]
call fcn.0040fc20
push eax
push 0
push 0
lea ecx, [ebp - 0x644]
call fcn.0040fc20
push eax
lea ecx, [ebp - 0x430]
call fcn.0040fc20
push eax
call fcn.0040bd10
add eax, 0x1040
push eax
call fcn.0040bd10
add eax, 0x1040
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00413170
push 0xffffffffffffffff
lea ecx, [ebp - 0x430]
call fcn.0040fc60
push 0xffffffffffffffff
lea ecx, [ebp - 0x644]
call fcn.0040fc60
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.0040fc60
lea ecx, [ebp - 0x640]
call fcn.0040fc20
push eax
mov edx, dword [ebp - 0x64c]
movzx eax, byte [edx + 0x478]
push eax
lea ecx, [ebp - 0x648]
push ecx
call fcn.0040bd10
mov ecx, eax
call fcn.00414b00
push 0xffffffffffffffff
lea ecx, [ebp - 0x640]
call fcn.0040fc60
push 1
lea ecx, [ebp - 4]
call fcn.0040fc20
push eax
push 0
push 0
lea ecx, [ebp - 0x648]
call fcn.0040fc20
push eax
lea ecx, [ebp - 0x430]
call fcn.0040fc20
push eax
call fcn.0040bd10
add eax, 0x1248
push eax
call fcn.0040bd10
add eax, 0x1248
push eax
call fcn.0040bd10
mov ecx, eax
call fcn.00413170
push 0xffffffffffffffff
lea ecx, [ebp - 0x648]
call fcn.0040fc60
push 0xffffffffffffffff
lea ecx, [ebp - 0x430]
call fcn.0040fc60
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.0040fc60
lea ecx, [ebp - 0x648]
call fcn.00405d40
lea ecx, [ebp - 0x644]
call fcn.00405d40
lea ecx, [ebp - 0x63c]
call fcn.00405d40
lea ecx, [ebp - 0x640]
call fcn.00405d40
lea ecx, [ebp - 0x430]
call fcn.00405d40
call fcn.0040bd10
add eax, 0x1248
push eax
push 0x4d0910
call fcn.0040bd10
mov ecx, eax
call fcn.00412ad0
call fcn.0040bd10
add eax, 0xe38
push eax
call fcn.0040bd10
add eax, 0xc30
push eax
call fcn.0040bd10
add eax, 0x410
push eax
push str.SoftwareGamePP2
call fcn.0040bd10
mov ecx, eax
call fcn.00412c80
call fcn.0040bd10
mov ecx, eax
call fcn.00415130
lea ecx, [ebp - 8]
call fcn.00405d40
lea ecx, [ebp - 4]
call fcn.00405d40
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00425912
mov esp, ebp
pop ebp
ret