Function at 0x4540e0
Capabilities:
Delete file
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4baa6d
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x4f3958]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x250], ecx
xor ebx, ebx
push eax
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x230], ebx
call int.00408bf0
xor edi, edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x224], edi
mov eax, dword [ebp - 0x220]
push ebx
push 0x80
push 3
push ebx
push 3
push SysReAllocString
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
jne 0x4541a1
call int.00408f20
cmp eax, ebx
jge 0x4541a9
mov eax, dword [ebp - 0x220]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45419a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x45453c
mov edi, eax
mov dword [ebp - 0x224], edi
lea ecx, [ebp - 0x254]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
mov dword [ebp - 0x258], esi
cmp esi, 0xffffffff
jne 0x4541fd
call int.00408f20
cmp eax, ebx
jge 0x4541f7
cmp edi, ebx
je 0x4541d8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x220]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x45418e
mov esi, dword [ebp - 0x258]
push esi
call fcn.0049317b
mov ebx, eax
add esp, 4
mov dword [ebp - 0x23c], ebx
test ebx, ebx
je 0x454253
push esi
push ebx
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x230], 1
call fcn.00409610
test eax, eax
jge 0x454253
push ebx
call fcn.0049538b
add esp, 4
test edi, edi
je 0x454241
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x220]
call fcn.00407680
xor eax, eax
jmp 0x45453c
test edi, edi
je 0x454266
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov dword [ebp - 0x224], edi
push esi
call fcn.0049317b
mov ebx, eax
mov dword [ebp - 0x22c], ebx
push 0
lea ecx, [ebp - 0x248]
push ecx
push ebx
mov dword [ebp - 0x248], esi
push esi
mov esi, dword [ebp - 0x23c]
push esi
mov byte [ebp - 4], 2
call fcn.00458b00
add esp, 0x18
cmp dword [ebp - 0x230], 0
mov dword [ebp - 0x23c], eax
je 0x4542b4
test esi, esi
je 0x4542b4
push esi
call fcn.0049538b
add esp, 4
cmp dword [ebp - 0x23c], 0
jne 0x4542f7
push ebx
call fcn.00494792
add esp, 4
test edi, edi
je 0x4541d8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x220]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x45418e
push 2
lea ecx, [ebp - 0x238]
call fcn.00492980
mov ecx, dword [ebp - 0x248]
push 3
push ecx
push ebx
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 3
call fcn.004929a0
xor esi, esi
cmp eax, esi
jne 0x454358
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 2
call fcn.00492a30
push ebx
call fcn.00494792
add esp, 4
cmp edi, esi
je 0x454346
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x220]
call fcn.00407680
xor eax, eax
jmp 0x45453c
mov dword [ebp - 0x21c], esi
lea edx, [ebp - 0x228]
push edx
mov byte [ebp - 4], 4
call fcn.00426a50
add esp, 4
mov eax, dword [ebp - 0x228]
push 0xc0000000
push eax
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 5
call fcn.004534c0
cmp eax, esi
jge 0x4543a9
push 0xc0000000
push esi
lea ecx, [ebp - 0x21c]
call fcn.004534c0
cmp eax, esi
jl 0x454448
mov ecx, dword [ebp - 0x21c]
push 1
push esi
push ecx
push esi
lea ecx, [ebp - 0x238]
call fcn.004929f0
cmp eax, esi
je 0x454448
push esi
push esi
push esi
lea ecx, [ebp - 0x21c]
call fcn.00453620
lea edx, [ebp - 0x240]
push edx
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x23c], esi
call fcn.00453660
cmp eax, esi
jl 0x454448
mov esi, dword [ebp - 0x240]
lea ebx, [esi + 2]
push ebx
call fcn.0049317b
mov edi, eax
mov dword [ebp - 0x230], edi
push ebx
xor ebx, ebx
push ebx
push edi
mov byte [ebp - 4], 6
call fcn.004953b0
add esp, 0x10
lea eax, [ebp - 0x244]
push eax
push esi
push edi
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x244], ebx
call fcn.004535f0
cmp eax, ebx
jge 0x454495
lea ecx, [ebp - 0x230]
call fcn.004536a0
lea ecx, [ebp - 0x228]
call fcn.00407680
lea ecx, [ebp - 0x21c]
call fcn.004537a0
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 2
call fcn.00492a30
lea ecx, [ebp - 0x22c]
call fcn.004536a0
lea ecx, [ebp - 0x224]
call int.0040a560
lea ecx, [ebp - 0x220]
call fcn.00407680
xor eax, eax
jmp 0x45453c
mov eax, dword [ebp - 0x21c]
cmp eax, ebx
je 0x4544ac
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x21c], ebx
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor esi, esi
cmp edi, ebx
je 0x4544e9
cmp dword [ebp - 0x244], ebx
jbe 0x4544e9
mov edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x250]
push edx
push eax
push 0xfde9
push edi
call fcn.0044c390
mov ecx, eax
call fcn.0044c270
mov esi, eax
lea ecx, [ebp - 0x230]
call fcn.004536a0
lea ecx, [ebp - 0x228]
call fcn.00407680
lea ecx, [ebp - 0x21c]
call fcn.004537a0
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 2
call fcn.00492a30
lea ecx, [ebp - 0x22c]
call fcn.004536a0
lea ecx, [ebp - 0x224]
call int.0040a560
lea ecx, [ebp - 0x220]
call fcn.00407680
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004951ca
mov esp, ebp
pop ebp
ret 0xc