Function at 0x4320ee
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push edi
cmp dword [ebp + 0xc], 0
jne 0x432108
mov eax, 2
jmp 0x43242b
lea eax, [ebp - 8]
push eax
push 0x4debf0
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x43212a
mov eax, 3
jmp 0x43242b
mov dword [ebp - 0xc], 4
mov dword [ebp - 4], 0
mov byte [ebp - 0x11c], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x11b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x4debfc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
jne 0x4321a4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4dec08
push 0x104
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00403f10
add esp, 0x10
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 2
jmp 0x432405
push 0x4dec2c
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4321f8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4dec38
push 0x104
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00403f10
add esp, 0x10
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 2
jmp 0x432405
lea eax, [ebp - 0x124]
push eax
push 0
push 0
push 3
mov ecx, dword [ebp - 8]
push ecx
call dword [ebp - 0x10]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xc0000023
je 0x432257
mov edx, dword [ebp - 0x120]
push edx
push 0x4dec5c
push 0x104
lea eax, [ebp - 0x11c]
push eax
call fcn.00403f10
add esp, 0x10
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x432405
mov edx, dword [ebp - 0x124]
sub edx, 0x12
mov eax, dword [ebp + 0xc]
cmp dword [eax], edx
jae 0x432281
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0x124]
sub ecx, 0x12
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
jmp 0x432405
mov eax, dword [ebp - 0x124]
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4322a6
mov dword [ebp - 0xc], 5
jmp 0x432405
mov ecx, dword [ebp - 0x124]
push ecx
push 0
mov edx, dword [ebp - 4]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
lea eax, [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp - 4]
push edx
push 3
mov eax, dword [ebp - 8]
push eax
call dword [ebp - 0x10]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x43231e
mov ecx, dword [ebp - 0x120]
push ecx
push 0x4dec7c
push 0x104
lea edx, [ebp - 0x11c]
push edx
call fcn.00403f10
add esp, 0x10
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x432405
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 0x14], ecx
push 0x4dec98
push 0
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.SHLWAPI.dll_StrRStrIW]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x432373
push 0x4decac
push 0x104
lea eax, [ebp - 0x11c]
push eax
call fcn.00403f10
add esp, 0xc
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x432405
push str.SoftWare
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
jne 0x432394
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [eax - 2]
cmp ecx, 0x5c
je 0x4323c3
push 0x4decd8
push 0x104
lea edx, [ebp - 0x11c]
push edx
call fcn.00403f10
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x432405
mov ecx, dword [ebp - 0x18]
mov word [ecx], 0
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0041a560
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ntdll.dll_wcslen]
add esp, 4
lea ecx, [eax + eax + 2]
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov dword [ebp - 0xc], 0
xor eax, eax
test eax, eax
jne 0x432138
cmp dword [ebp - 4], 0
je 0x432418
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.0043ed70
mov ecx, eax
call fcn.0043f54d
mov eax, dword [ebp - 0xc]
pop edi
mov esp, ebp
pop ebp
ret