Function at 0x411560
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x57c
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
push edi
mov dword [ebp - 0xc], ebx
je 0x411a45
cmp byte [eax], bl
je 0x411a45
mov esi, 0x104
lea eax, [ebp - 0x57c]
push esi
push ebx
push eax
call fcn.00403e70
push esi
lea eax, [ebp - 0x478]
push ebx
push eax
call fcn.00403e70
push 0xff
lea eax, [ebp - 0x274]
push ebx
push eax
call fcn.00403e70
add esp, 0x24
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx ecx, al
mov esi, closesocket
mov dword [ebp - 8], ecx
cmp eax, esi
jae 0x4115d3
xor edi, edi
jmp 0x4115d9
cmp ecx, 4
sbb edi, edi
inc edi
lea eax, [ebp - 0x174]
push eax
push dword [ebp + 8]
call fcn.00418ae2
pop ecx
test eax, eax
pop ecx
jne 0x411a45
mov eax, dword [ebp + 0xc]
sub eax, ebx
je 0x41161b
dec eax
dec eax
je 0x411612
dec eax
dec eax
je 0x41161b
dec eax
dec eax
jne 0x411a45
mov dword [ebp - 4], 0xc0000000
jmp 0x41161e
mov dword [ebp - 4], 0x40000000
jmp 0x41161e
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x16e]
and ax, 0xf000
cmp ax, 0x4000
je 0x411779
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x478]
push eax
push dword [ebp + 8]
call fcn.00403ed0
pop ecx
inc eax
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
push dword [ebp - 0x10]
mov byte [ebp - 0x57c], bl
call fcn.00403ed0
mov esi, eax
lea eax, [ebp - 0x478]
push eax
call fcn.00403ed0
sub eax, esi
dec eax
push eax
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x57c]
push eax
call fcn.00418200
add esp, 0x14
cmp edi, ebx
jne 0x41176d
lea eax, [ebp - 0x57c]
push eax
lea eax, [ebp - 0x274]
push eax
call fcn.00403f50
pop ecx
pop ecx
mov dword [ebp + 0xc], 0x2000080
push ebx
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push dword [ebp + 0xc]
lea eax, [ebp - 0x274]
push 4
push ebx
push 1
push dword [ebp - 4]
push eax
call esi
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
jne 0x4118e0
cmp dword [ebp - 8], 4
jbe 0x411a45
mov dl, byte [0x446484]
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x13b]
mov byte [ebp - 0x13c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
lea edi, [ebp + 9]
mov byte [ebp + 8], dl
push 0x3f
stosw word es:[edi], ax
pop ecx
lea edi, [ebp - 0x373]
mov byte [ebp - 0x374], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00403f50
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00418ae2
add esp, 0x10
test eax, eax
jne 0x411a45
mov eax, dword [ebp - 0x32]
and ax, 0x4000
cmp ax, 0x4000
jne 0x411867
lea eax, [ebp - 0x13c]
push str.izraf.tmp
push eax
call fcn.00403f60
pop ecx
pop ecx
jmp 0x4118b1
lea eax, [ebp - 0x478]
push eax
jmp 0x411844
push 1
pop esi
cmp edi, esi
jne 0x411841
cmp dword [ebp + 0xc], 4
je 0x4117b3
cmp dword [ebp + 0xc], ebx
je 0x4117b3
push 0x4278a4
lea eax, [ebp - 0x274]
push dword [ebp + 8]
push str._s_s0001.tmp
push eax
call fcn.0040421a
add esp, 0x10
mov dword [ebp - 0xc], esi
jmp 0x41185b
mov esi, 0x4278a4
lea eax, [ebp - 0x274]
push esi
push dword [ebp + 8]
push str._s_s.
push eax
call fcn.0040421a
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x274]
push eax
call fcn.00419b70
mov edi, eax
or eax, 0xffffffff
add esp, 0x18
cmp edi, eax
je 0x411a48
lea eax, [ebp - 0x150]
push eax
push edi
call fcn.00419c3d
pop ecx
cmp eax, 0xffffffff
pop ecx
je 0x411a45
lea eax, [ebp - 0x150]
push eax
push edi
call fcn.00419c3d
pop ecx
cmp eax, 0xffffffff
pop ecx
je 0x411a45
lea eax, [ebp - 0x13c]
push eax
push esi
push dword [ebp + 8]
lea eax, [ebp - 0x274]
push str._s_s_s
push eax
call fcn.0040421a
add esp, 0x14
jmp 0x41185b
push dword [ebp + 8]
lea eax, [ebp - 0x274]
push eax
call fcn.00403f50
pop ecx
cmp edi, 1
pop ecx
jne 0x4116a4
mov dword [ebp + 0xc], 0x80
jmp 0x4116ab
push ebx
lea eax, [ebp - 0x374]
push ebx
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00419a29
push 0x104
lea eax, [ebp - 0x13c]
push ebx
push eax
call fcn.00403e70
lea eax, [ebp - 0x374]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x13c]
push str._s_sizraf.tmp
push eax
call fcn.0040421a
add esp, 0x30
lea eax, [ebp - 0x13c]
push 0x41f088
push eax
call fcn.00418354
pop ecx
cmp eax, ebx
pop ecx
je 0x411a45
push eax
call fcn.004076c8
lea eax, [ebp - 0x13c]
push eax
call fcn.0041962a
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x16e]
and ax, 0xf000
cmp ax, 0x4000
je 0x411a2f
push ebx
lea eax, [ebp - 0x478]
push dword [ebp + 0xc]
push 3
push ebx
push 1
push dword [ebp - 4]
push eax
call esi
mov esi, eax
or eax, 0xffffffff
cmp esi, eax
jne 0x411a28
cmp dword [ebp - 8], 4
jbe 0x411a48
mov dl, byte [0x446484]
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x13b]
mov byte [ebp - 0x13c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
lea edi, [ebp + 9]
mov byte [ebp + 8], dl
push 0x3f
stosw word es:[edi], ax
pop ecx
lea edi, [ebp - 0x373]
mov byte [ebp - 0x374], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00403f50
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00418ae2
add esp, 0x10
test eax, eax
jne 0x411a45
mov eax, dword [ebp - 0x32]
and ax, 0x4000
cmp ax, 0x4000
jne 0x4119b3
lea eax, [ebp - 0x13c]
push str.izraf.tmp
push eax
call fcn.00403f60
pop ecx
pop ecx
jmp 0x4119fd
push ebx
lea eax, [ebp - 0x374]
push ebx
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00419a29
push 0x104
lea eax, [ebp - 0x13c]
push ebx
push eax
call fcn.00403e70
lea eax, [ebp - 0x374]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x13c]
push str._s_sizraf.tmp
push eax
call fcn.0040421a
add esp, 0x30
lea eax, [ebp - 0x13c]
push 0x41f088
push eax
call fcn.00418354
pop ecx
cmp eax, ebx
pop ecx
je 0x411a45
push eax
call fcn.004076c8
lea eax, [ebp - 0x13c]
push eax
call fcn.0041962a
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xc], ebx
je 0x411a41
lea eax, [ebp - 0x274]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
jmp 0x411a48
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret