Function at 0x429720
Capabilities:
Delete file
Get common file path
Get file attributes
Set current directory
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4faa36
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x10f00
call fcn.004f2630
push ebx
push esi
push edi
lea eax, [ebp - 0x288]
mov dword [ebp - 0x10], esp
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.004ab6e0
add esp, 4
lea ecx, [ebp - 0x74]
push ecx
call fcn.00401350
add esp, 4
lea edx, [ebp - 0x908]
mov dword [ebp - 0x1c], ebx
push 0x104
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea edi, [ebp - 0x908]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x1c0]
call fcn.004f0653
mov eax, dword [0x4fe4e8]
lea ecx, [ebp - 0x1c0]
push eax
push 1
push str.c:endpcache_auto_repair.txt
mov byte [ebp - 4], 1
call fcn.004f0727
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ecx + 4]
mov eax, dword [ebp + edx - 0x1bc]
cmp dword [eax + 0x30], 0xffffffff
je 0x42982a
mov edi, dword [ebp - 0x1bc]
push 0xa
lea eax, [ebp - 0x608]
inc edi
push 0x40
push eax
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x1bc], edi
call fcn.004f0ae9
lea edi, [ebp - 0x608]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x42982a
lea ecx, [ebp - 0x608]
push str.close
push ecx
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x42982a
mov dword [ebp - 0x24], 1
lea ecx, [ebp - 0x1c0]
call fcn.004f076e
push 1
lea ecx, [ebp - 0x208]
call fcn.004f0653
mov edx, dword [0x4fe4e8]
lea ecx, [ebp - 0x208]
push edx
push 8
push str.c:endpcacheprocess_log.txt
mov byte [ebp - 4], 2
call fcn.004f0727
lea eax, [ebp - 0xe10]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0xa0c]
lea edx, [ebp - 0xa0c]
rep stosd dword es:[edi], eax
mov cl, byte [ebp - 0xe10]
mov edi, str.:Documents_and_Settings_
mov byte [ebp - 0xa0c], cl
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x40]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0xa0c]
push 0xc5189c
push ecx
call fcn.004b6a60
add esp, 0xc
mov dword [ebp - 0x18], ebx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
cmp edx, eax
jge 0x429a0c
mov eax, edx
or ecx, 0xffffffff
shl eax, 8
lea edx, [ebp - 0x588]
mov byte [ebp - 0x588], 0
lea ebx, [eax + 0xc5189c]
xor eax, eax
mov edi, ebx
mov byte [ebp - 0xc0c], 0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0xc0c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x588]
push ecx
push 0x517df8
push edx
call fcn.004f175f
lea edi, [ebp - 0xc0c]
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004f2beb
add esp, 0x10
cmp eax, 0xffffffff
je 0x4299d2
lea edi, [ebp - 0x588]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
lea eax, [edi - 1]
test eax, eax
jle 0x429990
cmp byte [ebp + eax - 0x588], 0x5c
je 0x429990
dec eax
jmp 0x42997f
mov esi, dword [ebp - 0x18]
xor edx, edx
mov ecx, edi
sub ecx, eax
cmp edx, ecx
jge 0x4299ba
mov ecx, esi
mov ebx, esi
shl ecx, 8
add ecx, edx
shl ebx, 6
mov cl, byte [ecx + eax + 0xc5189d]
mov byte [ebx + edx + 0xd844ac], cl
inc edx
jmp 0x429995
mov edx, esi
shl edx, 6
sub edx, eax
inc esi
mov dword [ebp - 0x18], esi
mov byte [edx + edi + 0xd844ab], 0
jmp 0x4298d5
mov edx, dword [ebp - 0x18]
mov edi, str.NULL
shl edx, 6
or ecx, 0xffffffff
xor eax, eax
add edx, 0xd844ac
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
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 esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
jmp 0x4298d5
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], esi
cmp esi, dword [ebp - 0x40]
jge 0x42a8f5
mov ecx, esi
push str.NULL
shl ecx, 6
add ecx, 0xd844ac
push ecx
call fcn.004f61e0
add esp, 8
test eax, eax
je 0x42a216
mov edx, esi
shl edx, 8
lea edi, [edx + 0xc5189c]
push edi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
setne al
test al, al
je 0x42a216
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x8f10]
push eax
push ecx
push edi
mov dword [ebp - 0x30], ebx
call fcn.004b7150
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
add eax, edx
add esp, 0xc
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp eax, dword [ebp - 0x30]
jge 0x42a216
shl eax, 8
shl esi, 8
mov dword [ebp - 0x38], eax
lea eax, [ebp + eax - 0x8f10]
lea ecx, [esi + 0xc5189c]
mov dword [ebp - 0x28], eax
push eax
push ecx
lea eax, [ebp - 0x178]
push str._s_s
push eax
mov dword [ebp - 0x34], ecx
call fcn.004f175f
lea ecx, [ebp - 0x178]
push str..ini
push ecx
call fcn.004f2d80
lea edx, [ebp - 0x178]
push str..INI
push edx
mov esi, eax
call fcn.004f2d80
add esp, 0x20
test esi, esi
jne 0x42a8c1
test eax, eax
jne 0x42a8c1
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x178]
inc esi
push str..lnk
push eax
mov dword [ebp - 0x20], esi
call fcn.004f2d80
lea ecx, [ebp - 0x178]
push str..LNK
push ecx
mov ebx, eax
call fcn.004f2d80
lea edx, [ebp - 0x178]
push str..Lnk
push edx
mov dword [ebp - 0x50], eax
call fcn.004f2d80
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x178]
push str..bat
push eax
call fcn.004f2d80
lea ecx, [ebp - 0x178]
push str..BAT
push ecx
mov esi, eax
call fcn.004f2d80
lea edx, [ebp - 0x178]
push str..Bat
push edx
mov edi, eax
call fcn.004f2d80
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x178]
push str..BAt
push eax
call fcn.004f2d80
lea ecx, [ebp - 0x178]
push str..baT
push ecx
mov dword [ebp - 0x4c], eax
call fcn.004f2d80
add esp, 0x40
mov dword [ebp - 0x54], eax
test ebx, ebx
jne 0x429d4b
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x429d4b
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x429d4b
test esi, esi
jne 0x429d4b
test edi, edi
jne 0x429d4b
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x429d4b
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x429d4b
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x429d4b
cmp dword [0xe56bec], 1
jne 0x429c96
lea edi, [ebp - 0x178]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0xf10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
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]
lea ecx, [ebp - 0xf10]
push ecx
call fcn.004f35a0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jle 0x429c96
push edx
call fcn.004fa6c0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0xb0c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.sbv.
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]
lea ecx, [ebp - 0xb0c]
mov byte [ebp - 0xb08], bl
push ecx
call fcn.004f61e0
add esp, 0xc
test eax, eax
je 0x42a8e6
lea edx, [ebp - 0x178]
push 0x80
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x178]
push eax
call fcn.004ab990
add esp, 4
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x178]
push edx
lea ecx, [ebp - 0x74]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x288]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x508]
push 0x517d3c
push eax
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x18
test eax, eax
jne 0x42a132
mov eax, dword [0xe56dbc]
mov edx, dword [ebp + 0x1b4]
lea ecx, [ebp - 0x508]
test eax, eax
mov eax, dword [ebp + 0x1b0]
push ecx
push edx
push eax
jne 0x42a115
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a12c
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x178]
push ecx
lea eax, [ebp - 0x74]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517d0c
push edx
call fcn.004f175f
add esp, 0x18
test esi, esi
jne 0x429da8
test edi, edi
jne 0x429da8
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x429da8
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x429da8
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x429e9b
lea eax, [ebp - 0x178]
push eax
call fcn.004ab3c0
add esp, 4
cmp eax, 0x1000
jle 0x429e9b
lea ecx, [ebp - 0x178]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea edx, [ebp - 0x178]
push edx
call fcn.004ab990
add esp, 4
lea eax, [ebp - 0x178]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x178]
push ecx
lea eax, [ebp - 0x74]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517c90
push edx
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x18
test eax, eax
jne 0x429e89
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b4]
mov edx, dword [ebp + 0x1b0]
test eax, eax
lea eax, [ebp - 0x508]
push eax
push ecx
push edx
jne 0x429e6c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x429e83
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov eax, dword [0xe56d24]
mov dword [ebp - 0x1c], 1
inc eax
mov dword [0xe56d24], eax
test ebx, ebx
jne 0x429eb1
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x429eb1
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x42a144
lea edi, [ebp - 0x178]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x808]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
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]
lea ecx, [ebp - 0x808]
push ecx
call fcn.00406bf0
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x178]
push ebx
push edx
lea ecx, [ebp - 0x74]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x288]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x508]
push 0x517c5c
push eax
call fcn.004f175f
push ebx
call fcn.004fa6c0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x20
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x808]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 0x2c]
not ecx
dec ecx
cmp eax, ecx
jge 0x429f70
mov ecx, eax
mov byte [ebp + ecx - 0x808], 0
push 0x5147e0
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x429f98
push 0x51688c
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x42a05f
lea edx, [ebp - 0x178]
push ebx
lea eax, [ebp - 0x74]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517bf8
push edx
call fcn.004f175f
add esp, 0x18
lea eax, [ebp - 0x178]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0xe56db0]
test eax, eax
jne 0x42a04d
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b0]
test eax, eax
mov eax, dword [ebp + 0x1b4]
lea edx, [ebp - 0x508]
push edx
push eax
push ecx
jne 0x42a030
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a047
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov eax, dword [0xe56d24]
mov dword [ebp - 0x1c], 1
inc eax
mov dword [0xe56d24], eax
lea edx, [ebp - 0x908]
lea eax, [ebp - 0x808]
push edx
push eax
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x42a144
lea ecx, [ebp - 0x178]
push ebx
lea edx, [ebp - 0x74]
push ecx
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x508]
push eax
push 0x517bf8
push ecx
call fcn.004f175f
add esp, 0x18
lea edx, [ebp - 0x178]
push 0x80
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x178]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0xe56db0]
test eax, eax
jne 0x42a132
mov eax, dword [0xe56dbc]
mov edx, dword [ebp + 0x1b4]
lea ecx, [ebp - 0x508]
test eax, eax
mov eax, dword [ebp + 0x1b0]
push ecx
push edx
push eax
jne 0x42a115
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a12c
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov eax, dword [0xe56d24]
mov dword [ebp - 0x1c], 1
inc eax
mov dword [0xe56d24], eax
lea ecx, [ebp - 0x508]
push ecx
lea ecx, [ebp - 0x1fc]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
cmp dword [ebp - 0x24], 1
jne 0x42a1d7
lea edx, [ebp - 0x178]
lea eax, [ebp - 0x74]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517bc4
push edx
call fcn.004f175f
add esp, 0x14
lea eax, [ebp - 0x178]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [ebp - 0x178]
push edx
call fcn.004f31fb
add esp, 4
lea eax, [ebp - 0x508]
lea ecx, [ebp - 0x1fc]
push eax
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0xf9
mov dword [ebp - 0x20], eax
jl 0x42a221
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0xfa
inc esi
xor ebx, ebx
mov dword [ebp - 0x18], esi
jmp 0x429a1c
mov edi, dword [ebp - 0x28]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jle 0x42a8e6
mov edx, dword [ebp - 0x38]
add edx, ecx
cmp byte [ebp + edx - 0x8f14], 0x2e
je 0x42a8e6
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push eax
push ecx
lea edx, [ebp - 0xd0c]
push str._s_s
push edx
call fcn.004f175f
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x10f10]
push eax
lea edx, [ebp - 0xd0c]
push ecx
push edx
call fcn.004b7030
add esp, 0x1c
xor eax, eax
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x28], eax
cmp eax, ecx
jge 0x42a8e6
shl eax, 8
lea ecx, [ebp - 0xd0c]
lea edx, [ebp - 0x178]
lea eax, [ebp + eax - 0x10f10]
push eax
push ecx
push str._s_s
push edx
call fcn.004f175f
lea eax, [ebp - 0x178]
push str..ini
push eax
call fcn.004f2d80
lea ecx, [ebp - 0x178]
push str..INI
push ecx
mov esi, eax
call fcn.004f2d80
add esp, 0x20
test esi, esi
jne 0x42a893
test eax, eax
jne 0x42a893
lea edx, [ebp - 0x178]
push str..lnk
push edx
call fcn.004f2d80
mov ebx, eax
lea eax, [ebp - 0x178]
push str..LNK
push eax
call fcn.004f2d80
lea ecx, [ebp - 0x178]
mov edi, eax
push str..Lnk
push ecx
mov dword [ebp - 0x34], edi
call fcn.004f2d80
add esp, 0x18
mov dword [ebp - 0x38], eax
test ebx, ebx
jne 0x42a3f4
test edi, edi
jne 0x42a3f4
test eax, eax
jne 0x42a3f4
lea edx, [ebp - 0x178]
push 0x80
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x178]
push eax
call fcn.004ab990
add esp, 4
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x178]
push edx
lea ecx, [ebp - 0x74]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x288]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x508]
push 0x517b58
push eax
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x18
test eax, eax
jne 0x42a7a3
mov eax, dword [0xe56dbc]
mov edx, dword [ebp + 0x1b4]
lea ecx, [ebp - 0x508]
test eax, eax
mov eax, dword [ebp + 0x1b0]
push ecx
push edx
push eax
jne 0x42a786
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a79d
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x178]
push ecx
lea edx, [ebp - 0x74]
push esi
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x508]
push eax
push 0x517b2c
push ecx
call fcn.004f175f
add esp, 0x18
lea edx, [ebp - 0x178]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 2
je 0x42a50f
lea eax, [ebp - 0x178]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [ebp - 0x178]
lea eax, [ebp - 0x74]
push edx
push esi
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517ab4
push edx
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x18
test eax, eax
jne 0x42a4fa
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b4]
mov edx, dword [ebp + 0x1b0]
test eax, eax
lea eax, [ebp - 0x508]
push eax
push ecx
push edx
jne 0x42a4dd
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a4f4
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov eax, dword [0xe56d24]
mov edi, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x1c], 1
mov dword [0xe56d24], eax
test ebx, ebx
jne 0x42a522
test edi, edi
jne 0x42a522
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x42a7b5
lea edi, [ebp - 0x178]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x708]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
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]
lea ecx, [ebp - 0x708]
push ecx
call fcn.00406bf0
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x178]
push ebx
push edx
lea ecx, [ebp - 0x74]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x288]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x508]
push 0x517c5c
push eax
call fcn.004f175f
push ebx
call fcn.004fa6c0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x20
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x708]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 0x2c]
not ecx
dec ecx
cmp eax, ecx
jge 0x42a5e1
mov ecx, eax
mov byte [ebp + ecx - 0x708], 0
push 0x5147e0
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x42a609
push 0x51688c
push ebx
call fcn.004f2d80
add esp, 8
test eax, eax
je 0x42a6d0
lea edx, [ebp - 0x178]
push ebx
lea eax, [ebp - 0x74]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517bf8
push edx
call fcn.004f175f
add esp, 0x18
lea eax, [ebp - 0x178]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0xe56db0]
test eax, eax
jne 0x42a6be
mov eax, dword [0xe56dbc]
mov ecx, dword [ebp + 0x1b0]
test eax, eax
mov eax, dword [ebp + 0x1b4]
lea edx, [ebp - 0x508]
push edx
push eax
push ecx
jne 0x42a6a1
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a6b8
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov eax, dword [0xe56d24]
mov dword [ebp - 0x1c], 1
inc eax
mov dword [0xe56d24], eax
lea edx, [ebp - 0x908]
lea eax, [ebp - 0x708]
push edx
push eax
call fcn.004f61e0
add esp, 8
test eax, eax
jne 0x42a7b5
lea ecx, [ebp - 0x178]
push ebx
lea edx, [ebp - 0x74]
push ecx
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x508]
push eax
push 0x517bf8
push ecx
call fcn.004f175f
add esp, 0x18
lea edx, [ebp - 0x178]
push 0x80
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x178]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0xe56db0]
test eax, eax
jne 0x42a7a3
mov eax, dword [0xe56dbc]
mov edx, dword [ebp + 0x1b4]
lea ecx, [ebp - 0x508]
test eax, eax
mov eax, dword [ebp + 0x1b0]
push ecx
push edx
push eax
jne 0x42a786
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a79d
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
mov eax, dword [0xe56d24]
mov dword [ebp - 0x1c], 1
inc eax
mov dword [0xe56d24], eax
lea ecx, [ebp - 0x508]
push ecx
lea ecx, [ebp - 0x1fc]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
cmp dword [ebp - 0x24], 1
jne 0x42a848
lea edx, [ebp - 0x178]
lea eax, [ebp - 0x74]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517a80
push edx
call fcn.004f175f
add esp, 0x14
lea eax, [ebp - 0x178]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [ebp - 0x178]
push edx
call fcn.004f31fb
add esp, 4
lea eax, [ebp - 0x508]
lea ecx, [ebp - 0x1fc]
push eax
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0xf9
mov dword [ebp - 0x20], eax
jl 0x42a8b8
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x20], 0xfa
mov dword [ebp - 0x44], eax
jmp 0x429a8c
cmp dword [ebp - 0x24], 1
jne 0x42a8b8
lea ecx, [ebp - 0x178]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea edx, [ebp - 0x178]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x28]
inc eax
jmp 0x42a27f
cmp dword [ebp - 0x24], 1
jne 0x42a8e6
lea eax, [ebp - 0x178]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x178]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x44], eax
jmp 0x429a8c
cmp dword [ebp - 0x1c], ebx
je 0x42a904
cmp dword [ebp - 0x24], 1
jne 0x42a9f1
cmp dword [ebp - 0x24], ebx
jne 0x42a938
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x74]
push edx
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [ebp - 0x288]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x508]
push eax
push 0x517a50
push edx
jmp 0x42a965
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x74]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [ebp - 0x288]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [ebp - 0x508]
push 0x517a18
push eax
call fcn.004f175f
mov eax, dword [0xe56db0]
add esp, 0x14
cmp eax, ebx
jne 0x42a9ca
mov eax, dword [0xe56dbc]
mov edx, dword [ebp + 0x1b4]
lea ecx, [ebp - 0x508]
cmp eax, ebx
mov eax, dword [ebp + 0x1b0]
push ecx
push edx
push eax
jne 0x42a9ad
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404170
jmp 0x42a9c4
sub esp, 0x1a8
mov ecx, 0x6a
lea esi, [ebp + 8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00404560
add esp, 0x1b4
lea ecx, [ebp - 0x508]
push ecx
lea ecx, [ebp - 0x1fc]
call fcn.004f0087
push 0xa
mov ecx, eax
call fcn.004eff40
push 0x402150
mov ecx, eax
call fcn.004016a0
lea ecx, [ebp - 0x208]
call fcn.004f076e
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 1
call fcn.004f0714
lea ecx, [ebp - 0x1f4]
call fcn.004f05fb
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0
call fcn.004f0714
lea ecx, [ebp - 0x1ac]
call fcn.004f05fb
mov ax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret