Function at 0x595820
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x46c
mov eax, dword [0x64e0a0]
xor eax, esp
mov dword [esp + 0x468], eax
push ebx
push esi
lea eax, [esp + 0x48]
mov dword [esp + 0x3c], eax
push edi
lea eax, [esp + 0x40]
push eax
movzx eax, byte [0x65c1e4]
push eax
mov esi, ecx
mov dword [esp + 0x4c], 0x104
mov dword [esp + 0x50], 0
call fcn.005b0e80
add esp, 8
sub eax, 0
je 0x595880
dec eax
jne 0x595889
push dword [esp + 0x40]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x595889
mov ecx, dword [esp + 0x40]
call fcn.005b23d0
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x4c]
cmp eax, ecx
je 0x5958a2
test eax, eax
je 0x5958a2
push eax
call fcn.00541b50
add esp, 4
lea eax, [esp + 0x264]
mov dword [esp + 0x258], eax
lea eax, [esp + 0x258]
push eax
movzx eax, byte [0x65c1e4]
push eax
mov ecx, esi
mov dword [esp + 0x264], 0x104
mov dword [esp + 0x268], 0
call fcn.005b0e80
add esp, 8
sub eax, 0
je 0x5959e1
dec eax
je 0x595922
mov eax, dword [esp + 0x258]
lea ecx, [esp + 0x264]
cmp eax, ecx
je 0x59590b
test eax, eax
je 0x59590b
push eax
call fcn.00541b50
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x468]
xor ecx, esp
call fcn.00541b41
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x258]
xor esi, esi
push esi
push 0x80
push 2
push esi
push esi
push 0xc0000000
push ebx
mov dword [esp + 0x50], esi
call dword [0x649010]
mov edi, eax
cmp edi, 0xffffffff
jne 0x5959ab
lea esp, [esp]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x595960
cmp eax, 2
jne 0x5959a2
test esi, esi
jle 0x5959a2
mov eax, esi
cmp esi, 0xc8
jl 0x595973
mov eax, 0xc8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
push ebx
sub esi, 0xc8
call dword [0x649010]
mov edi, eax
cmp edi, 0xffffffff
je 0x595950
jmp 0x5959ab
lea eax, [edi + 1]
neg eax
sbb eax, eax
and edi, eax
mov eax, dword [esp + 0x258]
lea ecx, [esp + 0x264]
cmp eax, ecx
je 0x5959ca
test eax, eax
je 0x5959ca
push eax
call fcn.00541b50
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x468]
xor ecx, esp
call fcn.00541b41
mov esp, ebp
pop ebp
ret
push dword [esp + 0x258]
lea eax, [esp + 0x2c]
xor esi, esi
push eax
mov dword [esp + 0x38], esi
call fcn.0041e890
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x28]
mov dword [esp + 0x10], 0x18
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], 0x40
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
push 0
push 0
push 0x20
push 5
push 0
push 0x80
push 0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x30]
push eax
push 0xc0100080
lea eax, [esp + 0x34]
push eax
call fcn.0041edd6
mov edi, eax
test edi, edi
jns 0x595a80
cmp edi, 0xc0000043
je 0x595a62
cmp edi, 0xc000000f
jne 0x595a80
test esi, esi
jle 0x595a80
mov eax, esi
cmp esi, 0xc8
jl 0x595a75
mov eax, 0xc8
push eax
call ebx
sub esi, 0xc8
jmp 0x595a22
push edi
call fcn.0041e908
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
js 0x595a97
mov ebx, dword [esp + 0xc]
jmp 0x595a99
xor ebx, ebx
mov ecx, dword [esp + 0x258]
lea eax, [esp + 0x264]
cmp ecx, eax
je 0x595ab8
test ecx, ecx
je 0x595ab8
push ecx
call fcn.00541b50
add esp, 4
mov ecx, dword [esp + 0x474]
pop edi
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.00541b41
mov esp, ebp
pop ebp
ret