Function at 0x41de10
Capabilities:
Delete registry value
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov eax, dword [0x4ff94c]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0xd0]
push eax
push 0x2001f
push 0
push str.SoftwarePRONTOTemp
push closesocket
mov dword [ebp - 0xd8], 0
mov byte [0x50efd4], 0
mov byte [0x50ecd8], 0
mov byte [0x50efb0], 0
mov byte [0x50eab0], 0
mov byte [0x509e4a], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x41e131
push ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0xcc]
push edx
push eax
push eax
mov eax, dword [ebp - 0xd0]
push str.tmp_log_4
mov ebx, 0xc8
push eax
mov byte [0x509e4a], 1
mov dword [ebp - 0xd4], ebx
call esi
test eax, eax
jne 0x41def3
mov ecx, 0x4d123c
lea eax, [ebp - 0xcc]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41dee0
test dl, dl
je 0x41dedc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41dee0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41dec0
xor eax, eax
jmp 0x41dee5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41def3
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0xd0]
push edi
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0xcc]
push edx
push 0
push 0
push str.tmp_log_1
push eax
mov dword [ebp - 0xd4], ebx
call esi
test eax, eax
je 0x41df27
mov byte [0x509e4a], 0
jmp 0x41df41
mov ecx, dword [ebp - 0xd8]
push ecx
mov edi, 0x50efb0
lea ecx, [ebp - 0xcc]
call fcn.0041db60
add esp, 4
mov ecx, dword [ebp - 0xd0]
lea edx, [ebp - 0xd4]
push edx
lea eax, [ebp - 0xcc]
push eax
push 0
push 0
push str.tmp_log_2
push ecx
mov dword [ebp - 0xd4], ebx
call esi
test eax, eax
je 0x41df74
mov byte [0x509e4a], 0
jmp 0x41df8e
mov edx, dword [ebp - 0xd8]
push edx
mov edi, 0x50ecd8
lea ecx, [ebp - 0xcc]
call fcn.0041db60
add esp, 4
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xcc]
push ecx
push 0
push 0
push str.tmp_log_3
push edx
mov dword [ebp - 0xd4], ebx
call esi
test eax, eax
je 0x41dfc1
mov byte [0x509e4a], 0
jmp 0x41dfdb
mov eax, dword [ebp - 0xd8]
push eax
mov edi, 0x50efd4
lea ecx, [ebp - 0xcc]
call fcn.0041db60
add esp, 4
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xd4]
push ecx
push 0x50eab0
push 0
push 0
push str.tmp_host
push edx
mov dword [ebp - 0xd4], 0x32
call esi
pop edi
test eax, eax
je 0x41e00f
mov byte [0x509e4a], 0
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xcc]
push ecx
push 0
push 0
push str.tmp_conn
push edx
mov dword [ebp - 0xd4], ebx
call esi
test eax, eax
je 0x41e045
mov byte [0x509e4a], 0
jmp 0x41e0c8
mov ecx, 0x4d12c4
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41e070
test dl, dl
je 0x41e06c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41e070
add eax, 2
add ecx, 2
test dl, dl
jne 0x41e050
xor eax, eax
jmp 0x41e075
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41e085
mov dword [0x4fac14], 0x3e5
jmp 0x41e0c8
mov ecx, 0x4d1218
lea eax, [ebp - 0xcc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41e0b0
test dl, dl
je 0x41e0ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41e0b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41e090
xor eax, eax
jmp 0x41e0b5
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
add ecx, 0x3e6
mov dword [0x4fac14], ecx
mov edx, dword [ebp - 0xd0]
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push str.tmp_log_1
push edx
call esi
mov eax, dword [ebp - 0xd0]
push str.tmp_log_2
push eax
call esi
mov ecx, dword [ebp - 0xd0]
push str.tmp_log_3
push ecx
call esi
mov edx, dword [ebp - 0xd0]
push str.tmp_log_4
push edx
call esi
mov eax, dword [ebp - 0xd0]
push str.tmp_host
push eax
call esi
mov ecx, dword [ebp - 0xd0]
push str.tmp_conn
push ecx
call esi
mov edx, dword [ebp - 0xd0]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret