Function at 0x10017830
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003ce60
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x10047810]
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 ecx, dword [ebp + 8]
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x10]
cmp dword [ecx + 0x14], 8
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
jb 0x10017898
mov ebx, dword [ecx]
mov edi, dword [ecx + 0x10]
cmp edi, 0x7ffffffe
ja 0x10017cde
mov dword [ebp - 0x14], 7
cmp edi, 8
jae 0x100178c4
push 0x10
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], edi
push ebx
push eax
call fcn.100321a0
jmp 0x10017906
mov esi, edi
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x100178d8
mov esi, SysReAllocString
jmp 0x100178e2
cmp esi, 0xa
jae 0x100178e2
mov esi, 0xa
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x28]
call fcn.10007610
lea ecx, [edi*2 + 2]
mov dword [ebp - 0x28], eax
push ecx
push ebx
push eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], esi
call fcn.100321a0
add esp, 0xc
mov ecx, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 4], 0
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x100179b8
cmp dword [ecx + 0x14], 8
jb 0x10017932
mov ecx, dword [ecx]
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
mov dword [ebp - 0xb0], esi
mov edx, edi
jb 0x10017954
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xb4], edx
jmp 0x1001795a
mov dword [ebp - 0xb4], edi
cmp edx, ebx
ja 0x100179b6
mov eax, esi
mov dword [ebp - 0xac], esi
sub esi, ecx
jmp 0x10017970
movzx ebx, word [ecx]
cmp word [eax], bx
mov ebx, dword [ebp - 0x18]
jne 0x10017c46
cmp dword [ebp - 0xb4], 0
jbe 0x100179ab
jmp 0x10017990
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x10017c38
add ecx, 2
sub edx, 1
jne 0x10017990
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb0]
cmp eax, 2
jb 0x100179b8
xor edi, edi
xor esi, esi
test ebx, ebx
je 0x10017a22
mov edi, edi
mov eax, dword [ebp - 0xa4]
cmp esi, dword [eax + 0x10]
jae 0x10017a22
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
setae dl
jb 0x100179da
mov ecx, dword [ebp - 0x28]
lea eax, [ecx + esi*2]
mov ecx, dword [ebp - 0xa4]
mov ebx, ecx
cmp dword [ebx + 0x14], 8
mov ebx, dword [ebp - 0x18]
jb 0x100179f0
mov ecx, dword [ecx]
mov ax, word [eax]
cmp ax, word [ecx + esi*2]
jne 0x10017a22
lea eax, [ebp - 0x28]
test dl, dl
je 0x10017a03
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + esi*2]
push eax
call fcn.1001b9a0
add esp, 4
test al, al
je 0x10017a1a
cmp esi, edi
jbe 0x10017a1a
mov edi, esi
mov ebx, dword [ebp - 0x18]
inc esi
cmp esi, ebx
jb 0x100179c0
cmp edi, ebx
jae 0x10017a4b
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x10017a32
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + edi*2]
push eax
call fcn.1001b9a0
mov ebx, dword [ebp - 0x18]
add esp, 4
test al, al
je 0x10017a4b
inc edi
cmp edi, ebx
jb 0x10017a26
test ebx, ebx
je 0x10017beb
lea esi, [ebx - 1]
cmp esi, edi
jbe 0x10017beb
mov edi, edi
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x10017a6c
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + esi*2]
push eax
call fcn.1001b9a0
add esp, 4
test al, al
je 0x10017be2
cmp dword [ebp - 0x18], esi
jb 0x10017ce8
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], esi
jb 0x10017a99
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov word [eax + esi*2], cx
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
push 1
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10018c70
add esp, 0xc
test al, al
je 0x10017b9e
cmp byte [ebp - 0x7b], 0
je 0x10017b9e
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x10017b07
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
setne bl
test eax, eax
jne 0x10017b96
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1001b280
add esp, 8
test al, al
je 0x10017b58
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
jb 0x10017b4c
mov eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
setne bl
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 1
cmp ecx, 8
jb 0x10017b96
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017b8c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ce3
push ecx
push edx
call fcn.100308ca
add esp, 8
test bl, bl
je 0x10017c63
mov ecx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0
cmp ecx, 8
jb 0x10017be2
mov edx, dword [ebp - 0xa0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017bd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ce3
push ecx
push edx
call fcn.100308ca
add esp, 8
dec esi
cmp esi, edi
ja 0x10017a60
push dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa4]
call fcn.1000ecf0
mov bl, 1
mov ecx, dword [ebp - 0x14]
cmp ecx, 8
jb 0x10017cc0
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017cb6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ce3
jmp 0x10017cb6
mov eax, dword [ebp - 0xac]
mov edx, edi
mov ecx, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0xb0]
je 0x100179b6
sub eax, 2
sub esi, 2
mov dword [ebp - 0xac], eax
jmp 0x10017970
push dword [ebp - 0xb8]
mov ecx, 0x1004c10c
call fcn.1000e3b0
mov ecx, dword [ebp - 0x8c]
cmp ecx, 8
jb 0x10017caf
mov edx, dword [ebp - 0xa0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10017ca5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ce3
push ecx
push edx
call fcn.100308ca
add esp, 8
xor bl, bl
jmp 0x10017bfe
push ecx
push edx
call fcn.100308ca
add esp, 8
mov al, bl
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.100308d8
mov esp, ebp
pop ebp
ret
call fcn.10003930
call fcn.1003442e
call fcn.10007600
int3