Function at 0x418f60
Capabilities:
Delete file
Read file on windows
Set file attributes

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x24]
push esi
push edi
xor edi, edi
mov dword [esp + 0x10], edi
mov esi, dword [edi*4 + 0x466c98]
test esi, esi
je 0x418fb1
mov eax, dword [edi*4 + 0x466c58]
add eax, esi
xor ebx, ebx
cmp esi, eax
jae 0x418fb1
push esi
push ebp
call fcn.00452568
add esp, 8
test eax, eax
je 0x418fc5
mov ecx, dword [edi*4 + 0x466c98]
mov edx, dword [edi*4 + 0x466c58]
add esi, 0x16
add ecx, edx
inc ebx
cmp esi, ecx
jb 0x418f8b
inc edi
cmp edi, 0x10
mov dword [esp + 0x10], edi
jl 0x418f71
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
mov edx, dword [esi + 0xe]
mov eax, dword [edi*4 + 0x45ff14]
push 0
push 0
push edx
push eax
call dword [sym.imp.kernel32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x419191
mov ecx, dword [esp + 0x30]
mov esi, dword [esi + 0x12]
push 0
push ecx
call fcn.00417830
mov ebp, eax
add esp, 8
cmp ebp, 0xffffffff
je 0x419191
push 0x100000
call fcn.00451b32
mov edi, eax
add esp, 4
test edi, edi
jne 0x419032
push ebp
call fcn.00417220
mov edx, dword [esp + 0x34]
add esp, 4
push edx
call dword [sym.imp.kernel32.dll_DeleteFileA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
test esi, esi
jle 0x41908e
cmp esi, 0x100000
mov eax, 0x100000
jge 0x419045
mov eax, esi
mov edx, dword [esp + 0x10]
push 0
lea ecx, [esp + 0x30]
push ecx
push eax
mov eax, dword [edx*4 + 0x45ff14]
push edi
push eax
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
je 0x419174
mov edx, dword [esp + 0x2c]
push 0
lea ecx, [esp + 0x18]
push ecx
push edx
push edi
push ebp
call fcn.00417970
add esp, 0x14
test eax, eax
je 0x41919b
sub esi, dword [esp + 0x2c]
test esi, esi
jg 0x419036
push edi
call fcn.00451be4
push ebp
call fcn.00417220
mov edx, dword [esp + 0x18]
mov eax, dword [edx*4 + 0x466d18]
lea esi, [edx*4 + 0x466d18]
add esp, 8
test eax, eax
je 0x41911a
mov eax, dword [esp + 0x30]
push 0
push 0x8000127
push 3
push 0
push 0
push 0xc0000000
push eax
call dword [sym.imp.kernel32.dll_CreateFileA]
mov edx, dword [esi]
mov ecx, ebx
shl ecx, 4
mov edi, eax
lea eax, [ecx + edx]
xor edx, edx
mov dx, word [eax + 4]
mov ax, word [eax + 2]
lea ecx, [esp + 0x18]
push ecx
push edx
push eax
call dword [sym.imp.kernel32.dll_DosDateTimeToFileTime]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.kernel32.dll_LocalFileTimeToFileTime]
lea eax, [esp + 0x20]
push eax
push 0
push 0
push edi
call dword [sym.imp.kernel32.dll_SetFileTime]
push edi
call dword [sym.imp.kernel32.dll_CloseHandle]
mov esi, dword [esi]
test esi, esi
je 0x419167
shl ebx, 4
mov bx, word [ebx + esi]
xor eax, eax
test bl, 1
je 0x419133
mov eax, 1
test bl, 2
je 0x41913d
mov eax, 2
test bl, 4
je 0x419147
mov eax, 4
test bl, 0x10
je 0x419151
mov eax, 0x10
test bl, 0x20
je 0x41915b
mov eax, 0x20
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.kernel32.dll_SetFileAttributesA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x18
ret
push ebp
call fcn.00417220
mov eax, dword [esp + 0x34]
add esp, 4
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
push edi
call fcn.00451be4
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret
push ebp
call fcn.00417220
mov ecx, dword [esp + 0x34]
add esp, 4
push ecx
jmp 0x419182