Function at 0x43da80
Capabilities:
Check if file exists
Get file attributes
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9d4
mov eax, dword [0x48602c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x374], 0x104
mov dword [ebp - 0x44], 0x104
mov dword [ebp - 0x25c], 0
mov byte [ebp - 0x258], 0
push 0x103
push 0
lea eax, [ebp - 0x257]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov byte [ebp - 0x150], 0
push 0x103
push 0
lea ecx, [ebp - 0x14f]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov byte [ebp - 0x370], 0
push 0x103
push 0
lea edx, [ebp - 0x36f]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov ecx, 0xf
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionInstallerFolders
lea edi, [ebp - 0x40]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x25c]
push eax
push 0x101
push 0
lea ecx, [ebp - 0x40]
push ecx
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
je 0x43db53
xor eax, eax
jmp 0x43e13f
call fcn.0043d370
test eax, eax
je 0x43dd49
mov ecx, 0xc
mov esi, 0x4696c8
lea edi, [ebp - 0x480]
rep movsd dword es:[edi], dword [esi]
push 0xd4
push 0
lea edx, [ebp - 0x450]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x9cc], eax
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x370]
push edx
push 0
push 0
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x9cc]
push edx
mov eax, dword [ebp - 0x25c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
cmp eax, 0x103
je 0x43dd44
lea edx, [ebp - 0x150]
push edx
push 0x104
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.MSVCR80.dll_strcpy_s]
add esp, 0xc
lea ecx, [ebp - 0x480]
push ecx
lea edx, [ebp - 0x258]
push edx
call fcn.00407700
add esp, 8
mov dword [ebp - 0x484], eax
cmp dword [ebp - 0x484], 0
je 0x43dd2e
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x43dc4a
mov ecx, dword [ebp - 0x25c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x43e13f
push 0x4696f8
lea edx, [ebp - 0x258]
push edx
call fcn.00407700
add esp, 8
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x484]
mov byte [eax], 0
push 0x46970c
lea ecx, [ebp - 0x258]
push ecx
call sub.MSVCR80.dll_strlen
add esp, 4
mov edx, 0x104
sub edx, eax
push edx
mov eax, dword [ebp - 0x484]
push eax
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
mov cx, word [0x469720]
mov word [ebp - 0x590], cx
push 0x102
push 0
lea edx, [ebp - 0x58e]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x258]
push eax
push 0x104
lea ecx, [ebp - 0x590]
push ecx
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
push 0x469724
push 0x104
lea edx, [ebp - 0x590]
push edx
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
push 0x469734
push 0x104
lea eax, [ebp - 0x590]
push eax
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
mov dword [ebp - 0x488], 0
mov ecx, dword [ebp - 0x25c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x43e13f
mov dword [ebp - 0x374], 0x104
mov dword [ebp - 0x44], 0x104
jmp 0x43db88
jmp 0x43e130
call fcn.0043d390
test eax, eax
je 0x43df3f
mov ecx, 0xc
mov esi, str.Assessment_and_Deployment_KitDeployment_Tools_
lea edi, [ebp - 0x698]
rep movsd dword es:[edi], dword [esi]
push 0xd4
push 0
lea edx, [ebp - 0x668]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x9d0], eax
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x370]
push edx
push 0
push 0
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x9d0]
push edx
mov eax, dword [ebp - 0x25c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
cmp eax, 0x103
je 0x43df3a
lea edx, [ebp - 0x150]
push edx
push 0x104
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.MSVCR80.dll_strcpy_s]
add esp, 0xc
lea ecx, [ebp - 0x698]
push ecx
lea edx, [ebp - 0x258]
push edx
call fcn.00407700
add esp, 8
mov dword [ebp - 0x69c], eax
cmp dword [ebp - 0x69c], 0
je 0x43df24
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x43de40
mov ecx, dword [ebp - 0x25c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x43e13f
push 0x469768
lea edx, [ebp - 0x258]
push edx
call fcn.00407700
add esp, 8
mov dword [ebp - 0x69c], eax
mov eax, dword [ebp - 0x69c]
mov byte [eax], 0
push str.Deployment_Tools_
lea ecx, [ebp - 0x258]
push ecx
call sub.MSVCR80.dll_strlen
add esp, 4
mov edx, 0x104
sub edx, eax
push edx
mov eax, dword [ebp - 0x69c]
push eax
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
mov cx, word [0x469790]
mov word [ebp - 0x7a8], cx
push 0x102
push 0
lea edx, [ebp - 0x7a6]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x258]
push eax
push 0x104
lea ecx, [ebp - 0x7a8]
push ecx
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
push str.DandISetEnv.bat
push 0x104
lea edx, [ebp - 0x7a8]
push edx
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
push 0x4697a4
push 0x104
lea eax, [ebp - 0x7a8]
push eax
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
mov dword [ebp - 0x6a0], 0
mov ecx, dword [ebp - 0x25c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x43e13f
mov dword [ebp - 0x374], 0x104
mov dword [ebp - 0x44], 0x104
jmp 0x43dd7e
jmp 0x43e130
mov edx, dword [str.ToolsPETools_]
mov dword [ebp - 0x8b0], edx
mov eax, dword [0x4697ac]
mov dword [ebp - 0x8ac], eax
mov ecx, dword [0x4697b0]
mov dword [ebp - 0x8a8], ecx
mov dx, word [0x4697b4]
mov word [ebp - 0x8a4], dx
mov al, byte [0x4697b6]
mov byte [ebp - 0x8a2], al
push 0xf5
push 0
lea ecx, [ebp - 0x8a1]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov edx, 1
test edx, edx
je 0x43e130
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x9d4], eax
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x370]
push edx
push 0
push 0
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x9d4]
push edx
mov eax, dword [ebp - 0x25c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov dword [ebp - 0x8b4], eax
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
cmp dword [ebp - 0x8b4], 0
je 0x43dffe
jmp 0x43e130
lea edx, [ebp - 0x150]
push edx
push 0x104
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.MSVCR80.dll_strcpy_s]
add esp, 0xc
lea ecx, [ebp - 0x8b0]
push ecx
lea edx, [ebp - 0x258]
push edx
call fcn.00407700
add esp, 8
mov dword [ebp - 0x8b8], eax
cmp dword [ebp - 0x8b8], 0
je 0x43e11a
lea eax, [ebp - 0x8b0]
push eax
mov ecx, dword [ebp - 0x8b8]
push ecx
call dword [sym.imp.MSVCR80.dll__stricmp]
add esp, 8
test eax, eax
jne 0x43e11a
lea edx, [ebp - 0x150]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x43e088
mov eax, dword [ebp - 0x25c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x43e13f
mov cx, word [0x4697b8]
mov word [ebp - 0x9c8], cx
push 0x102
push 0
lea edx, [ebp - 0x9c6]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x150]
push eax
push 0x104
lea ecx, [ebp - 0x9c8]
push ecx
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
push str.pesetenv.cmd
push 0x104
lea edx, [ebp - 0x9c8]
push edx
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
push 0x4697cc
push 0x104
lea eax, [ebp - 0x9c8]
push eax
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
mov dword [ebp - 0x8bc], 0
mov ecx, dword [ebp - 0x25c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
jmp 0x43e13f
mov dword [ebp - 0x374], 0x104
mov dword [ebp - 0x44], 0x104
jmp 0x43df91
mov edx, dword [ebp - 0x25c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043ad38
mov esp, ebp
pop ebp
ret