Function at 0x46d0d9
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
push ebx
mov edx, 8
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x46d0e0
call fcn.005423e0
call fcn.0048021b
push dword [0x72b4e8]
call fcn.0053a9ed
lea eax, [esp]
push eax
push 0x20019
push 0
mov eax, str.HARDWAREDEVICEMAPSERIALCOMM
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call sub.ADVAPI32.dll_RegOpenKeyExW
mov ebx, eax
and ebx, ebx
jne 0x46d335
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push 0x106
call fcn.005405f0
lea eax, [esp + 0xc]
push eax
call fcn.00542280
mov dword [esp + 4], 0x104
push 0
push 0
push 0
push 0
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
movsx eax, word [esp + 0x30]
push eax
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegEnumValueW
mov ebx, eax
and ebx, ebx
jne 0x46d326
mov edx, dword [esp + 8]
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542310
lea eax, [esp + 0x10]
push eax
call fcn.00542280
push dword [esp + 0xc]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
je 0x46d1bf
jmp 0x46d32d
mov dword [esp + 4], 0x104
mov dword [esp + 0x14], 0
lea eax, [esp + 4]
push eax
mov eax, dword [esp + 0xc]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push dword [esp + 0x1c]
push dword [esp + 0x14]
call sub.ADVAPI32.dll_RegQueryValueExW
mov ebx, eax
and ebx, ebx
jne 0x46d317
mov edx, dword [esp + 8]
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542310
lea eax, [esp + 0x14]
push eax
call fcn.00542280
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push 3
push dword [esp + 0x24]
call fcn.0053ffc0
call fcn.004fa482
add dword [esp], edx
call fcn.0053f5c0
call fcn.00542370
mov edx, 0x636688
pop ecx
push ecx
call fcn.004fa4f0
mov ecx, eax
call fcn.004fa4a0
je 0x46d2d0
push edx
call fcn.00542240
pop edx
push eax
mov edx, 0x636688
push edx
call fcn.00542310
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
mov eax, 0x620af4
push eax
push 3
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
mov eax, 0x636688
push eax
push dword [esp + 0x30]
call fcn.0053fb20
call fcn.004fa482
add dword [esp], edx
call fcn.0053fed0
pop eax
lea eax, [esp + 0x14]
push eax
call fcn.00542280
push dword [0x72b4e8]
call fcn.0053a94f
mov edx, dword [esp + 0xc]
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542310
mov ebp, dword [0x72b4ec]
lea eax, [ebp + 8]
push eax
call fcn.00542280
mov edx, dword [esp + 0x10]
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542310
lea eax, [ebp + 0xc]
push eax
call fcn.00542280
movsx ebx, word [esp + 0x18]
inc ebx
push ebx
pop eax
mov word [esp + 0x18], ax
jmp 0x46d328
jmp 0x46d32d
jmp 0x46d14e
push dword [esp]
call sub.ADVAPI32.dll_RegCloseKey
push 8
push 4
push 0
push dword [0x72b4e8]
call fcn.004fce20
push dword [0x72b4e8]
call fcn.0053a906
push dword [0x72b4e8]
call fcn.0053a91b
or eax, eax
je 0x46d495
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push 3
mov ebp, dword [0x72b4ec]
push dword [ebp + 0xc]
call fcn.0053ffc0
call fcn.004fa482
add dword [esp], edx
call fcn.0053f5c0
call fcn.00542370
mov edx, 0x636688
pop ecx
push ecx
call fcn.004fa4f0
mov ecx, eax
call fcn.004fa4a0
je 0x46d439
push edx
call fcn.00542240
pop edx
push eax
mov edx, 0x636688
push edx
call fcn.00542310
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
mov eax, 0x636688
push eax
mov ebp, dword [0x72b4ec]
push dword [ebp + 0xc]
call fcn.0053fb20
call fcn.004fa482
add dword [esp], edx
call fcn.0053fc30
call fcn.004fa4e0
push edx
push eax
call fcn.0053f630
pop eax
lea eax, [ebp + 0xc]
push eax
call fcn.00542280
push 0x40
push 0x40
push 0
push 0x3f800000
push 8
push 0
push 0x2580
mov ebp, dword [0x72b4ec]
push dword [ebp + 0xc]
push 0xffffffff
call fcn.00502b56
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
je 0x46d490
mov ebp, dword [0x72b4ec]
mov dword [ebp + 0x10], 1
push dword [esp + 0x1c]
call fcn.005029ce
jmp 0x46d35a
xor eax, eax
push dword [esp + 0xc]
call fcn.00542440
push dword [esp + 0x10]
call fcn.00542440
push dword [esp + 8]
call fcn.00542440
add esp, 0x20
pop ebx
pop ebp
ret