Function at 0x59aa2c
Capabilities:
Delete file
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff94
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
lea eax, [ebp - 0x40]
mov edx, dword [0x543b14]
call fcn.00403e48
lea esi, [ebp - 8]
xor eax, eax
push ebp
push 0x59ae9e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi]
cmp byte [eax + 0x454], 0
je 0x59aabe
mov eax, dword [esi]
mov byte [eax + 0x455], 1
mov eax, dword [0x672384]
inc dword [eax]
lea eax, [ebp - 0x44]
call fcn.0053595c
mov edx, dword [ebp - 0x44]
mov cl, byte [0x59aeb0]
mov eax, dword [esi]
call fcn.0059c208
mov ebx, eax
mov eax, dword [0x672384]
dec dword [eax]
mov eax, dword [esi]
mov byte [eax + 0x455], 0
test bl, bl
jne 0x59ae62
mov eax, dword [esi]
call fcn.005fdc04
jmp 0x59ae62
mov eax, dword [esi]
cmp byte [eax + 0x41e], 0
jne 0x59aadd
xor edx, edx
mov eax, dword [esi]
call fcn.0059a68c
test al, al
jne 0x59aadd
mov bl, 1
jmp 0x59ae62
mov dword [ebp - 4], 0x80000000
mov eax, dword [esi]
cmp byte [eax + 0x3ed], 0
je 0x59abb5
mov eax, dword [esi]
mov eax, dword [eax + 0x158]
mov ecx, 1
mov edx, 0x80000000
call fcn.00660d68
cmp eax, 0xffffffff
jne 0x59ab4a
call sub.kernel32.dll_GetLastError
cmp eax, 0x20
jne 0x59ab20
mov eax, 0x59aeb4
jmp 0x59ab25
mov eax, 0x59aedc
mov edx, dword [esi]
mov edx, dword [edx + 0x158]
call fcn.006296e0
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
mov cl, 1
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
jmp 0x59ae21
push eax
call sub.kernel32.dll_CloseHandle
lea ecx, [ebp - 0x48]
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
mov eax, 0x59aef4
call fcn.0065d968
mov eax, dword [ebp - 0x48]
mov cl, 3
mov dl, 3
call fcn.00629794
sub ax, 6
je 0x59ab7e
dec ax
je 0x59ab96
jmp 0x59abae
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
xor ecx, ecx
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
jmp 0x59ae21
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
mov cl, 1
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
jmp 0x59ae21
mov bl, 1
jmp 0x59ae21
mov eax, dword [esi]
cmp byte [eax + 0x3ee], 0
je 0x59abea
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
mov eax, 0x59af8c
call fcn.0062967c
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
mov cl, 1
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
jmp 0x59ae21
mov eax, dword [esi]
cmp byte [eax + 0x41e], 0
jne 0x59ac0b
mov eax, dword [esi]
cmp byte [eax + 0x434], 0
jne 0x59ac0b
push ebp
call fcn.0059a930
pop ecx
test al, al
je 0x59ac75
push ebp
call fcn.0059a930
pop ecx
test al, al
je 0x59ac40
lea edx, [ebp - 0x44]
mov eax, dword [esi]
mov eax, dword [eax + 0x158]
call fcn.0065d088
mov ecx, dword [ebp - 0x44]
mov eax, dword [0x672714]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + 8]
lea eax, [ebp - 0xc]
call fcn.00403b24
jmp 0x59ac50
lea eax, [ebp - 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 0x158]
call fcn.004038bc
mov cl, 1
mov edx, dword [ebp - 0xc]
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
cmp bl, 1
jne 0x59ae21
mov eax, dword [esi]
mov byte [eax + 0x428], 0
jmp 0x59ae21
mov eax, dword [esi]
mov ecx, dword [eax + 0x160]
xor edx, edx
mov eax, dword [esi]
call fcn.005bc774
test al, al
je 0x59ad15
mov eax, dword [0x672428]
mov eax, dword [eax + 0xc0]
call fcn.00539b1c
mov ebx, eax
call fcn.00501d74
mov eax, dword [eax + 0x198]
mov dword [eax + 0x64], ebx
mov eax, dword [esi]
mov byte [eax + 0x429], 1
lea eax, [ebp - 0x4c]
mov edx, dword [0x672428]
mov edx, dword [edx + 0xc0]
mov ecx, dword [0x6723dc]
mov edx, dword [ecx + edx*4]
call fcn.00403a34
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x44]
mov eax, dword [esi]
mov eax, dword [eax + 0x158]
call fcn.0065ced8
mov edx, dword [ebp - 0x44]
mov cl, 1
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
mov eax, dword [esi]
mov byte [eax + 0x429], 0
cmp bl, 1
jne 0x59ae21
mov eax, dword [esi]
mov byte [eax + 0x428], 0
jmp 0x59ae21
mov eax, dword [esi]
mov ebx, dword [eax + 0x15c]
test ebx, ebx
jne 0x59ad39
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
xor ecx, ecx
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
jmp 0x59ae21
mov eax, ebx
call fcn.006264cc
test al, al
jne 0x59ad63
mov eax, dword [esi]
call fcn.005bc984
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
xor ecx, ecx
mov eax, dword [esi]
call fcn.0059afb4
mov ebx, eax
jmp 0x59ae21
mov cl, byte [0x59aeb0]
xor edx, edx
mov eax, dword [esi]
call fcn.00544a8c
test al, al
je 0x59ae1f
mov eax, dword [esi]
inc dword [eax + 0x1c4]
mov byte [ebp - 0x40], 0
lea edx, [ebp - 0x6c]
mov eax, dword [esi]
call fcn.005c8d98
push esi
lea esi, [ebp - 0x6c]
lea edi, [ebp - 0x3c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi]
mov eax, dword [eax + 0x160]
mov dword [ebp - 0x1c], eax
mov al, byte [0x59aeb0]
mov byte [ebp - 0x3e], al
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
mov al, byte [eax + 0x168]
mov byte [ebp - 0x3f], al
lea edx, [ebp - 0x40]
mov eax, dword [esi]
call fcn.005bc150
mov ebx, eax
test bl, bl
jne 0x59addf
mov eax, dword [esi]
call fcn.005fdc04
push 0
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
push eax
call sub.kernel32.dll_GetFileSize
mov edx, dword [esi]
mov dword [edx + 0x1b0], eax
mov eax, dword [esi]
call fcn.005bc984
mov eax, dword [esi]
mov eax, dword [eax + 0x158]
mov ecx, 1
mov edx, 0xc0000000
call fcn.00660d68
mov edx, dword [esi]
mov dword [edx + 0x15c], eax
jmp 0x59ae21
mov bl, 1
test bl, bl
jne 0x59ae62
mov eax, dword [esi]
cmp byte [eax + 0x435], 0
je 0x59ae62
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
push eax
call sub.kernel32.dll_DeleteFileW
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x34], edx
mov eax, dword [esi]
mov dword [eax + 0x4b0], 0x80000000
mov eax, dword [esi]
mov byte [eax + 0x435], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59aea5
lea eax, [ebp - 0x4c]
call fcn.00403880
lea eax, [ebp - 0x48]
call fcn.00403274
lea eax, [ebp - 0x44]
call fcn.00403880
lea eax, [ebp - 0x40]
mov edx, dword [0x543b14]
call fcn.00403f10
lea eax, [ebp - 0xc]
call fcn.00403880
ret