Function at 0x508ad4
Capabilities:
Delete directory

Disassembly:
push 0x198
mov eax, 0x79102e
call fcn.00700ca1
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x188], ebx
cmp dword [ebx + 0x10], eax
je 0x50903e
and dword [ebp - 0x30], eax
lea ecx, [ebp - 0x40]
push 0x807568
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.004c097f
and dword [ebp - 4], 0
lea eax, [ebp - 0x40]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x198]
push ebx
push eax
call fcn.005117fa
add esp, 0x10
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x508b7f
mov ecx, dword [ebp - 0x40]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x17c], ecx
cmp eax, 0x1000
jb 0x508b76
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.004343f0
mov eax, dword [ebp - 0x184]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x17c]
push eax
push ecx
call fcn.007009b8
pop ecx
pop ecx
and dword [ebp - 0x30], 0
xor eax, eax
mov edi, dword [ebp - 0x198]
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
jmp 0x508f3e
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push edi
call fcn.004c0690
push 0x5c
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xa0]
push ebx
push eax
call fcn.005126ee
push eax
mov byte [ebp - 4], 4
call fcn.00509044
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa0]
mov esi, eax
call fcn.004c0931
test esi, esi
jne 0x508ee8
and dword [ebp - 0x90], esi
lea ecx, [ebp - 0xa0]
push 0xf
pop esi
push 7
push str.GPCUtil
mov dword [ebp - 0x8c], esi
mov byte [ebp - 0xa0], 0
call fcn.00439710
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 5
push eax
call fcn.006210e3
mov ebx, eax
mov dword [esp], str.::GetLastError__
xor eax, eax
mov dword [ebp - 0x74], esi
mov byte [ebp - 0x18c], al
lea ecx, [ebp - 0x88]
push dword [ebp - 0x18c]
mov dword [ebp - 0x78], eax
push 0x10
mov byte [ebp - 0x88], al
call fcn.0043a610
mov byte [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.006211a2
pop ecx
pop ecx
push 0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 7
push ecx
push eax
lea ecx, [ebp - 0x178]
call fcn.0061c551
mov edi, eax
and dword [ebp - 0x60], 0
lea ecx, [ebp - 0x70]
push 8
push str.filePath
mov byte [ebp - 4], 8
mov dword [ebp - 0x5c], esi
mov byte [ebp - 0x70], 0
call fcn.00439710
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.00620ff2
add esp, 0xc
push 0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xa
push ecx
push eax
lea ecx, [ebp - 0x148]
call fcn.0061c551
mov esi, eax
xor eax, eax
mov byte [ebp - 4], 0xb
push eax
push 0x858903
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], al
call fcn.00439710
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xc
push str.fs__DeleteDirectory_failed
push eax
call fcn.006212a1
pop ecx
pop ecx
push 0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xd
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.0061c551
push edi
push esi
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xe
call fcn.00621500
lea ecx, [ebp - 0x100]
call fcn.00438e20
lea ecx, [ebp - 0x118]
call fcn.00438e20
lea ecx, [ebp - 0xd0]
call fcn.00438e20
mov eax, dword [ebp - 0x44]
mov esi, 0x1000
cmp eax, 0x10
jb 0x508d9c
mov ecx, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x180], ecx
cmp eax, esi
jb 0x508d93
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.004343f0
mov eax, dword [ebp - 0x17c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x180]
push eax
push ecx
call fcn.007009b8
pop ecx
pop ecx
push 0xf
xor ebx, ebx
lea ecx, [ebp - 0x130]
pop edi
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], edi
mov byte [ebp - 0x58], bl
call fcn.00438e20
lea ecx, [ebp - 0x148]
call fcn.00438e20
lea ecx, [ebp - 0xe8]
call fcn.00438e20
mov eax, dword [ebp - 0x5c]
cmp eax, 0x10
jb 0x508e11
mov ecx, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], ecx
cmp eax, esi
jb 0x508e08
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.004343f0
mov eax, dword [ebp - 0x180]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x17c]
push eax
push ecx
call fcn.007009b8
pop ecx
pop ecx
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], edi
mov byte [ebp - 0x70], bl
call fcn.00438e20
lea ecx, [ebp - 0x178]
call fcn.00438e20
lea ecx, [ebp - 0xb8]
call fcn.00438e20
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x508e84
mov ecx, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], ecx
cmp eax, esi
jb 0x508e7b
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.004343f0
mov eax, dword [ebp - 0x180]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x17c]
push eax
push ecx
call fcn.007009b8
pop ecx
pop ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], edi
mov byte [ebp - 0x88], bl
cmp eax, 0x10
jb 0x508edc
mov ecx, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], ecx
cmp eax, esi
jb 0x508ed3
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.004343f0
mov eax, dword [ebp - 0x180]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x17c]
push eax
push ecx
call fcn.007009b8
pop ecx
pop ecx
mov edi, dword [ebp - 0x184]
mov ebx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x508f3b
mov ecx, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], ecx
cmp eax, 0x1000
jb 0x508f32
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.004343f0
mov eax, dword [ebp - 0x180]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x17c]
push eax
push ecx
call fcn.007009b8
pop ecx
pop ecx
add edi, 0x18
mov dword [ebp - 0x184], edi
cmp edi, dword [ebp - 0x194]
jne 0x508b9b
push 0xffffffffffffffff
lea eax, [ebp - 0x1a4]
push ebx
push eax
call fcn.00511508
add esp, 0xc
mov esi, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a0]
mov byte [ebp - 4], 0xf
jmp 0x50900d
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push esi
call fcn.004c0690
push 0x5c
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0xb8]
push ebx
push eax
call fcn.005126ee
push eax
mov byte [ebp - 4], 0x11
call fcn.00508ad4
add esp, 0x14
lea ecx, [ebp - 0xb8]
call fcn.004c0931
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xf
cmp eax, 8
jb 0x50900a
mov ecx, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x180], ecx
cmp eax, 0x1000
jb 0x509001
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.004343f0
mov eax, dword [ebp - 0x188]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x180]
push eax
push ecx
call fcn.007009b8
pop ecx
pop ecx
add esi, 0x18
cmp esi, edi
jne 0x508f77
cmp dword [ebx + 0x14], 8
jb 0x50901d
mov ebx, dword [ebx]
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x1a4]
mov esi, eax
call fcn.004cc64f
lea ecx, [ebp - 0x198]
call fcn.004cc64f
mov eax, esi
call fcn.00700c4b
ret