Function at 0x10054c4
Capabilities:
Delete directory
Get file attributes
Move file
Set file attributes

Disassembly:
push 0x640
push 0x1001820
call fcn.010070d8
and dword [ebp - 0x1c], 0
and dword [ebp - 4], 0
mov ebx, dword [ebp + 8]
push 0x2bc
mov edi, 0x401
push edi
push dword [ebx + 0x24]
mov esi, 0x40a
push esi
push dword [ebx + 4]
call fcn.010031d0
push 0x1001800
call fcn.01008343
push 0x100358d
push 0x10017ec
push dword [0x1021004]
push dword [ebx]
call fcn.01003332
test eax, eax
je 0x1005577
push 0x100356b
push 0x10017dc
push dword [0x1021004]
push dword [ebx]
call fcn.01003332
test eax, eax
je 0x1005577
push 0x10036b6
push 0x10017c8
push dword [0x1021004]
push dword [ebx]
call fcn.01003332
test eax, eax
je 0x1005577
push 0x10035f2
push 0x10017b4
push dword [0x1021004]
push dword [ebx]
call fcn.01003332
test eax, eax
je 0x1005577
xor ecx, ecx
inc ecx
xor eax, eax
jmp 0x100557b
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x20], ecx
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 4
push 0x100179c
push dword [0x1021004]
push dword [ebx]
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionA]
and dword [ebp - 0x20], eax
je 0x1005962
push 0x1001780
call fcn.01008343
cmp dword [0x10204a4], 5
jb 0x10055d1
push 0x1001758
push dword [0x1021004]
call fcn.0100aedc
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1005962
push 0x190
push edi
push dword [ebx + 0x28]
push esi
push dword [ebx + 4]
call fcn.010031d0
push 0x2bc
push 0x402
push dword [ebx + 0x24]
mov edi, 0x40b
push edi
push dword [ebx + 4]
call fcn.010031d0
push 0x104
lea eax, [ebp - 0x124]
push eax
push 0x1001748
mov esi, 0x1020cc0
push esi
call fcn.0100777d
push 0
push 1
lea eax, [ebp - 0x124]
push eax
call fcn.010074f5
push esi
push 1
push 0x1001728
push dword [0x1021004]
call fcn.0100962a
lea eax, [ebp - 0x1c]
push eax
push 0x100170c
push dword [0x1021004]
call fcn.0100b9ed
push 0x10016f8
push dword [0x1021004]
push dword [ebx]
call fcn.0100af59
cmp dword [0x1020a64], 0
jne 0x1005671
call fcn.0100b24f
push 0x190
push 0x402
push dword [ebx + 0x28]
push edi
push dword [ebx + 4]
call fcn.010031d0
push 0x2bc
push 0x403
push dword [ebx + 0x24]
push 0x40c
push dword [ebx + 4]
call fcn.010031d0
push 0x10016d4
push dword [0x1021004]
call fcn.010098cc
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.01009445
mov eax, 0x10206e0
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10056cc
sub eax, edi
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
neg eax
push eax
push 0x102049c
push dword [0x1020ca8]
push esi
call fcn.0100c33a
cmp dword [0x10204a4], 5
jne 0x10057e6
cmp dword [0x10204a8], 1
jne 0x10057e6
call fcn.010089c8
test eax, eax
jne 0x10057e6
mov edi, 0xfffa
push edi
mov esi, 0x10339e0
push esi
push 0x10016c8
push 0x10205c0
call fcn.0100777d
push edi
mov edi, 0x10104a0
push edi
push 0x1021020
push esi
call fcn.0100777d
mov dword [ebp - 0x130], edi
mov eax, esi
mov cl, byte [eax]
mov byte [ebp - 0x131], cl
mov edx, dword [ebp - 0x130]
cmp cl, byte [edx]
jne 0x1005780
test cl, cl
je 0x100577c
mov cl, byte [eax + 1]
mov byte [ebp - 0x132], cl
cmp cl, byte [edx + 1]
jne 0x1005780
inc eax
inc eax
add dword [ebp - 0x130], 2
test cl, cl
jne 0x100574b
xor eax, eax
jmp 0x1005785
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10057e6
push 0
push edi
call fcn.0100988e
test eax, eax
je 0x10057e6
push 1
push edi
call fcn.01009acb
mov dword [ebp - 0x138], eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
and eax, 0xfffffffe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x10057ca
push 4
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push dword [ebp - 0x138]
push edi
push 0x100169c
push esi
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0x10
push esi
call fcn.01008343
push 0x1022780
call fcn.0100a10e
push 0x104
lea eax, [ebp - 0x23c]
push eax
push 0xf206
xor edi, edi
push edi
call fcn.010046ab
lea eax, [ebp - 0x23c]
push eax
push 0x1021020
lea eax, [ebp - 0x23c]
push eax
push 3
push 0x10211c0
push dword [0x102082c]
push 4
push 0x400e111e
call fcn.010072c2
add esp, 0x20
call fcn.010074dd
call fcn.010075aa
mov dword [ebp - 0x240], 1
mov ecx, dword [ebp - 0x128]
cmp dword [ebx + 0x14], ecx
jne 0x100588c
mov esi, dword [ebp - 0x12c]
cmp esi, edi
je 0x100588c
mov eax, dword [ebx + 0x10]
cmp eax, edi
je 0x100588c
mov edi, eax
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100588a
cmp dword [0x10102a0], eax
jne 0x100588a
cmp dword [ebp - 0x1c], eax
jne 0x100588a
and dword [ebp - 0x240], eax
mov dword [ebx + 0x20], 0xbc2
xor edi, edi
cmp dword [0x100f2d0], edi
jne 0x1005950
and byte [0x10339e0], 0
and byte [0x1020840], 0
push 0x104
push 0x1020840
push 0xf001
push edi
call fcn.01003762
lea eax, [ebp - 0x650]
push 0x410
push eax
cmp dword [ebp - 0x240], edi
jne 0x10058d6
push 0xf10b
jmp 0x10058e7
xor eax, eax
cmp dword [0x100f2d4], edi
setne al
add eax, 0xf109
push eax
push edi
call fcn.01003762
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x1005950
push 4
push edi
push 0x470
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x190
push 0x403
push dword [ebx + 0x28]
push 0x40c
push dword [ebx + 4]
call fcn.010031d0
lea eax, [ebp - 0x650]
push eax
mov esi, 0x3fa
push esi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x2bc
push esi
push dword [ebx + 0x24]
push 0x40d
push dword [ebx + 4]
call fcn.010031d0
cmp dword [ebp - 0x240], edi
jne 0x1005962
mov dword [0x100f2d4], 1
or dword [ebp - 4], 0xffffffff
call fcn.01005973
call fcn.01007111
ret 4