Function at 0x4c61a0
Capabilities:
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x524a83
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
mov eax, dword [0x584f80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x90], 1
add eax, 4
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00485380
mov edi, dword [ebp - 0xa0]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xa4]
mov ecx, edi
sub ecx, esi
mov byte [ebp - 0x8c], 0
push dword [ebp - 0x8c]
imul ecx
mov dword [ebp - 0x90], 9
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
push esi
call fcn.00484a10
mov ecx, dword [ebp - 0xa0]
add esp, 0x10
mov edi, dword [ebp - 0xa4]
mov dword [ebp - 0x90], ecx
cmp edi, ecx
je 0x4c628d
lea eax, [edi + 0x18]
mov dword [ebp - 0x94], eax
cmp eax, ecx
je 0x4c628d
nop dword [eax + eax]
push eax
push edi
lea esi, [eax + 0x18]
call fcn.00482af0
mov ecx, dword [ebp - 0x90]
add esp, 8
test al, al
jne 0x4c6547
mov edi, dword [ebp - 0x94]
mov eax, esi
mov dword [ebp - 0x94], eax
cmp eax, ecx
jne 0x4c6260
mov eax, ecx
cmp eax, ecx
je 0x4c62ca
push eax
push ecx
push ecx
call fcn.00483bd0
mov edi, dword [ebp - 0xa0]
add esp, 0xc
mov dword [ebp - 0x8c], eax
mov esi, eax
cmp eax, edi
je 0x4c62c4
mov ecx, esi
call fcn.00475e90
add esi, 0x18
cmp esi, edi
jne 0x4c62b0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov esi, dword [ebp - 0x98]
lea ecx, [ebp - 0xa4]
add esi, 4
cmp esi, ecx
je 0x4c631c
mov ecx, esi
call fcn.00475e00
mov eax, dword [ebp - 0xa4]
mov dword [esi], eax
mov eax, dword [ebp - 0xa0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x9c]
mov dword [esi + 8], eax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x90], 1
call fcn.00475e00
push esi
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 1
call fcn.00485380
mov edi, dword [ebp - 0xac]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xb0]
mov ecx, edi
sub ecx, esi
mov byte [ebp - 0x8c], 0
push dword [ebp - 0x8c]
imul ecx
mov dword [ebp - 0x90], 3
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
push esi
call fcn.00484a10
mov edi, dword [ebp - 0x98]
lea eax, [ebp - 0xb0]
add esp, 0x10
lea esi, [edi + 4]
cmp esi, eax
je 0x4c63d9
mov ecx, esi
call fcn.00475e00
mov eax, dword [ebp - 0xb0]
mov dword [esi], eax
mov eax, dword [ebp - 0xac]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xa8]
mov dword [esi + 8], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.00475e00
push esi
lea ecx, [ebp - 0xbc]
call fcn.00485380
mov ecx, dword [ebp - 0xbc]
mov eax, 5
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xb8]
cmp ecx, eax
je 0x4c6440
sub eax, 0x18
cmp ecx, eax
je 0x4c6440
movups xmm0, xmmword [eax]
movups xmm1, xmmword [ecx]
movq xmm2, qword [ecx + 0x10]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
add ecx, 0x18
movups xmmword [eax], xmm1
movq qword [eax + 0x10], xmm2
cmp ecx, eax
jne 0x4c6412
lea esi, [edi + 4]
lea eax, [ebp - 0xbc]
cmp esi, eax
je 0x4c648c
mov ecx, esi
call fcn.00475e00
mov eax, dword [ebp - 0xbc]
mov dword [esi], eax
mov eax, dword [ebp - 0xb8]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xb4]
mov dword [esi + 8], eax
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
lea ecx, [ebp - 0xbc]
call fcn.00475e00
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x98]
xor ecx, ecx
mov edi, dword [edi + 8]
mov dword [ebp - 0x94], ecx
mov ecx, edi
mov dword [ebp - 4], 2
mov esi, dword [eax + 4]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4c6a90
mov eax, dword [ebp - 0x94]
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
mov edx, 0xa
mov dword [ebp - 0x2c], 0
lea eax, [eax + eax*2]
cmp dword [esi + eax*8 + 0x14], 7
lea esi, [esi + eax*8]
mov edi, esi
jbe 0x4c651c
mov edi, dword [esi]
mov esi, dword [esi + 0x10]
cmp esi, 0x7ffffffe
ja 0x4c6ae6
cmp esi, 7
ja 0x4c65a8
mov ecx, 7
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ecx
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x40], xmm0
jmp 0x4c6603
cmp esi, ecx
je 0x4c65a0
nop dword [eax + eax]
push esi
push edi
call fcn.00482af0
add esp, 8
test al, al
jne 0x4c658f
add edi, 0x18
cmp edi, esi
je 0x4c658f
mov ecx, edi
call fcn.00475e90
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, dword [ebp - 0x90]
jne 0x4c6550
mov ecx, dword [ebp - 0xa0]
lea eax, [edi + 0x18]
jmp 0x4c628f
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x4c65bb
mov eax, 0x7ffffffe
jmp 0x4c65c1
cmp eax, 0xa
cmovb eax, edx
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0045bf50
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x2c], ecx
lea ecx, [esi*2 + 2]
push ecx
push edi
push eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], esi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x2c]
add esp, 0x14
mov esi, dword [ebp - 0x30]
mov edx, 0xa
mov byte [ebp - 4], 3
test esi, esi
je 0x4c6a22
cmp ecx, 7
mov dword [ebp - 0x18], 0
lea edi, [ebp - 0x40]
mov dword [ebp - 0x14], 0
cmova edi, dword [ebp - 0x40]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
cmp esi, 0x7ffffffe
ja 0x4c6ae6
cmp esi, 7
ja 0x4c6653
mov edx, 7
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edx
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
jmp 0x4c66ac
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x4c6666
mov eax, 0x7ffffffe
jmp 0x4c666c
cmp eax, 0xa
cmovb eax, edx
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045bf50
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x14], ecx
lea ecx, [esi*2 + 2]
push ecx
push edi
push eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], esi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x2c]
add esp, 0x14
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
or dword [ebp - 0x90], 1
mov byte [ebp - 4], 4
test esi, esi
jne 0x4c66c3
mov dword [ebp - 0x90], esi
jmp 0x4c672c
lea edi, [esi - 1]
cmp esi, edi
jbe 0x4c6adc
movups xmm0, xmmword [ebp - 0x28]
cmp edx, 7
lea eax, [ebp - 0x28]
movd dword [ebp - 0x8c], xmm0
cmova eax, dword [ebp - 0x8c]
movzx eax, word [eax + edi*2]
cmp eax, 0x5c
je 0x4c66f5
cmp eax, 0x2f
jne 0x4c6724
lea ecx, [esi - 1]
cmp ecx, esi
ja 0x4c6714
cmp edx, 7
mov dword [ebp - 0x18], ecx
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x8c]
xor edx, edx
mov word [eax + ecx*2], dx
jmp 0x4c6721
sub ecx, esi
push 0
push ecx
lea ecx, [ebp - 0x28]
call fcn.004d9500
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 4], 3
cmp ecx, 7
jbe 0x4c676a
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4c6760
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6ad6
push ecx
push edx
call fcn.0050686b
add esp, 8
mov eax, dword [ebp - 0x94]
movups xmm0, xmmword [ebp - 0x28]
push 0
push 0x532ea0
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x98]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [ebp - 0x18]
mov eax, dword [eax + 4]
movq qword [ebp - 0x30], xmm0
lea ecx, [eax + ecx*8]
call fcn.004d96d0
cmp dword [ebp - 0x2c], 7
lea eax, [ebp - 0x40]
push 0
cmova eax, dword [ebp - 0x40]
push eax
call fcn.0049cc80
add esp, 8
test al, al
je 0x4c6a1f
cmp dword [ebp - 0x2c], 7
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x88]
cmova eax, dword [ebp - 0x40]
push eax
call fcn.0045ce10
mov eax, dword [ebp - 0x7a]
and eax, 0xf000
cmp eax, 0x4000
jne 0x4c6a0a
cmp dword [ebp - 0x2c], 7
lea edi, [ebp - 0x40]
mov esi, dword [ebp - 0x30]
xorps xmm0, xmm0
cmova edi, dword [ebp - 0x40]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
cmp esi, 0x7ffffffe
ja 0x4c6ae6
cmp esi, 7
ja 0x4c682d
mov ecx, 7
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ecx
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x28], xmm0
jmp 0x4c6885
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x4c6840
mov eax, 0x7ffffffe
jmp 0x4c684b
cmp eax, 0xa
mov ecx, 0xa
cmovb eax, ecx
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045bf50
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x14], ecx
lea ecx, [esi*2 + 2]
push ecx
push edi
push eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], esi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x14]
add esp, 0x14
cmp ecx, 7
mov byte [ebp - 4], 5
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.0049e880
add esp, 4
test al, al
lea eax, [ebp - 0x28]
je 0x4c68ba
cmp dword [ebp - 0x14], 7
cmova eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wrmdir]
add esp, 4
jmp 0x4c69b6
mov edx, dword [ebp - 0xc4]
cmp edx, dword [ebp - 0xc0]
je 0x4c69a9
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
cmp dword [ebp - 0x14], 7
mov edi, dword [ebp - 0x18]
cmova eax, dword [ebp - 0x28]
mov dword [ebp - 0x8c], eax
cmp edi, 0x7ffffffe
ja 0x4c6ae6
cmp edi, 7
ja 0x4c6920
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 7
movups xmm0, xmmword [eax]
movups xmmword [edx], xmm0
add edx, 0x18
mov dword [ebp - 0xc4], edx
jmp 0x4c69b6
mov esi, edi
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x4c6948
mov eax, 0x7fffffff
mov esi, 0x7ffffffe
add eax, eax
push eax
cmp eax, 0x1000
jb 0x4c6969
call fcn.0045bfa0
jmp 0x4c696e
cmp esi, 0xa
mov eax, 0xa
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x7fffffff
ja 0x4c6ae1
add eax, eax
jne 0x4c6939
xor ecx, ecx
jmp 0x4c6979
call sub.mfc140u.dll_operator_2
mov edx, dword [ebp - 0xc4]
mov ecx, eax
add esp, 4
lea eax, [edi*2 + 2]
mov dword [edx], ecx
push eax
push dword [ebp - 0x8c]
mov dword [edx + 0x10], edi
push ecx
mov dword [edx + 0x14], esi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0xc4]
add esp, 0xc
add edx, 0x18
mov dword [ebp - 0xc4], edx
jmp 0x4c69b6
push eax
push edx
lea ecx, [ebp - 0xc8]
call fcn.0045c0e0
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 3
cmp ecx, 7
jbe 0x4c69f4
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4c69ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6ad6
push ecx
push edx
call fcn.0050686b
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
jmp 0x4c6a1f
cmp dword [ebp - 0x2c], 7
lea eax, [ebp - 0x40]
cmova eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
cmp ecx, 7
jbe 0x4c6a5d
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4c6a53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c6ad6
push ecx
push edx
call fcn.0050686b
add esp, 8
mov eax, dword [ebp - 0x98]
inc dword [ebp - 0x94]
mov edi, dword [eax + 8]
mov ecx, edi
mov esi, dword [eax + 4]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x94], eax
jb 0x4c64eb
cmp esi, edi
je 0x4c6aae
mov ecx, esi
call fcn.00475e90
add esi, 0x18
cmp esi, edi
jne 0x4c6a94
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0xc8]
call fcn.00475e00
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00506d06
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.00475f20
call fcn.00475de0
call fcn.00475ef0
int3