Function at 0x4152c0
Capabilities:
Delete file
Find taskbar

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44ae9a
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x45d520]
xor eax, ebp
mov dword [ebp - 0x38], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x13c], ecx
push str.RunGameThread___begins_n
call fcn.00401010
add esp, 4
push 0x45f1b8
push 0x45f19c
call fcn.00414c20
add esp, 8
lea eax, [ebp - 0x14]
push eax
call fcn.00415ec0
add esp, 4
push 0x44f2b3
lea ecx, [ebp - 0x100]
call fcn.004018c0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [0x45f1e8]
call fcn.0040d2d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.00401940
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx]
mov dword [0x45ea68], eax
mov dword [0x45ef90], 0
mov ecx, dword [0x45f1e8]
add ecx, 0xb4
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x104], esp
push ecx
mov ecx, edx
call fcn.00401900
mov dword [ebp - 0x140], eax
call fcn.00418270
add esp, 0x1c
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
mov dword [0x45f198], eax
mov ecx, dword [0x45f1e8]
add ecx, 0x78
push ecx
mov ecx, 0x45efdc
call fcn.00405740
mov edx, dword [0x45f1e8]
add edx, 0xf4
push edx
mov ecx, 0x45eff8
call fcn.00405740
mov eax, dword [0x45f1e8]
add eax, 0xb4
push eax
mov ecx, 0x45ef58
call fcn.00405740
mov ecx, dword [0x45f1e8]
mov edx, dword [ecx + 0xf0]
push edx
push 0x44f820
lea eax, [ebp - 0x120]
push eax
call fcn.00402dd0
add esp, 0xc
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x14c]
push edx
mov ecx, 0x45f014
call fcn.00405740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00401940
mov eax, dword [0x45f1e8]
add eax, 0xd4
push eax
mov ecx, 0x45efc0
call fcn.00405740
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x124], esp
push 0x45ef58
call fcn.00401900
mov dword [ebp - 0x150], eax
mov ecx, dword [0x45f1e8]
add ecx, 0x148
call fcn.00416a50
mov dword [ebp - 0x154], eax
mov ecx, dword [0x45f1e8]
mov edx, dword [ebp - 0x154]
mov dword [ecx + 0xd0], edx
push 0x44f2ea
push 0x45efdc
call fcn.00409f60
add esp, 8
movzx eax, al
test eax, eax
je 0x4154d6
push 0x44f2eb
push 0x45ef58
call fcn.00409f60
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4154d6
jmp 0x4154db
jmp 0x415e98
push 0
call fcn.0041afe0
add esp, 4
mov edx, dword [0x45f1e8]
mov eax, dword [0x45f198]
mov dword [edx + 0x198], eax
push str.Load_.ini_Begin_n
call fcn.00401010
add esp, 4
mov ecx, 0x45ea68
call fcn.004255f0
test eax, eax
jne 0x41552a
push 0
push 0x44f838
push 0x44f844
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x415e98
push str.Load_.ini_End
call fcn.00401010
add esp, 4
push 0
call fcn.00414850
add esp, 4
push eax
mov ecx, dword [0x45eb2c]
push ecx
push str.CheckStreaming._bUse___d__4___OsVer___d___6_n
call fcn.00401010
add esp, 0xc
push 0x44f8a8
mov edx, dword [0x45f1e8]
add edx, 0x94
push edx
call fcn.00404150
add esp, 8
movzx eax, al
test eax, eax
je 0x4155c4
push 0
call fcn.00414850
add esp, 4
cmp eax, 4
jbe 0x4155ae
push 0
call fcn.00414850
add esp, 4
cmp eax, 6
jae 0x4155ae
mov dword [0x45ef90], 1
push str.Use_Streaming
call fcn.00401010
add esp, 4
jmp 0x4155c4
push 0x44f8bc
mov ecx, dword [0x45f1e8]
add ecx, 0x94
call fcn.0040acc0
cmp dword [0x45ed1c], 0
je 0x415648
mov byte [ebp - 0xbc], 0
mov dword [ebp - 0xc0], 0
push 0xa
lea ecx, [ebp - 0xcc]
push ecx
lea edx, [ebp - 0xc0]
push edx
call fcn.0041e010
add esp, 0xc
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jl 0x41561c
cmp dword [ebp - 0xc0], 0
jbe 0x41561c
mov eax, dword [ebp - 0xc0]
cmp eax, dword [0x45ed20]
jae 0x415648
push 1
mov ecx, 0x45ea68
call fcn.00416350
mov ecx, eax
call fcn.00401960
push eax
mov ecx, 0x45ea68
call fcn.00416390
push eax
call fcn.00415ee0
add esp, 0xc
jmp 0x415e98
push str.Check_DirectX
call fcn.00401010
add esp, 4
mov ecx, 0x45ea68
call fcn.00425fc0
push 0x45f1b8
push 0x45f19c
call fcn.00414e60
add esp, 8
mov ecx, dword [0x45f1e8]
cmp dword [ecx + 0x110], 0
jne 0x4156c0
cmp dword [0x45ecb0], 1
jne 0x4156c0
mov ecx, 0x45ead0
call fcn.00401960
mov dword [ebp - 0xd4], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x128], esp
mov edx, dword [ebp - 0xd4]
push edx
call fcn.004018c0
mov dword [ebp - 0x158], eax
call fcn.00414f50
add esp, 0x1c
jmp 0x4156e3
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x12c], esp
push 0x44f2ef
call fcn.004018c0
mov dword [ebp - 0x15c], eax
call fcn.00414f50
add esp, 0x1c
push 0x45ead0
mov ecx, 0x45f134
call fcn.004236b0
mov ecx, dword [0x45f198]
call fcn.00412ad0
mov dword [ebp - 0x28], eax
mov dword [0x45ef98], 0
cmp dword [0x45ef90], 0
je 0x415941
mov eax, dword [0x45f1e8]
mov dword [eax], 1
push 2
push 0x81
mov ecx, dword [0x45f1e8]
call fcn.0040d260
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x130], esp
push str.SWS.dll
call fcn.004018c0
mov dword [ebp - 0x160], eax
mov ecx, dword [0x45f1e8]
add ecx, 0x114
call fcn.00410e00
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x134], esp
push 0x44f8d8
call fcn.004018c0
mov dword [ebp - 0x164], eax
mov ecx, dword [0x45f1e8]
add ecx, 0x114
call fcn.00410e00
push 2
mov ecx, dword [0x45f198]
push ecx
push 0x44f8e8
call fcn.0041ba50
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x4157d4
push 0
push 0x81
mov ecx, dword [0x45f1e8]
call fcn.0040d260
mov edx, dword [0x45f1e8]
mov dword [edx], 0
jmp 0x415dde
mov eax, dword [ebp - 0xd8]
push eax
call fcn.0041c610
add esp, 4
test eax, eax
je 0x41593a
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x2c], 1
jne 0x41582d
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0041b2c0
add esp, 4
push 0
push 0x81
mov ecx, dword [0x45f1e8]
call fcn.0040d260
mov eax, dword [0x45f1e8]
mov dword [eax], 0
mov dword [0x45ef98], 1
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x2c], 4
jne 0x41586a
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0041b2c0
add esp, 4
push 0
push 0x81
mov ecx, dword [0x45f1e8]
call fcn.0040d260
mov eax, dword [0x45f1e8]
mov dword [eax], 0
jmp 0x415dde
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 0x2c], 5
jne 0x415938
cmp dword [ebp - 0x28], 1
jne 0x4158da
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0041b2c0
add esp, 4
push 0
mov ecx, 0x45ea68
call fcn.00416370
mov ecx, eax
call fcn.00401960
push eax
mov ecx, 0x45ea68
call fcn.00416390
push eax
call fcn.00415ee0
add esp, 0xc
push 0
push 0x81
mov ecx, dword [0x45f1e8]
call fcn.0040d260
mov eax, dword [0x45f1e8]
mov dword [eax], 0
jmp 0x415dde
cmp dword [ebp - 0x28], 2
jne 0x41590a
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0041b2c0
add esp, 4
mov ecx, dword [ebp - 0x13c]
call fcn.00415180
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x415908
jmp 0x415dde
jmp 0x415938
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0041b2c0
add esp, 4
cmp dword [ebp - 0x28], 2
jne 0x415938
mov ecx, dword [ebp - 0x13c]
call fcn.00415180
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x415938
jmp 0x415dde
jmp 0x41593f
jmp 0x415dde
jmp 0x4159a6
cmp dword [ebp - 0x28], 1
je 0x41594d
cmp dword [ebp - 0x28], 3
jne 0x415979
push 0
mov ecx, 0x45ea68
call fcn.00416370
mov ecx, eax
call fcn.00401960
push eax
mov ecx, 0x45ea68
call fcn.00416390
push eax
call fcn.00415ee0
add esp, 0xc
jmp 0x415dde
cmp dword [ebp - 0x28], 2
je 0x41598d
mov eax, dword [0x45f198]
cmp dword [eax + 0x384], 0
je 0x4159a6
mov ecx, dword [ebp - 0x13c]
call fcn.00415180
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4159a6
jmp 0x415dde
mov ecx, 0x45ea68
call fcn.00427260
mov ecx, dword [0x45f198]
call fcn.00412ad0
mov dword [ebp - 0x28], eax
push 0x45f030
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str.Check_Patch_End
call fcn.00401010
add esp, 4
mov ecx, 0x45ea68
call fcn.004261e0
call fcn.004148e0
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push str.Check_ETC
call fcn.00401010
add esp, 4
mov dword [0x45d0cc], 0
push 0x44f908
mov ecx, 0x45f014
call fcn.00404170
test eax, eax
je 0x415a30
push 0x44f35b
push 0x45f014
call fcn.00404150
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x415a35
jmp 0x415dde
mov ecx, 0x45efdc
call fcn.00401960
push eax
push str.g_launcher.m_szUserID____s__n
call fcn.00401010
add esp, 8
mov ecx, 0x45eff8
call fcn.00401960
push eax
push str.g_launcher.m_szUserID2____s__n
call fcn.00401010
add esp, 8
mov ecx, 0x45ef58
call fcn.00401960
push eax
push str.g_launcher.m_szVersionIniUrl____s__n
call fcn.00401010
add esp, 8
mov ecx, 0x45f014
call fcn.00401960
push eax
push str.g_launcher.m_szUserSrl____s__n
call fcn.00401010
add esp, 8
mov ecx, 0x45efc0
call fcn.00401960
push eax
push str.g_launcher.m_szGameExecutionArg____s__n
call fcn.00401010
add esp, 8
push 0
call fcn.00414850
add esp, 4
mov edx, 4
cmp edx, eax
sbb eax, eax
neg eax
push eax
mov ecx, 0x45ea68
call fcn.00426940
lea ecx, [ebp - 0x34]
push ecx
call fcn.00415ec0
add esp, 4
mov dword [ebp - 0x1c], 0
push 0xa
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
sbb eax, dword [ebp - 0x10]
push eax
push edx
push str.m_tmEnd___m_tmStart___d__MAXIMUM_EXCUTION_TIME___d_n
call fcn.00401010
add esp, 0x10
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x10]
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x168], edx
cmp dword [ebp - 0x168], 0
jl 0x415b4b
jg 0x415b29
cmp dword [ebp - 0x16c], 0xa
jbe 0x415b4b
mov ecx, 0x45ec6c
call fcn.00416620
test eax, eax
je 0x415b4b
mov dword [ebp - 0x1c], 1
push str.Need_Get_Param_Again
call fcn.00401010
add esp, 4
mov ecx, 0x45eaec
call fcn.00416620
test eax, eax
je 0x415b9d
push 0
push 0x44fa0c
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x415b9d
push 0x44fa1c
call fcn.00401010
add esp, 4
movzx eax, byte [0x45ea60]
test eax, eax
jne 0x415b9d
push 0
push 0x1a3
push 0x111
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [ebp - 0x13c]
add edx, 4
push edx
call fcn.00414980
add esp, 4
mov dword [ebp - 0x24], 0
cmp dword [0x45ecb4], 0
je 0x415bd5
push 0
push 0x44fa2c
push 0x44fa38
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x415be6
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, 0x45ea68
call fcn.004263e0
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
push ecx
push str.g_launcher.RunGame_Result___d_n
call fcn.00401010
add esp, 8
call fcn.00414940
cmp dword [ebp - 0x24], 0xfffffffc
jne 0x415c18
push 0
push 0x44fa7c
push 0x44fa88
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x415c4e
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x415c34
push 0
push 0x44fad0
push 0x44fadc
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x415c4e
cmp dword [ebp - 0x24], 0xfffffffd
jne 0x415c4e
push 0
push 0x44fb1c
push 0x44fb28
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0x45f234], 0
je 0x415c76
push 0
push 0
push 0x12
mov edx, dword [0x45f234]
push edx
call dword [sym.imp.USER32.dll_PostThreadMessageA]
mov dword [0x45f234], 0
jmp 0x415c83
push str.Loop_End
call fcn.00401010
add esp, 4
mov ecx, 0x45eaec
call fcn.00416620
test eax, eax
je 0x415cd5
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x415cd5
push str.Minimize_All
call fcn.00401010
add esp, 4
movzx eax, byte [0x45ea60]
test eax, eax
jne 0x415cd5
push 0
push 0x1a0
push 0x111
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [0x45f1e8]
cmp dword [edx + 0xb0], 0
jne 0x415dde
push 0x44fb90
mov eax, dword [0x45f1e8]
add eax, 0x94
push eax
call fcn.00404150
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x415dde
lea edx, [ebp - 0xe0]
push edx
call fcn.00414850
add esp, 4
mov dword [ebp - 0xdc], eax
mov eax, dword [0x45f1e8]
mov ecx, dword [eax + 0xd0]
push ecx
mov ecx, dword [0x45f1e8]
add ecx, 0x130
call fcn.00416830
push eax
mov edx, dword [ebp - 0xe0]
push edx
mov eax, dword [ebp - 0xdc]
push eax
push str.Ready_PIS_SEED_or_AutoPatch._OS_Major___d__Minor___d__IsUse___d_n
call fcn.00401010
add esp, 0x10
cmp dword [ebp - 0xdc], 5
jne 0x415dde
cmp dword [ebp - 0xe0], 0
je 0x415d74
cmp dword [ebp - 0xe0], 1
jne 0x415dde
push 1
push 0
mov ecx, dword [0x45f198]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x138], esp
push 0x44fb94
call fcn.004018c0
mov dword [ebp - 0x170], eax
call fcn.00416ef0
add esp, 0x28
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0xe4], edx
cmp dword [ebp - 0xe4], 0
jne 0x415dc2
jmp 0x415e98
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x44], 6
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00417430
add esp, 4
cmp dword [0x45ef90], 0
je 0x415e22
cmp dword [0x45ef98], 0
je 0x415e22
cmp dword [0x45f1e0], 0
je 0x415e22
mov ecx, dword [0x45f1e0]
add ecx, 4
call fcn.004167f0
test eax, eax
je 0x415e22
push 0
push 0
push 0x401
mov ecx, dword [0x45f1e0]
add ecx, 4
call fcn.004167c0
mov edx, dword [0x45f1e8]
mov dword [edx + 4], 0
mov ecx, dword [0x45f1e8]
call fcn.0040cc00
mov eax, dword [0x45f1e8]
cmp dword [eax + 0x110], 1
jne 0x415e7d
mov ecx, dword [0x45f1e8]
mov edx, dword [ecx + 0x110]
push edx
push str.Send_ID_TRAY_QUIT__bChannellingID___d__n
call fcn.00401010
add esp, 8
push 0
push 0x8004
push 0x111
mov eax, dword [0x45f1e8]
mov ecx, dword [eax + 0x30]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [0x45f1e8]
add ecx, 0x78
call fcn.004102e0
push str.RunGameThread___finished_n
call fcn.00401010
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x38]
xor ecx, ebp
call fcn.00433b5e
mov esp, ebp
pop ebp
ret