Function at 0x414517
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov dword [ebp - 4], 0
push str.AutoDetect
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4145be
cmp dword [ebp - 8], 2
jne 0x4145a7
push 2
push 0x4cca74
push 1
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4145a2
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x4145be
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.COM1
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414654
cmp dword [ebp - 8], 2
jne 0x41463d
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414638
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x414654
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.COM2
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4146ea
cmp dword [ebp - 8], 2
jne 0x4146d3
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4146ce
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x4146ea
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.COM3
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414780
cmp dword [ebp - 8], 2
jne 0x414769
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414764
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x414780
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.COM4
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414816
cmp dword [ebp - 8], 2
jne 0x4147ff
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4147fa
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x414816
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.LPT1
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4148ac
cmp dword [ebp - 8], 2
jne 0x414895
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414890
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x4148ac
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.LPT2
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414942
cmp dword [ebp - 8], 2
jne 0x41492b
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414926
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x414942
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.LPT3
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4149d8
cmp dword [ebp - 8], 2
jne 0x4149c1
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4149bc
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x4149d8
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
push str.PortMode
lea eax, [ebp - 0x1c]
push eax
call fcn.0041a850
add esp, 8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414a6f
cmp dword [ebp - 8], 2
jne 0x414a58
push 5
push str.Auto
push 1
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x414a53
push 0x10003
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
jmp 0x414a6f
push 0x10006
call fcn.004054a2
add esp, 4
mov eax, 0xffffffff
jmp 0x414a76
xor eax, eax
jmp 0x414a76
pop edi
pop esi
pop ebx
leave
ret