Function at 0x413a60
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48c
mov eax, dword [0x4a39f8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor eax, eax
mov esi, ecx
push 0x62
push eax
lea ecx, [ebp - 0xca]
mov edi, edx
push ecx
mov dword [ebp - 0x484], esi
mov dword [ebp - 0x480], edi
mov word [ebp - 0xcc], ax
call fcn.00405300
xor edx, edx
push 0x208
push edx
lea eax, [ebp - 0x466]
push eax
mov word [ebp - 0x468], dx
call fcn.00405300
add esp, 0x18
test esi, esi
je 0x413ea5
test edi, edi
je 0x413ea5
cmp dword [edi], 0
je 0x413ea5
push 0x32
lea ecx, [ebp - 0xcc]
push ecx
push 0x478b18
call dword [0x4653b0]
test eax, eax
jne 0x413b0d
push str.cant_convert_guid_to_string
push 1
call fcn.004343f0
add esp, 8
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040506e
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0xcc]
push edx
push str.GetBridgeGUID:_guid_is__S
push 0x20
call fcn.004343f0
lea eax, [ebp - 0xcc]
push eax
push str.SYSTEMCurrentControlSetControlNetwork_s
lea ecx, [ebp - 0x468]
push 0x105
push ecx
call fcn.00457d45
lea edx, [ebp - 0x468]
push edx
push str.GetBridgeGUID:_key_name_is__S
push 0x20
call fcn.004343f0
add esp, 0x28
lea eax, [ebp - 0x470]
push eax
push 9
push 0
lea ecx, [ebp - 0x468]
push ecx
push 0x80000002
call dword [0x4650cc]
test eax, eax
je 0x413b9e
cmp eax, 2
jne 0x413b8c
push eax
lea edx, [ebp - 0x468]
push edx
push str.GetBridgeGUID:_netservice_class_key_not_found_in_registry__S:_0x_08x
push eax
jmp 0x413eae
push eax
lea eax, [ebp - 0x468]
push eax
push str.GetBridgeGUID:_couldnt_open__S_for_enumeration:_0x_08x
jmp 0x413eac
lea ecx, [ebp - 0x468]
push ecx
push str.GetBridgeGUID:_opened__S_for_enumeration
push 0x10
call fcn.004343f0
xor edx, edx
push 0x62
push edx
lea eax, [ebp - 0x66]
push eax
mov word [ebp - 0x68], dx
call fcn.00405300
add esp, 0x18
xor esi, esi
lea ecx, [ebp - 0x48c]
push ecx
mov ecx, dword [ebp - 0x470]
push esi
push esi
push esi
lea edx, [ebp - 0x478]
push edx
lea eax, [ebp - 0x68]
push eax
push esi
push ecx
mov dword [ebp - 0x478], 0x32
mov dword [ebp - 0x474], esi
call dword [0x465090]
test eax, eax
jne 0x413def
mov edi, dword [0x4650c4]
push ebx
mov ebx, 0xc8
nop
xor edx, edx
push 0xc6
push edx
lea eax, [ebp - 0x192]
push eax
inc esi
mov word [ebp - 0x194], dx
call fcn.00405300
xor ecx, ecx
push 0xc6
push ecx
lea edx, [ebp - 0x25a]
push edx
mov dword [ebp - 0x47c], ebx
mov word [ebp - 0x25c], cx
call fcn.00405300
mov edx, dword [ebp - 0x470]
add esp, 0x18
lea eax, [ebp - 0x46c]
push eax
push 1
push 0
lea ecx, [ebp - 0x68]
push ecx
push edx
mov dword [ebp - 0x478], 0x32
call dword [0x4650cc]
test eax, eax
je 0x413cb1
cmp eax, 2
jne 0x413c98
push eax
lea eax, [ebp - 0x68]
push eax
push str.GetBridgeGUID:_net_class_instance_key_not_found_in_registry__S:_0x_08x
push 2
call fcn.004343f0
add esp, 0x10
jmp 0x413d70
push eax
lea ecx, [ebp - 0x68]
push ecx
push str.GetBridgeGUID:_couldnt_open_instance__S_for_enumeration:_0x_08x
push 1
call fcn.004343f0
add esp, 0x10
jmp 0x413d70
push str.VMware_Bridge_Protocol
lea edx, [ebp - 0x25c]
push 0x32
push edx
call fcn.00457d45
mov edx, dword [ebp - 0x46c]
add esp, 0xc
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x194]
push ecx
push 0
push 0
push 0x46d7d8
push edx
call edi
test eax, eax
jne 0x413d09
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x194]
push ecx
call fcn.00458117
add esp, 8
test eax, eax
je 0x413da0
push str.vmware_bridge
lea edx, [ebp - 0x25c]
push 0x32
push edx
call fcn.00457d45
mov edx, dword [ebp - 0x46c]
add esp, 0xc
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x194]
push ecx
push 0
push 0
push str.ComponentId
push edx
mov dword [ebp - 0x47c], ebx
call edi
test eax, eax
jne 0x413d63
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x194]
push ecx
call fcn.00458117
add esp, 8
test eax, eax
je 0x413dc2
mov edx, dword [ebp - 0x46c]
push edx
call dword [0x4650d0]
lea eax, [ebp - 0x48c]
push eax
mov eax, dword [ebp - 0x470]
push 0
push 0
push 0
lea ecx, [ebp - 0x478]
push ecx
lea edx, [ebp - 0x68]
push edx
push esi
push eax
call dword [0x465090]
test eax, eax
je 0x413c10
jmp 0x413de8
push str.GetBridgeGUID:_found_bridge_service_by_description
push 0x20
mov dword [ebp - 0x474], 1
call fcn.004343f0
mov ecx, dword [ebp - 0x46c]
add esp, 8
push ecx
jmp 0x413de2
push str.found_bridge_by_component_ID
push 0x20
mov dword [ebp - 0x474], 1
call fcn.004343f0
mov edx, dword [ebp - 0x46c]
add esp, 8
push edx
call dword [0x4650d0]
mov edi, dword [ebp - 0x480]
pop ebx
mov eax, dword [ebp - 0x470]
push eax
call dword [0x4650d0]
cmp dword [ebp - 0x474], 0
jne 0x413e26
push str.GetBridgeGUID:_didnt_find_bridge
push 0x20
call fcn.004343f0
add esp, 8
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040506e
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x68]
push ecx
push str.GetBridgeGUID:_read_bridge_guid:__S
push 0x20
call fcn.004343f0
lea eax, [ebp - 0x68]
add esp, 0xc
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x413e40
sub eax, edx
sar eax, 1
lea esi, [eax + 1]
cmp esi, dword [edi]
jbe 0x413e77
push str.GetBridgeGUID:_insuffcient_caller_buffer_to_copy_result
push 1
call fcn.004343f0
add esp, 8
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040506e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x484]
lea edx, [esi + esi]
push edx
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00403f20
add esp, 0xc
mov dword [edi], esi
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040506e
mov esp, ebp
pop ebp
ret
push edi
push esi
push str.GetBridgeGUID:_invalid_parameters:_0x_08x_0x_08x
push 1
call fcn.004343f0
mov ecx, dword [ebp - 4]
add esp, 0x10
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.0040506e
mov esp, ebp
pop ebp
ret