Function at 0x446550
Capabilities:
Delete file

Disassembly:
mov eax, dword [0x5ab3f4]
push esi
mov esi, ecx
cmp eax, 0xffffffff
je 0x4408c3
shl eax, 6
lea eax, [eax + esi + 0x9dd8]
push eax
mov ecx, 0x5c8360
call sub.KERNEL32.dll_DeleteFileA
mov ecx, esi
call fcn.004404a0
mov dword [0x5ab3f4], 0
pop esi
ret
push ecx
push ebp
mov ebp, ecx
push esi
mov ecx, 0x691d84
call fcn.00448540
xor esi, esi
cmp dword [ebp], esi
je 0x4470b1
movss xmm0, dword [ebp + 4]
addss xmm0, dword [0x5c8e40]
push edi
mov ecx, ebp
movss dword [ebp + 4], xmm0
call fcn.0043f7f0
mov eax, dword [ebp + 8]
add eax, 0xfffffff6
mov edi, 0x64
cmp eax, edi
ja case.default.0x44659f
movzx eax, byte [eax + 0x4470f4]
push ebx
jmp dword [eax*4 + 0x4470b8]
lea edi, [ebp + 0xa058]
mov ebx, 1
mov ecx, edi
call fcn.0043f590
test eax, eax
je 0x4465c2
mov dword [0x5ab3f4], esi
add esi, ebx
add edi, 0x74
cmp esi, 0xa
jb 0x4465b1
lea ecx, [ebp + 0xa4e0]
call fcn.0043f590
test eax, eax
je 0x4465f4
cmp dword [0x5ab3f4], 0xffffffff
je 0x4465f4
mov ecx, ebp
call fcn.00440640
push 0x14
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa554]
call fcn.0043f590
test eax, eax
je 0x44660c
push 0xb
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa5c8]
call fcn.0043f590
test eax, eax
je case.0x44659f.24
pop ebx
pop edi
pop esi
mov ecx, ebp
pop ebp
add esp, 4
jmp 0x440890
mov eax, dword [0x5c9614]
mov ebx, 1
cmp eax, ebx
jne 0x4466e4
mov cl, byte [0x5ab344]
test cl, cl
je 0x4466dd
movzx ecx, cl
lea esi, [ebp + 0xc]
push ecx
mov ecx, esi
call fcn.00451060
mov edx, 0xffff
cmp ax, dx
je 0x4466d8
mov eax, str.Player
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446670
sub eax, edx
cmp eax, 0x14
jae 0x4466d8
fld dword [0x565534]
push 0
push ecx
fstp dword [esp]
push str.Player
mov ecx, esi
call fcn.00450f80
fld dword [0x565f44]
fcompi st(1)
fstp st(0)
jbe 0x4466d8
mov eax, 0x5ab344
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4466b0
mov edi, str.Player
sub eax, edx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4466c0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x5c9614]
mov byte [0x5ab344], 0
mov edi, 2
cmp eax, 3
jne 0x446721
mov eax, str.Player
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4466f6
sub eax, edx
je 0x446740
mov eax, str.Player
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446710
sub eax, edx
mov byte [eax + 0x5ab3df], cl
jmp 0x446740
cmp eax, edi
jne 0x44673b
mov eax, str.Player
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446730
sub eax, edx
jmp 0x44673e
cmp eax, 4
jne 0x446746
mov dword [0x5c9614], ebx
mov eax, str.Player
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446750
sub eax, edx
mov eax, 0
setne al
mov dword [ebp + 0xa690], eax
cmp dword [0x5c9614], edi
je 0x44677e
lea ecx, [ebp + 0xa63c]
call fcn.0043f590
test eax, eax
je 0x4467b1
mov eax, str.Player
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446786
sub eax, edx
je 0x4467b1
mov byte [0x5ab344], cl
mov ecx, ebp
mov dword [0x5c9614], 0
call fcn.00445800
push 0x14
mov ecx, ebp
call fcn.00445190
cmp dword [ebp + 0x9dd4], 0
je case.0x44659f.24
lea ecx, [ebp + 0xbbb4]
call fcn.0043f590
test eax, eax
jne 0x4467d9
cmp dword [0x5c95a0], eax
je case.0x44659f.24
push 0xa
mov ecx, ebp
mov dword [0x5c9614], 0
mov byte [0x5ab344], 0
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
lea ecx, [ebp + 0xa6b0]
call fcn.0043f590
test eax, eax
je 0x446811
push 0x15
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa724]
call fcn.0043f590
test eax, eax
je 0x446830
mov ecx, ebp
call fcn.00440640
push 0x16
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa798]
call fcn.0043f590
test eax, eax
je 0x446848
push 0x17
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa80c]
call fcn.0043f590
test eax, eax
je 0x446860
push 0x3c
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa880]
call fcn.0043f590
test eax, eax
je 0x446878
push 0xa
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa8f4]
call fcn.0043f590
test eax, eax
je 0x446890
push 0x28
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa968]
call fcn.0043f590
test eax, eax
je 0x4468a8
push 0x32
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xa9dc]
call fcn.0043f590
test eax, eax
je case.0x44659f.24
push edi
mov ecx, ebp
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
lea ecx, [ebp + 0xaa54]
call fcn.0043f590
mov ebx, 1
lea edi, [ebx + 1]
test eax, eax
je 0x44690c
cmp dword [0x6ef338], edi
jne 0x4468fa
xor esi, esi
push ebx
mov ecx, ebp
mov dword [0x6ef338], esi
call fcn.004408d0
jmp 0x44690e
add dword [0x6ef338], ebx
push ebx
mov ecx, ebp
xor esi, esi
call fcn.004408d0
jmp 0x44690e
xor esi, esi
lea ecx, [ebp + 0xab1c]
call fcn.0043f590
test eax, eax
je 0x44693b
cmp dword [0x6ef33c], ebx
jne 0x44692d
mov dword [0x6ef33c], esi
jmp 0x446933
add dword [0x6ef33c], ebx
push esi
mov ecx, ebp
call fcn.004408d0
lea ecx, [ebp + 0xabe4]
call fcn.0043f590
test eax, eax
je 0x446968
cmp dword [0x6ef340], edi
jne 0x44695a
mov dword [0x6ef340], esi
jmp 0x446960
add dword [0x6ef340], ebx
push esi
mov ecx, ebp
call fcn.004408d0
lea ecx, [ebp + 0xacac]
call fcn.0043f590
test eax, eax
je 0x446995
cmp dword [0x6ef344], ebx
jne 0x446987
mov dword [0x6ef344], esi
jmp 0x44698d
add dword [0x6ef344], ebx
push esi
mov ecx, ebp
call fcn.004408d0
lea ecx, [ebp + 0xad74]
call fcn.0043f590
test eax, eax
je 0x4469c2
cmp dword [0x6ef348], edi
jne 0x4469b4
mov dword [0x6ef348], esi
jmp 0x4469ba
add dword [0x6ef348], ebx
push esi
mov ecx, ebp
call fcn.004408d0
lea ecx, [ebp + 0xae3c]
call fcn.0043f590
test eax, eax
je 0x4469ef
cmp dword [0x6ef34c], edi
jne 0x4469e1
mov dword [0x6ef34c], esi
jmp 0x4469e7
add dword [0x6ef34c], ebx
push esi
mov ecx, ebp
call fcn.004408d0
lea ecx, [ebp + 0xaf04]
call fcn.0043f590
test eax, eax
je case.0x44659f.21
xorps xmm0, xmm0
fld1
push ebx
movss dword [ebp + 4], xmm0
push ecx
mov ecx, dword [0x6b09f8]
fstp dword [esp]
mov dword [0x5ab3f8], esi
call fcn.00401ee0
push 0x6e
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xbbb4]
call fcn.0043f590
test eax, eax
jne 0x446a42
cmp dword [0x5c95a0], esi
je case.0x44659f.24
push 0x14
mov ecx, ebp
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
lea ecx, [ebp + 0xb060]
call fcn.0043f590
mov ebx, 1
test eax, eax
je 0x446a8e
xorps xmm0, xmm0
fld1
push ebx
movss dword [ebp + 4], xmm0
push ecx
mov ecx, dword [0x6b09f8]
fstp dword [esp]
mov dword [0x5ab3f8], ebx
call fcn.00401ee0
push 0x6e
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xb0d4]
call fcn.0043f590
xor esi, esi
test eax, eax
je 0x446ad7
mov eax, dword [0x5ab4ec]
cmp eax, esi
jne 0x446aad
lea eax, [esi + 3]
jmp 0x446aaf
sub eax, ebx
mov dword [0x5ab4ec], eax
cmp dword [eax*4 + 0x5ab514], esi
jne 0x446acb
mov dword [ebp + 0xb0b4], esi
mov dword [ebp + 0xb210], esi
jmp 0x446ad7
mov dword [ebp + 0xb0b4], ebx
mov dword [ebp + 0xb210], ebx
lea ecx, [ebp + 0xb148]
call fcn.0043f590
test eax, eax
je 0x446b1e
mov eax, dword [0x5ab4ec]
cmp eax, 3
jne 0x446af4
xor eax, eax
jmp 0x446af6
add eax, ebx
mov dword [0x5ab4ec], eax
cmp dword [eax*4 + 0x5ab514], esi
jne 0x446b12
mov dword [ebp + 0xb0b4], esi
mov dword [ebp + 0xb210], esi
jmp 0x446b1e
mov dword [ebp + 0xb0b4], ebx
mov dword [ebp + 0xb210], ebx
lea ecx, [ebp + 0xb1bc]
call fcn.0043f590
test eax, eax
je 0x446ba2
mov ecx, dword [0x5ab4ec]
mov ecx, dword [ecx*4 + 0x6b4120]
push esi
push esi
push esi
call fcn.004259c0
mov edx, dword [0x5ab4ec]
mov eax, dword [edx*4 + 0x6b4120]
mov ecx, dword [eax + 0xc20]
mov dword [0x5ab4f0], ecx
movq xmm0, qword [eax + 0xc00]
movq qword [0x5ab4f4], xmm0
movq xmm0, qword [eax + 0xc08]
movq qword [0x5ab4fc], xmm0
movq xmm0, qword [eax + 0xc10]
movq qword [0x5ab504], xmm0
movq xmm0, qword [eax + 0xc18]
mov ecx, ebp
movq qword [0x5ab50c], xmm0
call fcn.00440760
lea ecx, [ebp + 0xbbb4]
call fcn.0043f590
test eax, eax
jne 0x446bbd
cmp dword [0x5c95a0], esi
je case.0x44659f.24
mov eax, dword [0x5ab4ec]
cmp dword [eax*4 + 0x5ab514], esi
jne 0x446be0
jmp 0x446bd0
sub eax, ebx
mov dword [0x5ab4ec], eax
cmp dword [eax*4 + 0x5ab514], esi
je 0x446bd0
push 0x14
mov ecx, ebp
mov dword [ebp + 0xb0b4], ebx
mov dword [ebp + 0xb210], ebx
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
lea ecx, [ebp + 0xaf78]
call fcn.0043f590
test eax, eax
je 0x446c4e
xorps xmm0, xmm0
push 0x4c
push esi
push 0x5ab454
movss dword [0x5ab448], xmm0
mov dword [0x5ab450], esi
mov dword [0x5ab44c], esi
call fcn.005479b0
push 0x4c
push esi
push 0x5ab4a0
call fcn.005479b0
add esp, 0x18
mov ecx, ebp
call fcn.00440760
push 0x16
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xafec]
jmp 0x446c8c
lea ecx, [ebp + 0xb230]
call fcn.0043f590
test eax, eax
jne 0x446c71
cmp dword [0x5c95a0], esi
je case.0x44659f.24
push 0x16
mov ecx, ebp
mov dword [0x5c95a0], esi
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
lea ecx, [ebp + 0xb2a4]
call fcn.0043f590
test eax, eax
jne 0x446ca1
cmp dword [0x5c95a0], esi
je case.0x44659f.24
push 0x14
mov ecx, ebp
mov dword [0x5c95a0], esi
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
lea ecx, [ebp + 0xb318]
call fcn.0043f590
test eax, eax
je 0x446cce
push 0x29
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xb38c]
call fcn.0043f590
test eax, eax
je 0x446ce6
push 0x2a
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xb400]
call fcn.0043f590
test eax, eax
je case.0x44659f.21
push 0x2b
jmp 0x446a20
lea ecx, [ebp + 0xb474]
call fcn.0043f590
test eax, eax
je 0x446d36
mov edx, dword [0x5ab394]
mov eax, dword [ebp + 0xbb9c]
dec edx
cmp eax, edx
jne 0x446d28
mov dword [ebp + 0xbb9c], esi
jmp 0x446d2f
inc eax
mov dword [ebp + 0xbb9c], eax
mov ecx, ebp
call fcn.00440a40
lea ecx, [ebp + 0xb53c]
call fcn.0043f590
test eax, eax
je 0x446d6b
mov eax, dword [ebp + 0xbba0]
cmp eax, dword [0x5ab398]
jne 0x446d5b
mov dword [ebp + 0xbba0], edi
jmp 0x446d64
add eax, 0x46
mov dword [ebp + 0xbba0], eax
mov ecx, ebp
call fcn.00440a40
lea ecx, [ebp + 0xb604]
call fcn.0043f590
test eax, eax
je 0x446d9e
mov eax, dword [ebp + 0xbba4]
cmp eax, dword [0x5ab39c]
jne 0x446d90
mov dword [ebp + 0xbba4], esi
jmp 0x446d97
inc eax
mov dword [ebp + 0xbba4], eax
mov ecx, ebp
call fcn.00440a40
lea ecx, [ebp + 0xb6cc]
call fcn.0043f590
test eax, eax
je 0x446dd1
mov eax, dword [ebp + 0xbba8]
cmp eax, dword [0x5ab3a0]
jne 0x446dc3
mov dword [ebp + 0xbba8], esi
jmp 0x446dca
inc eax
mov dword [ebp + 0xbba8], eax
mov ecx, ebp
call fcn.00440a40
lea ecx, [ebp + 0xb794]
call fcn.0043f590
test eax, eax
je 0x446e04
mov eax, dword [ebp + 0xbbac]
cmp eax, dword [0x5ab3a4]
jne 0x446df6
mov dword [ebp + 0xbbac], esi
jmp 0x446dfd
inc eax
mov dword [ebp + 0xbbac], eax
mov ecx, ebp
call fcn.00440a40
lea ecx, [ebp + 0xb85c]
call fcn.0043f590
test eax, eax
je 0x446e37
mov eax, dword [ebp + 0xbbb0]
cmp eax, dword [0x5ab3a8]
jne 0x446e29
mov dword [ebp + 0xbbb0], esi
jmp 0x446e30
inc eax
mov dword [ebp + 0xbbb0], eax
mov ecx, ebp
call fcn.00440a40
lea ecx, [ebp + 0xb924]
call fcn.0043f590
test eax, eax
je 0x446e9a
mov eax, dword [ebp + 0xbb9c]
mov dword [0x5c8e2c], eax
mov ecx, dword [ebp + 0xbba0]
mov dword [0x5c8584], ecx
mov edx, dword [ebp + 0xbba4]
mov dword [0x5c8de4], edx
mov eax, dword [ebp + 0xbba8]
mov dword [0x5c8588], eax
mov ecx, dword [ebp + 0xbbac]
mov dword [0x5c8de8], ecx
mov edx, dword [ebp + 0xbbb0]
mov dword [0x5c8e34], edx
call fcn.0043c8a0
push 0x28
mov ecx, ebp
call fcn.00445190
lea ecx, [ebp + 0xb998]
call fcn.0043f590
test eax, eax
jne 0x446eb5
cmp dword [0x5c95a0], esi
je case.0x44659f.24
mov eax, dword [0x5c8e2c]
mov dword [ebp + 0xbb9c], eax
mov ecx, dword [0x5c8584]
mov dword [ebp + 0xbba0], ecx
mov edx, dword [0x5c8de4]
mov dword [ebp + 0xbba4], edx
mov eax, dword [0x5c8588]
mov dword [ebp + 0xbba8], eax
mov ecx, dword [0x5c8de8]
mov dword [ebp + 0xbbac], ecx
mov edx, dword [0x5c8e34]
mov dword [ebp + 0xbbb0], edx
push 0x28
mov ecx, ebp
mov dword [0x5c95a0], esi
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
lea ecx, [ebp + 0xba0c]
call fcn.0043f590
mov ebx, 0xa
test eax, eax
je 0x446f50
cmp dword [0x5c88d0], edi
jne 0x446f34
mov dword [0x5c88d0], esi
jmp 0x446f3a
add dword [0x5c88d0], ebx
mov ecx, ebp
call fcn.00440a40
call fcn.0043c8a0
mov ecx, 0x6cbfb0
call fcn.0044f030
lea ecx, [ebp + 0xbad4]
call fcn.0043f590
test eax, eax
je case.0x44659f.20
cmp dword [0x5c8e20], edi
jne 0x446f6f
mov dword [0x5c8e20], esi
jmp 0x446f75
add dword [0x5c8e20], ebx
mov ecx, ebp
call fcn.00440a40
call fcn.0043c8a0
mov ecx, 0x6cbfb0
call fcn.0044f030
lea ecx, [ebp + 0xbbb4]
call fcn.0043f590
test eax, eax
jne 0x446fa6
cmp dword [0x5c95a0], esi
je case.0x44659f.24
push 0x28
mov ecx, ebp
call fcn.00445190
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret
movss xmm0, dword [ebp + 4]
comiss xmm0, dword [0x5652dc]
jbe case.0x44659f.24
mov eax, dword [0x5ab3f8]
or esi, 0xffffffff
lea ebx, [esi + 2]
test eax, eax
je 0x446fde
cmp eax, ebx
jne 0x447089
call dword [sym.imp.WINMM.dll_timeGetTime]
push eax
call fcn.00548596
mov ecx, dword [0x6ef33c]
mov edx, dword [0x6ef340]
mov eax, dword [0x6ef338]
inc edx
mov dword [0x5c8654], ecx
mov ecx, dword [0x6ef344]
mov dword [0x5c86a0], edx
mov edx, dword [0x6ef348]
mov dword [0x5c86ec], ecx
mov ecx, dword [0x6ef34c]
mov dword [0x5c881c], edx
add esp, 4
cmp dword [0x5ab3f8], 0
lea edx, [ecx + ecx + 6]
mov dword [0x5c8608], eax
mov dword [0x5c87c8], esi
mov dword [0x5c87cc], esi
mov dword [0x5c87d0], esi
mov dword [0x5c8868], edx
jne 0x447069
mov ecx, dword [0x5ab44c]
mov dword [0x5ab450], ecx
mov dword [0x5ab44c], 0x12
push eax
mov ecx, 0x692830
call fcn.0041c910
mov edx, dword [0x5c9618]
push 0
push edx
push 0x14
mov ecx, 0x5c858c
call fcn.0041aff0
push 0
mov ecx, ebp
mov dword [0x5c9654], ebx
call fcn.00445bb0
mov eax, dword [ebp + 0xaa50]
push eax
mov ecx, 0x610810
call fcn.00408ff0
mov dword [ebp + 0xaa50], esi
pop ebx
pop edi
pop esi
pop ebp
pop ecx
ret