Function at 0x4043b0
Capabilities:
Delete registry key

Disassembly:
sub esp, 0x144
and dword [esp], 0
push ebx
push ebp
push esi
push edi
push 0x103
lea eax, [esp + 0x55]
push 0
push eax
mov byte [esp + 0x5c], 0
call fcn.0040a870
add esp, 0xc
call fcn.00401294
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
mov ebp, eax
mov ebx, str.SoftwareAppDataLow
test ebp, ebp
je 0x404400
lea eax, [esp + 0x10]
push eax
push ebx
push ebp
call edi
test eax, eax
je 0x404411
lea eax, [esp + 0x10]
push eax
push ebx
push 0x80000001
call edi
test eax, eax
jne 0x404428
push str.FreeWorkzSettings
push dword [esp + 0x14]
call esi
push dword [esp + 0x10]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x404440
cmp dword [esp + 0x10], 0
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x40443b
push dword [esp + 0x10]
call ebx
test ebp, ebp
je 0x404442
push ebp
call ebx
lea eax, [esp + 0x10]
push eax
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects
push 0x80000002
call edi
mov edi, str.D1ECD019_8423_43de_98D1_7892AF2DA309
push edi
push dword [esp + 0x14]
call esi
push edi
push dword [esp + 0x14]
call esi
push dword [esp + 0x10]
call ebx
push edi
mov edi, dword [sym.imp.SHLWAPI.dll_wnsprintfA]
push str.AppID_s
mov ebp, 0x104
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
mov ebx, 0x80000000
push ebx
call esi
push str.D1ECD019_8423_43de_98D1_7892AF2DA309
push str.SOFTWAREClassesCLSID_sInprocServer32
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push ebx
call esi
push str.D1ECD019_8423_43de_98D1_7892AF2DA309
push str.SOFTWAREClassesCLSID_s
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push ebx
call esi
push str.D1ECD019_8423_43de_98D1_7892AF2DA309
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects
push 0x4112c0
lea eax, [esp + 0x5c]
push ebp
push eax
call edi
add esp, 0x14
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push str.D1ECD019_8423_43de_98D1_7892AF2DA309
push str.CLSID_sInprocServer32
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push ebx
call esi
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push str.D1ECD019_8423_43de_98D1_7892AF2DA309
push str.CLSID_sInprocServer32
push ebp
lea eax, [esp + 0x5c]
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push ebx
call esi
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push str.D1ECD019_8423_43de_98D1_7892AF2DA309
push str.CLSID_s
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push ebx
call esi
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push str.D1ECD019_8423_43de_98D1_7892AF2DA309
push str.CLSID_s
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push ebx
call esi
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
and dword [esp + 0x30], 0
and dword [esp + 0x14], 0
mov eax, str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories40FC6ED3_2438_11CF_A3DB_080036F12502
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories7DD95801_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x20], str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories7DD95802_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x24], str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories
mov dword [esp + 0x28], str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Insertable
mov dword [esp + 0x2c], str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12
push eax
push ebx
call esi
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x18]
test eax, eax
jne 0x4045d4
and dword [esp + 0x30], 0
and dword [esp + 0x14], 0
mov eax, str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories40FC6ED3_2438_11CF_A3DB_080036F12502
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories7DD95801_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x20], str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories7DD95802_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x24], str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Implemented_Categories
mov dword [esp + 0x28], str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12Insertable
mov dword [esp + 0x2c], str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12
push eax
push 0x80000002
call esi
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x18]
test eax, eax
jne 0x404623
push str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12
lea eax, [esp + 0x54]
push ebp
push eax
call edi
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push ebx
call esi
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12InprocServer32
lea eax, [esp + 0x54]
push ebp
push eax
call edi
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push ebx
call esi
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12InprocServer32
lea eax, [esp + 0x54]
push ebp
push eax
call edi
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push ebx
call esi
push str.SOFTWAREClassesCLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12
lea eax, [esp + 0x54]
push ebp
push eax
call edi
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push ebx
call esi
push str.CLSIDBF188B93_ABA5_4F5B_8AE4_22D9B15ECF12InprocServer32
lea eax, [esp + 0x54]
push ebp
push eax
call edi
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push ebx
call esi
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push str.295296CF_D474_4b2d_A3BB_9D75CC81BA06
push str.Software_s
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
push 0x410cf8
push str.Software_s
lea eax, [esp + 0x58]
push ebp
push eax
call edi
add esp, 0x10
lea eax, [esp + 0x50]
push eax
push 0x80000002
call esi
xor ebp, ebp
mov eax, str.CLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories40FC6ED3_2438_11CF_A3DB_080036F12502
mov edi, str.SOFTWAREClassesCLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories40FC6ED3_2438_11CF_A3DB_080036F12502
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], str.CLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories7DD95801_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x20], str.CLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories7DD95802_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x24], str.CLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories
mov dword [esp + 0x28], str.CLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DInsertable
mov dword [esp + 0x2c], str.CLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2D
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], str.SOFTWAREClassesCLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories7DD95801_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x3c], str.SOFTWAREClassesCLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories7DD95802_9882_11CF_9FA9_00AA006C42C4
mov dword [esp + 0x40], str.SOFTWAREClassesCLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DImplemented_Categories
mov dword [esp + 0x44], str.SOFTWAREClassesCLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2DInsertable
mov dword [esp + 0x48], str.SOFTWAREClassesCLSID8EC16B29_F9A2_49d5_B5A3_A2E565630E2D
mov dword [esp + 0x4c], ebp
push eax
push ebx
call esi
mov eax, dword [esp + ebp*4 + 0x1c]
inc ebp
test eax, eax
jne 0x404785
xor ebx, ebx
push edi
push 0x80000002
call esi
mov edi, dword [esp + ebx*4 + 0x38]
inc ebx
test edi, edi
jne 0x404794
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x144
ret