Function at 0x4038d0
Capabilities:
Delete directory
Delete file

Disassembly:
push 0x2a8
mov eax, 0x4422cd
call fcn.0040a339
mov edi, 0x44b22c
xor esi, esi
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], esi
call fcn.0040332e
xor ebx, ebx
inc ebx
push edi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], bl
call fcn.0040332e
mov byte [ebp - 4], 2
cmp dword [0x456f48], esi
je 0x403b5a
cmp dword [0x456f44], esi
je 0x403b5a
cmp dword [0x456f40], esi
je 0x403b5a
cmp dword [0x456f3c], esi
je 0x403b5a
cmp dword [ebp + 0x1c], 8
mov ecx, dword [ebp + 0x18]
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
cmp word [eax + ecx*2 - 2], 0x5c
jne 0x403975
lea eax, [ecx - 1]
push eax
push esi
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp + 8]
call fcn.00401e64
push eax
lea ecx, [ebp + 8]
call fcn.00401df5
push esi
push ebx
lea ecx, [ebp - 0x2b4]
call fcn.00403396
push 0xffffffffffffffff
push esi
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00403070
mov edi, 0x44b404
push edi
call fcn.00403307
pop ecx
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.00403b9f
mov byte [ebp - 4], 3
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x294]
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push ecx
push eax
call dword [0x456f48]
mov edi, eax
cmp edi, 0xffffffff
je 0x403b36
push 0x44b3f4
lea edx, [ebp + 8]
lea ecx, [ebp - 0x2b4]
call fcn.00403d22
pop ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00401df5
push esi
push ebx
lea ecx, [ebp - 0x2b4]
call fcn.00403396
lea eax, [ebp - 0x294]
push eax
push edi
call dword [0x456f44]
test eax, eax
jne 0x403a43
push edi
mov dword [ebp - 4], 2
call dword [0x456f40]
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push esi
push ebx
lea ecx, [ebp - 0x44]
call fcn.00403396
push esi
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00403396
push esi
push ebx
lea ecx, [ebp + 8]
call fcn.00403396
mov eax, ebx
jmp 0x403b7a
mov ecx, 0x44b40c
lea eax, [ebp - 0x268]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x403a74
test dx, dx
je 0x403a70
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x403a74
add eax, 4
add ecx, 4
test dx, dx
jne 0x403a4e
mov eax, esi
jmp 0x403a78
sbb eax, eax
or eax, ebx
test eax, eax
je 0x4039ec
mov ecx, 0x44b410
lea eax, [ebp - 0x268]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x403ab1
test dx, dx
je 0x403aad
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x403ab1
add eax, 4
add ecx, 4
test dx, dx
jne 0x403a8b
mov eax, esi
jmp 0x403ab5
sbb eax, eax
or eax, ebx
test eax, eax
je 0x4039ec
test byte [ebp - 0x294], 0x10
je 0x403ae8
sub esp, 0x18
lea eax, [ebp - 0x268]
mov ecx, esp
push eax
lea edx, [ebp - 0x2c]
call fcn.00403d22
pop ecx
call fcn.004038d0
add esp, 0x18
jmp 0x4039ec
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x44]
call fcn.00403070
lea eax, [ebp - 0x268]
push eax
call fcn.00403307
pop ecx
push eax
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x44]
call fcn.00403b9f
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x4039ec
push esi
push ebx
lea ecx, [ebp - 0x44]
call fcn.00403396
push esi
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00403396
push esi
push ebx
lea ecx, [ebp + 8]
mov edi, esi
call fcn.00403396
mov eax, edi
jmp 0x403b7a
push esi
push ebx
lea ecx, [ebp - 0x44]
call fcn.00403396
push esi
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00403396
push esi
push ebx
lea ecx, [ebp + 8]
call fcn.00403396
xor eax, eax
call fcn.0040a28b
ret