Function at 0x42dd7e
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push edi
cmp dword [ebp + 0xc], 0
jne 0x42dd98
mov eax, 2
jmp 0x42e0bb
lea eax, [ebp - 8]
push eax
push 0x4d80e0
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x42ddba
mov eax, 3
jmp 0x42e0bb
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 0x4d80ec
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
jne 0x42de34
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4d80f8
push 0x104
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00403f50
add esp, 0x10
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 2
jmp 0x42e095
push 0x4d811c
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 0x42de88
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4d8128
push 0x104
lea ecx, [ebp - 0x11c]
push ecx
call fcn.00403f50
add esp, 0x10
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 2
jmp 0x42e095
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 0x42dee7
mov edx, dword [ebp - 0x120]
push edx
push 0x4d814c
push 0x104
lea eax, [ebp - 0x11c]
push eax
call fcn.00403f50
add esp, 0x10
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x42e095
mov edx, dword [ebp - 0x124]
sub edx, 0x12
mov eax, dword [ebp + 0xc]
cmp dword [eax], edx
jae 0x42df11
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp - 0x124]
sub ecx, 0x12
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
jmp 0x42e095
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 0x42df36
mov dword [ebp - 0xc], 5
jmp 0x42e095
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 0x42dfae
mov ecx, dword [ebp - 0x120]
push ecx
push 0x4d816c
push 0x104
lea edx, [ebp - 0x11c]
push edx
call fcn.00403f50
add esp, 0x10
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x42e095
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 0x14], ecx
push 0x4d8188
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 0x42e003
push 0x4d819c
push 0x104
lea eax, [ebp - 0x11c]
push eax
call fcn.00403f50
add esp, 0xc
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x42e095
push str.SoftWare
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
jne 0x42e024
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [eax - 2]
cmp ecx, 0x5c
je 0x42e053
push 0x4d81c8
push 0x104
lea edx, [ebp - 0x11c]
push edx
call fcn.00403f50
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc], 4
jmp 0x42e095
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.0042ea20
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 0x42ddc8
cmp dword [ebp - 4], 0
je 0x42e0a8
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.0043ae50
mov ecx, eax
call fcn.0043b5f9
mov eax, dword [ebp - 0xc]
pop edi
mov esp, ebp
pop ebp
ret