Function at 0x4564d0
Capabilities:
Delete file
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4bee4b
push eax
mov eax, dword [esp + 0x1c]
mov dword fs:[0], esp
sub esp, 0x780
sub eax, 0
push ebx
push ebp
push esi
push edi
mov ebp, ecx
je 0x456513
dec eax
jne 0x456537
mov eax, dword [esp + 0x7a0]
lea ecx, [ebp + 0x2a9a62]
push eax
push ecx
push str._sinheritdata_03d.bmp
jmp 0x456527
mov eax, dword [esp + 0x7a0]
lea ecx, [ebp + 0x2a9a62]
push eax
push ecx
push str._ssavedata_03d.bmp
lea edx, [esp + 0x39c]
push edx
call fcn.004b093f
add esp, 0x10
lea ecx, [esp + 0x64]
call fcn.00408720
mov eax, dword [ebp + 0x9dbbb1]
lea esi, [ebp + 0x7a6885]
mov ecx, 0x20
lea edi, [esp + 0x90]
mov dword [esp + 0x30], eax
mov edx, dword [ebp + 0x2aa830]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x2aa83c]
mov ecx, dword [ebp + 0x2aa840]
mov esi, dword [ebp + 0x2aa838]
xor eax, eax
mov ax, word [ebp + 0x2aa7d4]
xor ebx, ebx
mov bx, word [ebp + 0x2aa7d2]
sub eax, edi
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x2aa834]
sub ebx, esi
push 0
sar eax, 1
push 1
add eax, ecx
sar ebx, 1
push edi
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x7a8], 0
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], edi
add ebx, edx
mov dword [esp + 0x28], eax
call fcn.004087e0
mov eax, dword [ebp + 0x2a8f7e]
sub eax, 0
je 0x456956
dec eax
jne 0x456a12
push 0
push 1
lea edx, [ebp + 0xe6fae]
push 0x7ff
push edx
mov ecx, ebp
call fcn.004197a0
xor eax, eax
lea ecx, [ebp + 0x3bb7c]
mov al, byte [ebp + 0xe6fce]
push eax
call fcn.0040d070
lea esi, [ebp + 0xe87d5]
lea ecx, [ebp + 0x86b52]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], 0xa
add esi, 0xffffffdf
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x45690c
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x967c]
test eax, eax
je 0x45690c
push 0
push 2
push 0x7fe
push esi
mov ecx, ebp
call fcn.004197a0
test eax, eax
je 0x45690c
xor eax, eax
lea ebx, [ebp + 0x3bb50]
mov al, byte [esi + 0x20]
mov ecx, ebx
push eax
call fcn.0040d070
mov ecx, dword [esp + 0x38]
push 1
push 0
call fcn.00416250
test eax, eax
mov dword [esp + 0x24], eax
je 0x4566ca
add eax, 4
mov ecx, 0x20
mov esi, eax
lea edi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x20
mov esi, eax
lea edi, [esp + 0x110]
lea eax, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x128]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0040d710
jmp 0x4566d6
lea ecx, [esp + 0x44]
push ecx
mov ecx, ebx
call fcn.0040d510
xor esi, esi
cmp eax, esi
je 0x45690c
mov edi, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x3bb8c]
mov edx, dword [ebp + 0x3bb90]
mov ebx, dword [ebp + 0x3bb58]
mov eax, dword [edi]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x3bb5c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], ecx
test eax, eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x30], ebx
mov esi, ebx
je 0x456826
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], 0
fild qword [esp + 0x5c]
lea esi, [eax + 4]
mov ecx, 0x20
lea edi, [esp + 0x210]
mov dword [esp + 0x24], esi
rep movsd dword es:[edi], dword [esi]
fmul dword [esp + 0x228]
call fcn.004b0e40
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x3bb5c]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], eax
mov ecx, 0x20
fild qword [esp + 0x54]
lea edi, [esp + 0x310]
rep movsd dword es:[edi], dword [esi]
fmul dword [esp + 0x32c]
call fcn.004b0e40
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, ebx
sub eax, edx
mov dword [esp + 0x30], edx
cdq
mov ecx, 0x20
lea edi, [esp + 0x190]
rep movsd dword es:[edi], dword [esi]
fld dword [esp + 0x190]
sub eax, edx
mov esi, eax
sar esi, 1
call fcn.004b0e40
mov ebx, dword [esp + 0x20]
mov ecx, 0x20
add eax, ebx
lea edi, [esp + 0x290]
add eax, esi
mov esi, dword [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
fld dword [esp + 0x294]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x3bb5c]
sub eax, edi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
call fcn.004b0e40
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
add eax, ecx
mov ecx, dword [esp + 0x48]
add eax, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
test eax, eax
jge 0x45684b
push eax
call fcn.00403070
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x28]
test eax, eax
jge 0x456873
push eax
call fcn.00403070
add esp, 4
imul eax, esi
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x18]
add ebx, eax
mov eax, dword [edi]
shl ebx, 2
test eax, eax
mov dword [esp + 0x18], ebx
jge 0x456898
add esi, eax
cmp esi, ecx
jle 0x4568ab
mov dword [esp + 0x1c], ecx
mov esi, ecx
jmp 0x4568ab
lea ebx, [eax + esi]
cmp ebx, ecx
jle 0x4568a7
sub ecx, eax
mov dword [esp + 0x1c], ecx
mov esi, ecx
mov ebx, dword [esp + 0x18]
mov edi, dword [edi + 4]
test edi, edi
jge 0x4568c2
mov eax, dword [esp + 0x10]
add eax, edi
cmp eax, edx
mov dword [esp + 0x10], eax
jle 0x4568d2
jmp 0x4568ce
mov ecx, dword [esp + 0x10]
add ecx, edi
cmp ecx, edx
jle 0x4568d2
sub edx, edi
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
push 0x20
add ebx, eax
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x30]
push ebx
push ecx
push esi
push 0
push 0
push edx
push eax
lea ecx, [ebp + 0x3bb7c]
call fcn.0040d8d0
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004b0991
add esp, 4
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
add edx, 0x9884
add esi, 0x4ce
dec eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x2c], eax
jne 0x456621
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x6c]
push edx
push eax
push ecx
lea ecx, [ebp + 0x3bb7c]
call fcn.0040d5b0
jmp 0x456a0a
mov edi, dword [esp + 0x30]
mov dl, byte [ebp + 0x5a7322]
push edi
mov ecx, ebp
mov byte [esp + 0x1b], dl
mov byte [ebp + 0x5a7322], 1
call fcn.0041b860
lea esi, [ebp + 0xe8]
push 0
push edi
mov ecx, esi
call fcn.00412ec0
test eax, eax
je 0x45699d
mov ecx, ebp
call fcn.00457cb0
mov ecx, ebp
call fcn.00451d30
push edi
mov ecx, esi
call fcn.00412ef0
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0x17]
push 0x461c1800
push 0x461c1800
sub esp, 0x80
mov dword [esp + 0x130], ecx
mov edx, ecx
mov ecx, 0x20
lea esi, [esp + 0x118]
mov edi, esp
mov byte [ebp + 0x5a7322], al
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x134], edx
push eax
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
call fcn.00418fa0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x70]
push edx
push eax
push ebx
push ecx
lea ecx, [ebp + 0xec]
call fcn.0040b390
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
push 1
push edi
push esi
push 0
lea edx, [esp + 0x3a0]
push 0
push edx
lea ecx, [esp + 0x7c]
call fcn.00408b80
lea ecx, [ebp + 0x3bb50]
call fcn.0040c8c0
lea esi, [ebp + 0x3bb7c]
mov ecx, esi
call fcn.0040c8c0
lea ecx, [esp + 0x64]
call fcn.00408770
mov eax, dword [esp + 0x7a8]
test eax, eax
je 0x456ae5
mov ecx, dword [ebp + 0x2aa83c]
mov edx, dword [ebp + 0x2aa838]
mov eax, dword [ebp + 0xf4]
push 1
push 0x15
push ecx
push edx
push eax
mov ecx, esi
call fcn.0040c8f0
test eax, eax
je 0x456ab6
lea eax, [esp + 0x390]
push 1
push eax
lea ecx, [esp + 0x6c]
call fcn.00408a00
test eax, eax
je 0x456ab6
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push 3
push ecx
push edx
push eax
push 0
push 0
mov ecx, esi
call fcn.0040d8a0
test eax, eax
jne 0x456ace
lea ecx, [esp + 0x64]
mov dword [esp + 0x798], 0xffffffff
call fcn.00408730
xor eax, eax
jmp 0x456afe
lea ecx, [esp + 0x390]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x64]
call fcn.00408770
lea ecx, [esp + 0x64]
mov dword [esp + 0x798], 0xffffffff
call fcn.00408730
mov eax, 1
mov ecx, dword [esp + 0x790]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x78c
ret 0x10