Function at 0x10001950
Capabilities:
Delete directory
Get common file path

Disassembly:
sub esp, 0x214
mov eax, dword [esp + 0x220]
push ebx
push ebp
push esi
cmp eax, 0xf
push edi
mov dword [esp + 0x14], 4
ja case.default.0x10001972
jmp dword [eax*4 + 0x10002114]
mov ebx, 2
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov eax, dword [esp + 0x238]
mov edi, 0x1000d750
push 0x1000d888
mov ecx, dword [eax + 0xc]
lea esi, [eax + 0x228]
mov dword [0x1000d98c], ecx
mov ecx, 0xb
rep movsd dword es:[edi], dword [esi]
call fcn.100018b0
push 0x104
push 0x1000d780
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edx, dword [0x1000d98c]
push 0x1000d888
push 0x12aff
push edx
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov eax, dword [0x1000d77c]
push 0xff
push 0x1000d650
push 1
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov ebx, dword [esp + 0x18]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov ecx, dword [esp + 0x234]
xor ebx, ebx
and ecx, 0x3ff
cmp ecx, 9
sete bl
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov edx, dword [0x1000d77c]
push 0x65
push edx
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov ebx, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov eax, dword [esp + 0x234]
xor ebx, ebx
cmp eax, 1
jne 0x10002104
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push ecx
push str.IISSetupMode
call fcn.10001920
mov eax, dword [esp + 0x10]
cmp eax, 3
ja 0x10001a9a
je case.0x10001972.536
cmp eax, 1
ja 0x10002104
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
cmp eax, 0x10000200
ja 0x10001adc
je 0x10001aae
cmp eax, 0x10000100
jne 0x10002104
mov edx, dword [esp + 0x22c]
mov eax, dword [0x1000d750]
push 0
push edx
push eax
call dword [0x1000d76c]
mov ebx, eax
neg ebx
sbb ebx, ebx
add ebx, 2
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
cmp eax, 0x20000100
je 0x10001aee
cmp eax, 0x20000200
jne 0x10002104
mov ecx, dword [esp + 0x22c]
mov edx, dword [0x1000d750]
push 0
push ecx
push edx
call dword [0x1000d76c]
mov ebx, eax
neg ebx
sbb ebx, ebx
neg ebx
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push ecx
push str.IISSetupMode
xor ebx, ebx
call fcn.10001920
mov eax, dword [esp + 0x10]
cmp eax, 1
jbe case.0x10001972.537
cmp eax, 0x10000200
jne 0x10002104
mov ebx, 1
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov eax, dword [esp + 0x234]
xor ebx, ebx
test eax, eax
push ebx
push ebx
je 0x10001b89
mov edx, dword [0x1000d98c]
mov eax, dword [esp + 0x240]
push str.ScrptDbg_Install
push ebx
push edx
push eax
call dword [sym.imp.SETUPAPI.dll_SetupAddInstallSectionToDiskSpaceListA]
jmp 0x10001c83
mov ecx, dword [0x1000d98c]
mov edx, dword [esp + 0x240]
push str.ScrptDbg_Uninstall
push 0
push ecx
push edx
call dword [sym.imp.SETUPAPI.dll_SetupRemoveInstallSectionFromDiskSpaceListA]
jmp 0x10001c83
mov esi, dword [esp + 0x22c]
xor ebx, ebx
test esi, esi
je 0x10002104
mov eax, dword [0x1000d750]
push ebx
push esi
push eax
call dword [0x1000d76c]
mov ecx, dword [0x1000d750]
push 1
push esi
push ecx
mov edi, eax
call dword [0x1000d76c]
mov esi, eax
cmp esi, edi
jne 0x10001be9
test esi, esi
je 0x10002104
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push edx
push eax
push str.IISSetupMode
call fcn.10001920
test esi, esi
je 0x10001c5b
test edi, edi
je 0x10001c1b
mov eax, dword [esp + 0x10]
cmp eax, 0x10000200
je 0x10001c1b
cmp eax, 0x20000200
jne 0x10002104
mov ecx, dword [esp + 0x238]
mov edx, dword [0x1000d98c]
push 0x2000
push 0
push str.ScrptDbg_Install
push ecx
push 0
push edx
call dword [sym.imp.SETUPAPI.dll_SetupInstallFilesFromInfSectionA]
test eax, eax
jne 0x10002104
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
test edi, edi
je 0x10002104
mov eax, dword [esp + 0x238]
mov ecx, dword [0x1000d98c]
push 0
push 0
push str.ScrptDbg_Uninstall
push eax
push 0
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupInstallFilesFromInfSectionA]
test eax, eax
jne 0x10002104
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov eax, dword [esp + 0x22c]
xor ebx, ebx
test eax, eax
je 0x10002104
mov esi, dword [esp + 0x228]
mov edx, dword [0x1000d750]
push ebx
push esi
push edx
call dword [0x1000d76c]
mov edi, eax
mov eax, dword [0x1000d750]
push 1
push esi
push eax
call dword [0x1000d76c]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push ecx
push edx
push str.IISSetupMode
mov esi, eax
call fcn.10001920
cmp edi, esi
jne 0x10001d00
cmp dword [esp + 0x10], 0x10000200
jne 0x10002104
mov eax, dword [0x1000d98c]
push str.RegServer
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetLineCountA]
mov ebx, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov esi, dword [esp + 0x22c]
xor ebx, ebx
cmp esi, ebx
je 0x10002104
mov ecx, dword [0x1000d750]
push ebx
push esi
push ecx
mov dword [esp + 0x24], ebx
call dword [0x1000d76c]
mov edx, dword [0x1000d750]
push 1
push esi
push edx
mov ebp, eax
call dword [0x1000d76c]
mov edi, eax
cmp edi, ebp
jne 0x10001d64
test edi, edi
je 0x10002104
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
push ecx
push str.IISSetupMode
call fcn.10001920
lea edx, [esp + 0x14]
lea eax, [esp + 0x18]
push edx
push eax
push str.ReinstallRefreshSettings
call fcn.10001920
mov eax, dword [esp + 0x10]
cmp eax, 0x10000400
je 0x10001dc0
test edi, edi
je 0x10001da6
cmp eax, 0x10000200
jne 0x10001ec5
cmp eax, 0x10000400
je 0x10001dc0
test edi, edi
je 0x10001dc0
cmp eax, 0x10000200
jne 0x10001df7
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10001df7
push 0
call fcn.100016b0
mov ecx, dword [0x1000d98c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 4
push str.ScrptDbg_Uninstall
push ecx
push 0
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionA]
test eax, eax
jne 0x10001df7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea edx, [esp + 0x1c]
push edx
push 0x1000d650
call fcn.10001270
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x1c]
push 0x1000a030
push eax
call esi
lea ecx, [esp + 0x1c]
push str.Microsoft_Script_Debugger
push ecx
call esi
lea edx, [esp + 0x1c]
push str..lnk
push edx
call esi
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.100023a0
add esp, 8
test eax, eax
jne 0x10001e52
push str.Microsoft_Script_Debugger
push 0x1000d650
call fcn.10001580
lea ecx, [esp + 0x1c]
push ecx
push 0x1000d650
call fcn.10001270
lea edx, [esp + 0x1c]
push 0x1000a030
push edx
call esi
lea eax, [esp + 0x1c]
push str.Microsoft_Script_Debugger_Readme
push eax
call esi
lea ecx, [esp + 0x1c]
push str..lnk
push ecx
call esi
lea edx, [esp + 0x1c]
push 0
push edx
call fcn.100023a0
add esp, 8
test eax, eax
jne 0x10001ea7
push str.Microsoft_Script_Debugger_Readme
push 0x1000d650
call fcn.10001580
lea eax, [esp + 0x1c]
push eax
push 0x1000d650
call fcn.10001270
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov eax, dword [esp + 0x10]
test edi, edi
je 0x10001ecd
test ebp, ebp
je 0x10001ee3
cmp eax, 0x10000200
jne 0x10001ed8
test edi, edi
jne 0x10001ee3
cmp eax, 0x20000200
jne 0x10002104
push str.msscrdbg.exe
push str.Microsoft_Script_Debugger
push 0x1000d888
lea edx, [esp + 0x12c]
push str._s_s_s
push edx
call fcn.10002160
add esp, 0x14
lea eax, [esp + 0x1c]
push str.Microsoft_Script_Debugger
push 0x1000d888
push str._s_s
push eax
call fcn.10002160
add esp, 0x10
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x120]
push ecx
push 0x1000d994
push edx
push str.Microsoft_Script_Debugger
push 0x1000d650
call fcn.100014f0
push str.readme.htm
push str.Microsoft_Script_Debugger
push 0x1000d888
lea eax, [esp + 0x12c]
push str._s_s_s
push eax
call fcn.10002160
add esp, 0x14
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x120]
push ecx
push 0x1000d994
push edx
push str.Microsoft_Script_Debugger_Readme
push 0x1000d650
call fcn.100014f0
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov esi, dword [esp + 0x22c]
xor ebx, ebx
test esi, esi
je 0x10002104
mov eax, dword [0x1000d750]
push ebx
push esi
push eax
mov dword [esp + 0x24], ebx
call dword [0x1000d76c]
mov ecx, dword [0x1000d750]
push 1
push esi
push ecx
mov edi, eax
call dword [0x1000d76c]
mov esi, eax
cmp esi, edi
jne 0x10001fdb
test esi, esi
je 0x10002104
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push edx
push eax
push str.IISSetupMode
call fcn.10001920
lea ecx, [esp + 0x14]
lea edx, [esp + 0x18]
push ecx
push edx
push str.ReinstallRefreshSettings
call fcn.10001920
test esi, esi
je 0x10002061
test edi, edi
je 0x10002022
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp edx, 0x10000200
sete al
test eax, ecx
je 0x10002059
push 1
call fcn.100016b0
mov ecx, dword [0x1000d98c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 4
push str.ScrptDbg_Install
push ecx
push 0
call dword [sym.imp.SETUPAPI.dll_SetupInstallFromInfSectionA]
test eax, eax
jne 0x10002059
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test esi, esi
jne 0x10002104
test edi, edi
je 0x10002104
push str.Microsoft_Script_Debugger
push 0x1000d888
lea edx, [esp + 0x128]
push str._s_s
push edx
call fcn.10002160
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
add esp, 0x10
lea eax, [esp + 0x120]
push eax
call esi
push 0x1000d780
lea ecx, [esp + 0x124]
push str._shelpdebug_art
push ecx
call fcn.10002160
add esp, 0xc
lea edx, [esp + 0x120]
push edx
call esi
push 0x1000d780
lea eax, [esp + 0x124]
push str._shelpdebug
push eax
call fcn.10002160
add esp, 0xc
lea ecx, [esp + 0x120]
push ecx
call esi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
xor ebx, ebx
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret 0x14
mov ebx, dword [esp + 0x18]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x214
ret 0x14