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

Disassembly:
push 0x23c
push 0x1003fe8
call fcn.010145b0
mov eax, dword [0x102c22c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x248], ecx
xor eax, eax
lea edi, [ebp - 0x244]
stosd dword es:[edi], eax
cmp dword [0x102dc60], ecx
je 0x1011a4d
mov ecx, dword [ebp - 0x1c]
call fcn.0101439a
call fcn.010145eb
ret 4
mov dword [ebp - 4], ecx
mov edi, 0x2bc
push edi
push 0x401
push dword [ebx + 0x24]
mov esi, 0x40a
push esi
push dword [ebx + 4]
call fcn.0100bee8
push 0x1003fc8
call fcn.01015c42
push 0x100cba1
push 0x1003fb4
push dword [0x103f3c4]
push dword [ebx]
call fcn.0100c854
test eax, eax
je 0x1011ae7
push 0x100cb61
push 0x1003fa4
push dword [0x103f3c4]
push dword [ebx]
call fcn.0100c854
test eax, eax
je 0x1011ae7
push 0x100cd6f
push 0x1003f90
push dword [0x103f3c4]
push dword [ebx]
call fcn.0100c854
test eax, eax
je 0x1011ae7
push 0x100cc0d
push 0x1003f7c
push dword [0x103f3c4]
push dword [ebx]
call fcn.0100c854
test eax, eax
je 0x1011ae7
xor eax, eax
inc eax
jmp 0x1011ae9
xor eax, eax
mov dword [ebp - 0x234], eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 4
push 0x1003f64
push dword [0x103f3c4]
push dword [ebx]
call dword [sym.imp.UPDSPAPI.dll_UpdSpInstallFromInfSectionA]
and dword [ebp - 0x234], eax
jne 0x1011b2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1003f08
call fcn.01015c5a
pop ecx
pop ecx
jmp 0x1012288
push 0x1003eec
call fcn.01015c42
push 0x190
push 0x401
push dword [ebx + 0x28]
push esi
push dword [ebx + 4]
call fcn.0100bee8
push edi
push 0x402
push dword [ebx + 0x24]
push 0x40b
push dword [ebx + 4]
call fcn.0100bee8
mov esi, 0x104
push esi
lea eax, [ebp - 0x224]
push eax
push 0x1003edc
mov edi, 0x103ec40
push edi
call fcn.01015121
push 0
push 1
lea eax, [ebp - 0x224]
push eax
call fcn.01014dd5
push 0x1003e98
push dword [0x103f3c4]
call fcn.010231cf
push 0x102c8cc
push edi
push 1
push 0x1003e78
push dword [0x103f3c4]
call fcn.01016f90
push esi
mov esi, 0x103f500
push esi
push 0x1003e78
call fcn.01018155
push 0x102c8cc
push edi
push 1
push esi
push dword [0x103f3c4]
call fcn.01016f90
mov esi, dword [0x102c914]
mov dword [ebp - 0x248], esi
mov eax, dword [0x102c918]
mov dword [ebp - 0x244], eax
xor eax, eax
mov dword [0x108f89c], eax
mov dword [0x106e504], eax
mov dword [0x106d3a0], eax
call fcn.01016541
mov dword [0x106e508], eax
or dword [0x106d39c], 0xffffffff
call fcn.01020e55
mov dword [0x102c2d8], eax
and dword [0x102dea0], 0
push dword [ebp - 0x244]
push esi
push 3
push dword [0x103dfdc]
call fcn.0101df99
call fcn.01021943
call fcn.01021a94
push dword [0x103dfdc]
call fcn.01021377
mov eax, dword [0x106e508]
test eax, eax
je 0x1011c66
push eax
call fcn.01016554
and dword [0x106e508], 0
mov eax, dword [0x102dc5c]
test eax, eax
jne 0x1011cc9
cmp dword [0x102dc60], eax
jne 0x1011cc1
cmp dword [0x103e104], 5
jb 0x1011d71
test dword [0x102de50], 0x40
jne 0x1011d71
push 0x1001d3c
push dword [0x103f3c4]
call fcn.0101db01
mov dword [ebp - 0x234], eax
test eax, eax
jne 0x1011d71
push 0x1003e48
call fcn.01015c42
jmp 0x1012288
test eax, eax
je 0x1011d71
mov esi, 0x107f8a0
mov dword [ebp - 0x238], esi
push edi
push 0x1001aa4
push 0xfffa
push esi
call dword [sym.imp.ntdll.dll__snprintf]
add esp, 0x10
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1011cee
sub eax, ecx
lea eax, [eax + 0x107f89f]
mov dword [ebp - 0x238], eax
cmp byte [eax], 0x5c
jne 0x1011d0a
mov byte [eax], dl
push 0x5c
push esi
call dword [sym.imp.ntdll.dll_strrchr]
pop ecx
pop ecx
mov dword [ebp - 0x238], eax
test eax, eax
je 0x1011d22
mov byte [eax], 0
push 0xfffa
push esi
push 0x1003e30
push esi
call fcn.01015121
push esi
call fcn.0100c610
test eax, eax
jne 0x1011d4e
push 0x102dc68
push 0x1003da0
call fcn.01015c5a
pop ecx
pop ecx
push dword [0x103f3c4]
push esi
call fcn.0100c6eb
test eax, eax
jne 0x1011d76
push 0x102dc68
push 0x1003d08
call fcn.01015c5a
pop ecx
pop ecx
jmp 0x1011d76
mov esi, 0x107f8a0
push 0
push dword [0x103ec2c]
push edi
call fcn.0101f47e
lea eax, [ebp - 0x22c]
push eax
mov eax, 0x1003ce8
push eax
push eax
push dword [0x103f3c4]
call fcn.0101b7b7
cmp dword [ebp - 0x22c], 0
je 0x1011db7
push 0x1003ce8
push 0x1003c90
call fcn.01015ca8
pop ecx
pop ecx
push 0x1003c7c
push dword [0x103f3c4]
push dword [ebx]
call fcn.01024c45
push 0x190
push 0x402
push dword [ebx + 0x28]
push 0x40b
push dword [ebx + 4]
call fcn.0100bee8
push 0x2bc
push 0x403
push dword [ebx + 0x24]
push 0x40c
push dword [ebx + 4]
call fcn.0100bee8
push 0x1003c58
push dword [0x103f3c4]
call fcn.01017426
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.01016d74
push 0x1003c18
call fcn.01015c42
push dword [ebp - 0x240]
push dword [ebp - 0x23c]
call fcn.0100b827
push dword [0x103e7e4]
push dword [0x103ec2c]
push edi
call fcn.0101f5cb
cmp dword [0x103e7e4], 0
je 0x1011e64
cmp dword [0x102c8e4], 0
jne 0x1011e64
call fcn.0100c590
cmp dword [0x103e104], 5
jne 0x1011f56
cmp dword [0x103e108], 1
jne 0x1011f56
call fcn.01016306
test eax, eax
jne 0x1011f56
mov edi, 0xfffa
push edi
push esi
push 0x1003c0c
push 0x103e220
call fcn.01015121
push edi
mov edi, 0x102dfe0
push edi
push 0x103f3e0
push esi
call fcn.01015121
mov dword [ebp - 0x230], edi
mov eax, esi
mov cl, byte [eax]
mov byte [ebp - 0x226], cl
mov edx, dword [ebp - 0x230]
cmp cl, byte [edx]
jne 0x1011ef0
test cl, cl
je 0x1011eec
mov cl, byte [eax + 1]
mov byte [ebp - 0x225], cl
cmp cl, byte [edx + 1]
jne 0x1011ef0
inc eax
inc eax
add dword [ebp - 0x230], 2
test cl, cl
jne 0x1011ebb
xor eax, eax
jmp 0x1011ef5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1011f56
push 0
push edi
call fcn.01017367
test eax, eax
je 0x1011f56
push 1
push edi
call fcn.01017661
mov dword [ebp - 0x24c], 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 0x1011f3a
push 4
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push dword [ebp - 0x24c]
push edi
push 0x1003be0
push esi
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0x10
push esi
call fcn.01015c42
xor esi, esi
cmp dword [0x102c8e4], esi
jne 0x101202f
cmp dword [0x102dc5c], esi
jne 0x1011f76
push 0x106e520
call fcn.01019cce
push 0x104
lea eax, [ebp - 0x120]
push eax
push 0xf0e3
push esi
call fcn.0100e2c5
cmp byte [0x102dc68], 0
je 0x1011ff2
cmp byte [0x103dfe0], 0
mov eax, 0x103dfe0
jne 0x1011faa
lea eax, [ebp - 0x120]
push 0x102dc68
push eax
push 0x1003bd8
push 0x1000
mov esi, 0x106e760
push esi
call dword [sym.imp.ntdll.dll__snprintf]
mov byte [0x106f75f], 0
push esi
push 0x103f3e0
push esi
push 3
push 0x103f700
push dword [0x103e490]
push 4
push 0x400e111e
call fcn.01014b89
add esp, 0x34
jmp 0x101202f
mov al, byte [0x103dfe0]
test al, al
mov ecx, 0x103dfe0
jne 0x1012126
lea ecx, [ebp - 0x120]
mov eax, ecx
push ecx
push 0x103f3e0
push eax
push 3
push 0x103f700
push dword [0x103e490]
push 4
push 0x400e111e
call fcn.01014b89
add esp, 0x20
call fcn.01014ec4
mov dword [ebx + 0x30], 1
mov ecx, dword [ebp - 0x240]
cmp dword [ebx + 0x14], ecx
jne 0x1012070
mov esi, dword [ebp - 0x23c]
test esi, esi
je 0x1012070
mov edi, dword [ebx + 0x10]
test edi, edi
je 0x1012070
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1012070
cmp dword [0x102dc50], eax
jne 0x1012070
cmp dword [ebp - 0x22c], eax
jne 0x1012070
mov dword [ebx + 0x30], eax
xor eax, eax
cmp dword [ebx + 0x30], eax
jne 0x1012083
cmp dword [ebx + 0x34], eax
je 0x1012083
mov dword [ebx + 0x30], 1
cmp dword [0x102c8c8], eax
je 0x101209c
push 0x1003b98
call fcn.01015c42
mov dword [ebx + 0x30], 1
cmp dword [0x102c8cc], 0
je 0x10120b6
push 0x1003b5c
call fcn.01015c42
mov dword [ebx + 0x30], 1
cmp dword [0x106f768], 0
je 0x10120d0
push 0x1003b1c
call fcn.01015c42
mov dword [ebx + 0x30], 1
cmp dword [ebx + 0x2c], 0
je 0x10120e8
push 0x1003ae0
call fcn.01015c5a
pop ecx
mov dword [ebx + 0x30], 1
cmp dword [0x102c8d8], 0
je 0x1012102
push 0x1003a88
call fcn.01015c42
mov dword [ebx + 0x30], 1
cmp dword [ebx + 0x30], 0
je 0x1012130
lea eax, [ebp - 0x22c]
push eax
push 0x1003ce8
push 0x1003a5c
push dword [0x103f3c4]
call fcn.0101b7b7
jmp 0x1012176
mov eax, 0x103dfe0
jmp 0x101200c
push 0x102c8cc
push 0x103ec40
push 1
mov esi, 0x1003a5c
push esi
push dword [0x103f3c4]
call fcn.01016f90
push 0x104
mov edi, 0x103f500
push edi
push esi
call fcn.01018155
push 0x102c8cc
push 0x103ec40
push 1
push edi
push dword [0x103f3c4]
call fcn.01016f90
xor esi, esi
cmp dword [ebx + 0x30], esi
jne 0x10121ac
cmp dword [0x103e7e4], esi
je 0x10121ac
cmp dword [0x102c918], esi
je 0x10121ac
push dword [0x103f3c4]
call fcn.01023f2f
call fcn.01024020
cmp dword [0x106f768], esi
je 0x10121ac
mov dword [ebx + 0x30], 1
cmp dword [0x102c8e4], esi
je 0x10121ba
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x20], esi
cmp dword [ebx + 0x30], esi
je 0x10121c6
push 1
call fcn.0101b6ba
mov eax, dword [0x106f764]
cmp eax, esi
je 0x10121d6
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x107f89c]
cmp eax, esi
je 0x101220d
push esi
push esi
push 0x12
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x2710
push dword [0x107f89c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x101220d
push 0x1003a24
call fcn.01015c5a
pop ecx
mov dword [0x103f6ec], 5
push 0x190
push 0x403
push dword [ebx + 0x28]
push 0x40c
push dword [ebx + 4]
call fcn.0100bee8
push 0x2bc
mov esi, 0x413
push esi
push dword [ebx + 0x24]
push 0x414
push dword [ebx + 4]
call fcn.0100bee8
push dword [ebx + 0x30]
push dword [ebx + 4]
call fcn.0100f99b
push 0xfffa
mov edi, 0x102dfe0
push edi
push 0xf0b0
push 0
call fcn.0100e2c5
push edi
push esi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [ebx + 0x30]
neg eax
sbb eax, eax
and eax, 0xbc2
mov dword [ebx + 0x20], eax
or dword [ebp - 4], 0xffffffff
call fcn.01012296
jmp 0x1011a3d