Function at 0x464390
Capabilities:
Terminate process

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x50ff15
push eax
mov dword fs:[0], esp
sub esp, 0x298
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
mov dword [ebp + 0x44], ebx
mov dword [ebp], 0x5182c8
mov dword [ebp + 0x20], 1
mov byte [ebp + 0x2c], bl
mov byte [ebp + 0x64], 1
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x48], ebx
call fcn.004437d0
mov ecx, eax
call fcn.00443820
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b8]
mov dword [ebp + 0x4c], ebx
mov byte [ebp + 0x26c], bl
mov byte [ebp + 0x26a], bl
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], ecx
mov dword [ebp + 0x60], edx
mov eax, dword [0x5e3f60]
push str.REMOVE
push eax
call fcn.00501550
add esp, 8
test eax, eax
je 0x4644de
push ebx
xor edx, edx
mov ecx, str.Data
call fcn.0044e790
mov edx, 0x100
lea ecx, [esp + 0xa0]
call fcn.00465890
mov edx, str.RemoveSw.exe
lea ecx, [esp + 0xa0]
call fcn.00452240
push ebx
lea ecx, [esp + 0xa4]
push 0x20
push ecx
xor edx, edx
mov ecx, str.RemoveSw.exe
call fcn.0044fdc0
test al, al
je 0x4644d8
push ebx
push 0x20
push str.Remove.txt
xor edx, edx
mov ecx, str.Remove.txt
call fcn.0044fdc0
mov edx, 0x100
lea ecx, [esp + 0x1a0]
call fcn.00465890
mov edx, str.DeleteMe.exe
lea ecx, [esp + 0x1a0]
call fcn.00452240
push ebx
lea edx, [esp + 0x1a4]
push 0x20
push edx
xor edx, edx
mov ecx, str.DeleteMe.exe
call fcn.0044fdc0
push 1
lea edx, [esp + 0xa4]
lea ecx, [esp + 0x1a4]
call fcn.00465ae0
push ebx
call fcn.005009bb
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 4], ebx
mov ecx, str.Game_Startup
mov dword [0x5d1264], ebp
call fcn.004505e0
mov ecx, 0x5df438
call fcn.00485150
push 0x531aec
push str.TestSave.dat
call fcn.00501601
add esp, 8
cmp eax, ebx
je 0x464531
push eax
call fcn.0050135d
push str.TestSave.dat
call fcn.0050126c
add esp, 8
mov byte [esp + 0x18], 1
jmp 0x464535
mov byte [esp + 0x18], bl
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x2bc]
push eax
lea ecx, [esp + 0x10]
call fcn.00452360
mov ecx, eax
mov dword [esp + 0x2a8], ebx
call fcn.00470660
push eax
mov ecx, 0x5ceeb0
call fcn.00445b10
lea ecx, [esp + 0xc]
mov dword [esp + 0x2a8], 0xffffffff
call fcn.0046ebb0
mov ecx, 0xec
call fcn.00488280
cmp eax, ebx
je 0x46458e
mov ecx, eax
call fcn.004aea90
jmp 0x464590
xor eax, eax
push ebx
xor edx, edx
mov ecx, str.Data
mov dword [ebp + 4], eax
call fcn.0044e790
mov ecx, str._NoCompression
call fcn.00465850
test al, al
je 0x4645b5
xor cl, cl
call fcn.004561f0
push esi
push edi
mov ecx, str._SkipMovies
call fcn.00465850
test al, al
jne 0x46467f
mov esi, dword [esp + 0x2d0]
cmp esi, ebx
je 0x46467f
mov ecx, dword [esi]
mov byte [esp + 0x13], al
cmp ecx, ebx
je 0x464666
mov edi, esi
lea ecx, [esp + 0x14]
call fcn.0046e990
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push ecx
push str.Movies__s.bik
push edx
mov dword [esp + 0x2bc], 1
call fcn.00470090
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.00470660
mov ecx, eax
xor edx, edx
call fcn.0044f1a0
test al, al
jne 0x464649
lea ecx, [esp + 0x14]
mov dword [esp + 0x2b0], 0xffffffff
call fcn.0046ebb0
mov eax, dword [edi + 4]
add edi, 4
cmp eax, ebx
mov esi, edi
jne 0x4645e8
jmp 0x464662
lea ecx, [esp + 0x14]
mov byte [esp + 0x13], 1
mov dword [esp + 0x2b0], 0xffffffff
call fcn.0046ebb0
mov al, byte [esp + 0x13]
and al, 1
mov byte [esp + 0x13], al
je 0x46467f
push 0x1e0
mov edx, 0x280
mov ecx, 0x10
jmp 0x464684
xor edx, edx
push ebx
xor ecx, ecx
call fcn.004c6780
mov ecx, 0x5df438
call fcn.00485150
push 1
push ebx
push 0x5d0b60
push str.Frames
mov dword [0x5d0c98], 0x53217c
call fcn.00451640
mov ecx, eax
call fcn.00451540
push eax
mov ecx, 0x5d0b60
call fcn.00488ef0
mov eax, dword [0x5d0b60]
mov ecx, 0x5d0b60
call dword [eax + 0xa0]
mov edi, str.Resources
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x5d0b98
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0046e990
push 0x5413c8
push str.Resources
lea ecx, [esp + 0x20]
mov dword [esp + 0x2b8], 2
call fcn.0046f1c0
lea ecx, [esp + 0x24]
call fcn.0044e510
mov byte [esp + 0x2b0], 3
call fcn.00403810
test eax, eax
jne 0x464751
push 0x531fdc
lea ecx, [esp + 0x1c]
call fcn.00470660
push eax
lea ecx, [esp + 0x2c]
call fcn.0044e580
jmp 0x464766
push 1
lea ecx, [esp + 0x1c]
call fcn.00470660
push eax
lea ecx, [esp + 0x2c]
call fcn.0044e5c0
push 1
lea ecx, [esp + 0x28]
call fcn.0048b020
xor edx, edx
lea ecx, [esp + 0x24]
call fcn.0044ef20
cmp eax, ebx
mov dword [0x5d0b94], eax
mov dword [0x5d0b90], ebx
je 0x4647ff
lea esi, [eax + 1]
mov eax, esi
shl eax, 7
add eax, 4
push eax
call fcn.004fff6b
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x2b0], 4
je 0x4647ce
push 0x407830
push 0x445a40
lea edi, [eax + 4]
push esi
push 0x80
push edi
mov dword [eax], esi
call fcn.00500422
mov edx, edi
jmp 0x4647d0
xor edx, edx
mov ecx, dword [0x5d0b94]
push ebx
push ecx
push 0x80
push ebx
lea ecx, [esp + 0x34]
mov byte [esp + 0x2c0], 3
mov dword [0x5d0b90], edx
call fcn.0044ed70
mov dword [0x5d0b94], eax
jmp 0x464926
lea ecx, [esp + 0x1c]
call fcn.0046e990
push str.Resources
mov byte [esp + 0x2b4], 5
call fcn.0044ed60
push eax
lea ecx, [esp + 0x24]
call fcn.0046f1c0
push 0x5413c8
lea ecx, [esp + 0x20]
call fcn.00470660
push eax
lea ecx, [esp + 0x20]
call fcn.0046f1c0
lea ecx, [esp + 0x50]
call fcn.0044e510
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b0], 6
call fcn.00470660
mov esi, eax
call fcn.004567e0
push eax
push esi
lea ecx, [esp + 0x58]
call fcn.0044e580
push 1
lea ecx, [esp + 0x54]
call fcn.0048b020
xor edx, edx
lea ecx, [esp + 0x50]
call fcn.0044ef20
cmp eax, ebx
mov dword [0x5d0b94], eax
je 0x4648f5
lea esi, [eax + 1]
mov edx, esi
shl edx, 7
add edx, 4
push edx
call fcn.004fff6b
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x2b0], 7
je 0x4648ca
push 0x407830
push 0x445a40
lea edi, [eax + 4]
push esi
push 0x80
push edi
mov dword [eax], esi
call fcn.00500422
mov edx, edi
jmp 0x4648cc
xor edx, edx
mov eax, dword [0x5d0b94]
push ebx
push eax
push 0x80
push ebx
lea ecx, [esp + 0x60]
mov byte [esp + 0x2c0], 6
mov dword [0x5d0b90], edx
call fcn.0044ed70
mov dword [0x5d0b94], eax
push fcn.0046ebb0
push 5
lea ecx, [esp + 0x70]
push 4
push ecx
mov byte [esp + 0x2c0], 5
call fcn.005004a4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b0], 3
call fcn.0046ebb0
mov eax, dword [0x5d0b94]
cmp eax, ebx
je 0x4649c5
xor edi, edi
cmp eax, ebx
jbe 0x46498a
xor esi, esi
lea ecx, [esp + 0x18]
call fcn.00470660
mov edx, eax
mov eax, dword [0x5d0b90]
lea ecx, [esi + eax]
call fcn.004c2ef0
mov ecx, dword [0x5d0b90]
mov edx, 0x5413c8
add ecx, esi
call fcn.00451fe0
mov edx, dword [0x5d0b90]
lea ecx, [esi + edx]
call fcn.004522c0
mov ecx, eax
mov edx, 0x52e0bc
call fcn.004c2ef0
mov eax, dword [0x5d0b94]
inc edi
add esi, 0x80
cmp edi, eax
jb 0x464936
push fcn.0050d670
push 0x80
push eax
mov eax, dword [0x5d0b90]
push eax
call fcn.00500d48
mov ecx, dword [0x5d0b90]
mov edx, dword [0x5d0b94]
add esp, 0x10
push ebx
push ecx
push edx
push 0x80
push 1
mov ecx, 0x5d0b60
call fcn.004c7370
jmp 0x4649cb
mov dword [0x5d0b90], ebx
push 0x34
call fcn.004fff6b
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x2b0], 8
je 0x4649f3
push 0x5d0b60
mov ecx, eax
call fcn.0044ae50
jmp 0x4649f5
xor eax, eax
mov dword [0x5d0c9c], eax
push eax
mov eax, dword [0x5d0b60]
mov ecx, 0x5d0b60
mov byte [esp + 0x2b4], 3
call dword [eax + 0x6c]
push fcn.0046ebb0
push 5
lea ecx, [esp + 0x44]
push 4
push ecx
mov byte [esp + 0x2c0], 2
call fcn.005004a4
lea ecx, [esp + 0x18]
mov dword [esp + 0x2b0], 0xffffffff
call fcn.0046ebb0
mov esi, dword [esp + 0x2c8]
cmp esi, ebx
je 0x464a74
mov edx, dword [0x5d0b60]
push 0xffffffffffffffff
push str.CompanyLogo
mov ecx, 0x5d0b60
call dword [edx + 0xc]
push eax
mov ecx, 0x5d0b60
call fcn.004099c0
push ebx
push ebx
push eax
mov ecx, esi
call fcn.004b57d0
call fcn.004b5ab0
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
call fcn.004b9770
lea ecx, [esp + 0x7c]
call fcn.0044e510
push 0x53216c
push str.Music_
lea ecx, [esp + 0x84]
mov dword [esp + 0x2b8], 9
call fcn.0044e580
push 0x532168
lea ecx, [esp + 0x80]
call fcn.0044e550
push 0xc
call fcn.004fff6b
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x2b0], 0xa
je 0x464ae9
lea ecx, [esp + 0x7c]
push 1
push ecx
mov ecx, eax
call fcn.00471f90
jmp 0x464aeb
xor eax, eax
mov edi, dword [esp + 0x2cc]
mov byte [esp + 0x2b0], 9
cmp edi, ebx
mov dword [ebp + 0x278], eax
je 0x464b5c
push 0xffffffffffffffff
push edi
mov ecx, 0x5d1478
call fcn.00472010
cmp eax, 0xffffffff
je 0x464b5c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x6c]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
mov dword [ebp + 0x270], ebx
mov dword [ebp + 0x274], ebx
mov byte [ebp + 0x26a], bl
mov byte [ebp + 0x26c], bl
mov byte [ebp + 0x26b], 1
call fcn.00465500
mov al, byte [esp + 0x20]
pop edi
cmp al, bl
pop esi
je 0x464b6d
mov ecx, ebp
call fcn.00465500
push 0x8787
call fcn.00501c4f
add esp, 4
call fcn.004819e0
call fcn.004011c0
push 1
push str.Local.txt
mov ecx, 0x5d21a0
call fcn.0047f2a0
push ebx
push str.Show_Frame_Rate
mov edx, 0x5cefb0
mov ecx, 0x5ceeb0
mov byte [ebp + 0x19], bl
mov byte [ebp + 0x1a], bl
mov byte [ebp + 0x1d], 1
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
mov byte [ebp + 0x1b], bl
call fcn.00452400
test eax, eax
setne cl
mov byte [ebp + 0x1b], cl
push 1
push str.Show_Overlays_In_Editor
mov edx, 0x5cefb0
mov ecx, 0x5ceeb0
mov byte [ebp + 0x1c], 1
call fcn.00452400
test eax, eax
setne dl
mov byte [ebp + 0x1c], dl
call fcn.00450600
push fcn.0046ebb0
push 5
lea eax, [esp + 0x94]
push 4
push eax
mov dword [esp + 0x2b8], 0xffffffff
call fcn.005004a4
mov ecx, dword [esp + 0x2a0]
mov eax, ebp
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2a4
ret 0x1c