Function at 0x10040c22
Capabilities:
Delete directory

Disassembly:
push 0x26c
mov eax, 0x10167f45
call fcn.10167441
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x248], esi
push 0x208
lea eax, [ebp - 0x224]
mov dword [ebp - 4], esi
push esi
push eax
mov dword [ebp - 0x250], esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov byte [ebp - 4], 1
xor dl, dl
mov ecx, ebx
call fcn.100402a6
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x270]
call fcn.10149ac2
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x244]
test edi, edi
jns 0x10040cb1
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x100410aa
test byte [eax + 0x44], 1
jne 0x10041096
jmp 0x100410aa
cmp dword [ebp - 0x248], 0
je 0x10040ccc
push dword [ebp - 0x248]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x248], esi
push esi
lea eax, [ebp - 0x248]
mov edx, 0x2001f
push eax
push esi
mov ecx, ebx
call fcn.10149ac2
mov dword [ebp - 0x244], eax
test eax, eax
jns 0x10040d31
mov ecx, dword [0x101973c0]
cmp ecx, 0x101973c0
je 0x10040d19
test byte [ecx + 0x44], 1
je 0x10040d19
push eax
push dword [ecx + 0x3c]
mov edx, 0x1001932c
push dword [ecx + 0x38]
push 0x27
pop ecx
call fcn.10149ac2
mov eax, dword [ebp - 0x244]
push eax
lea ecx, [ebp - 0x258]
call fcn.10149ac2
push 0x10196090
mov eax, ecx
jmp 0x100410bd
mov ecx, dword [ebp - 0x248]
lea edx, [ebp - 0x224]
push 0x104
call fcn.10149ac2
mov dword [ebp - 0x244], eax
test eax, eax
jns 0x10040d97
mov ecx, dword [0x101973c0]
cmp ecx, 0x101973c0
je 0x10040d7f
test byte [ecx + 0x44], 1
je 0x10040d7f
push eax
push dword [ecx + 0x3c]
mov edx, 0x1001932c
push dword [ecx + 0x38]
push 0x28
pop ecx
call fcn.10149ac2
mov eax, dword [ebp - 0x244]
push eax
lea ecx, [ebp - 0x25c]
call fcn.10149ac2
push 0x10196090
mov eax, ecx
jmp 0x100410bd
lea ecx, [ebp - 0x248]
call fcn.10040427
lea ecx, [eax - 1]
mov dword [ebp - 0x250], ecx
mov edx, ecx
lea ecx, [ebp - 0x248]
call fcn.10040480
lea ecx, [ebp - 0x270]
call fcn.10149ac2
mov dword [ebp - 4], esi
jmp 0x10040e57
test edi, edi
jns 0x10040ec8
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x10040e1a
test byte [eax + 0x44], 1
je 0x10040e1a
push edi
push dword [eax + 0x3c]
mov edx, 0x1001932c
push dword [eax + 0x38]
push 0x2a
pop ecx
call fcn.10149ac2
push edi
lea ecx, [ebp - 0x260]
call fcn.10149ac2
push 0x10196090
mov eax, ecx
jmp 0x100410bd
cmp edi, 0x80070002
jne 0x10040dec
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x1004107b
test byte [eax + 0x44], 4
je 0x1004107b
push ebx
push dword [eax + 0x3c]
mov edx, 0x1001932c
push dword [eax + 0x38]
push 0x29
pop ecx
call fcn.10149ac2
jmp 0x1004107b
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x10040f06
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x1004107b
test byte [eax + 0x44], 4
je 0x1004107b
push ecx
push ebx
push dword [eax + 0x3c]
mov edx, 0x1001932c
push dword [eax + 0x38]
push 0x2b
pop ecx
call fcn.10149ac2
jmp 0x1004107b
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x10040f2c
test byte [eax + 0x44], 4
je 0x10040f2c
push ebx
push dword [eax + 0x3c]
mov edx, 0x1001932c
push dword [eax + 0x38]
push 0x2c
pop ecx
call fcn.10149ac2
lea eax, [ebp - 0x244]
mov dword [ebp - 0x244], esi
push eax
lea ecx, [ebp - 0x270]
call fcn.10149ac2
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0x244]
test edi, edi
jns 0x10040f90
mov eax, dword [0x101973c0]
cmp eax, 0x101973c0
je 0x10040f78
test byte [eax + 0x44], 1
je 0x10040f78
push edi
push dword [eax + 0x3c]
mov edx, 0x1001932c
push dword [eax + 0x38]
push 0x2d
pop ecx
call fcn.10149ac2
push edi
lea ecx, [ebp - 0x264]
call fcn.10149ac2
push 0x10196090
mov eax, ecx
jmp 0x100410bd
xor eax, eax
mov dword [ebp - 0x22c], 7
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x230], esi
mov word [ebp - 0x240], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x10040fb2
sub ecx, edx
lea eax, [ebp - 0x224]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x240]
call fcn.10149ac2
push esi
push esi
push ecx
lea edx, [ebp - 0x240]
mov byte [ebp - 4], 5
xor ecx, ecx
call fcn.1005fd20
push esi
push 1
lea ecx, [ebp - 0x240]
call fcn.10149ac2
mov ecx, dword [ebp - 0x248]
call fcn.10040b7b
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.kernel32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1004104e
mov dl, 1
lea ecx, [ebp - 0x224]
call fcn.10149ac2
test eax, eax
jns 0x1004104e
mov ecx, dword [0x101973c0]
cmp ecx, 0x101973c0
je 0x1004104e
test byte [ecx + 0x44], 1
je 0x1004104e
push eax
push ebx
lea eax, [ebp - 0x224]
push eax
push dword [ecx + 0x3c]
push dword [ecx + 0x38]
push 0x2e
pop ecx
call fcn.10149ac2
cmp dword [ebp - 0x248], 0
je 0x10041070
push dword [ebp - 0x248]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, ebx
mov dword [ebp - 0x248], esi
call fcn.10149ac2
lea ecx, [ebp - 0x270]
call fcn.10149ac2
cmp dword [ebp - 0x248], 0
je 0x10041090
push dword [ebp - 0x248]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.10167393
ret
push edi
push dword [eax + 0x3c]
mov edx, 0x1001932c
push dword [eax + 0x38]
push 0x26
pop ecx
call fcn.10149ac2
push edi
lea ecx, [ebp - 0x254]
call fcn.10149ac2
push 0x10196090
mov eax, ecx
push eax
call sub.msvcrt.dll__CxxThrowException
int3