Function at 0x40f400
Capabilities:
Check if file exists
Delete directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51dba2
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x55d184]
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 dword [ebp - 0x74], ecx
mov eax, dword [0x55f8c0]
test eax, eax
jne 0x40f469
push 0x11c
call fcn.0049bb2c
add esp, 4
mov dword [ebp - 0x78], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x40f45b
mov ecx, eax
call fcn.00414ba0
jmp 0x40f45d
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x55f8c0], eax
mov ecx, eax
call fcn.0041d775
mov edx, eax
mov dword [ebp - 0x48], 0
mov ecx, edx
mov dword [ebp - 0x44], 7
xor eax, eax
mov word [ebp - 0x58], ax
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f490
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.00407300
cmp dword [ebp - 0x48], 0
mov dword [ebp - 4], 1
je 0x40f725
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x70]
call fcn.0040b9c0
push 0x13
push 0x5263d4
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.0040b840
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x70]
xor ebx, ebx
cmp dword [ebp - 0x5c], 8
cmovae eax, dword [ebp - 0x70]
push eax
call edi
push dword [ebp - 0x48]
test eax, eax
mov ecx, 1
lea eax, [ebp - 0x58]
cmovne ebx, ecx
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x7c], ebx
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.00407300
push 0xc
push str.HaoKaTiy.exe
lea ecx, [ebp - 0x70]
call fcn.0040b840
cmp dword [ebp - 0x5c], 8
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push eax
call edi
test eax, eax
je 0x40f53d
mov dword [ebp - 0x7c], 1
jmp 0x40f545
test ebx, ebx
je 0x40f5d2
call fcn.0040b130
mov ecx, eax
call fcn.0041d781
mov edx, eax
mov dword [ebp - 0x18], 0
mov ecx, edx
mov dword [ebp - 0x14], 7
xor eax, eax
mov word [ebp - 0x28], ax
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f570
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00407300
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 3
je 0x40f5c1
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0040ba50
mov ebx, dword [ebp - 0x74]
mov ecx, ebx
call fcn.0040fd40
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00408700
jmp 0x40f5d5
mov ebx, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00408700
jmp 0x40f5d5
mov ebx, dword [ebp - 0x74]
cmp dword [ebp + 8], 0
je 0x40f664
call fcn.0040b130
mov ecx, eax
call fcn.0041d6ab
mov edx, eax
mov dword [ebp - 0x18], 0
mov ecx, edx
mov dword [ebp - 0x14], 7
xor eax, eax
mov word [ebp - 0x28], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f606
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00407300
cmp dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
je 0x40f658
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
test eax, eax
je 0x40f658
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0040ba50
mov ecx, ebx
call fcn.0040fd40
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00408700
call fcn.0040b130
mov ecx, eax
call fcn.0041d781
mov edx, eax
mov dword [ebp - 0x30], 0
mov ecx, edx
mov dword [ebp - 0x2c], 7
xor eax, eax
mov word [ebp - 0x40], ax
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f690
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.00407300
cmp dword [ebp - 0x30], 0
je 0x40f6f4
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call edi
test eax, eax
je 0x40f6f4
cmp dword [ebp - 0x2c], 8
lea ebx, [ebp - 0x40]
mov eax, dword [ebp - 0x30]
cmovae ebx, dword [ebp - 0x40]
cmp eax, 0xf
jb 0x40f6f4
add eax, 0xfffffff2
lea ecx, [ebx + eax*2]
mov eax, ebx
mov dword [ebp - 0x78], ecx
nop
sub ecx, eax
sar ecx, 1
je 0x40f6f4
cmp word [eax], 0x48
je 0x40f75b
add eax, 2
sub ecx, 1
jne 0x40f6e6
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
call esi
cmp dword [ebp - 0x7c], 0
je 0x40f715
mov eax, dword [ebp - 0x74]
mov byte [eax + 0x10], 1
lea ecx, [ebp - 0x40]
call fcn.00408700
lea ecx, [ebp - 0x70]
call fcn.00408700
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40f7bc
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f7b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f7da
jmp 0x40f7b2
test eax, eax
je 0x40f6f4
mov edx, 0x525e00
mov edi, eax
mov esi, 0xf
sub edi, edx
nop dword [eax]
mov cx, word [edx + edi]
cmp cx, word [edx]
jne 0x40f7a7
add edx, 2
sub esi, 1
jne 0x40f770
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
sub eax, ebx
sar eax, 1
cmp eax, 0xffffffff
je 0x40f6fa
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call esi
jmp 0x40f6fa
mov ecx, dword [ebp - 0x78]
add eax, 2
jmp 0x40f6e0
push edx
push ecx
call fcn.0049bb5c
add esp, 8
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.0049be04
mov esp, ebp
pop ebp
ret 4
call fcn.004cf6b9
int3