Function at 0x453160
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x4ea5e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x194]
push edi
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
push 0
push str.FileTransferEnabled
mov edi, 4
push ebx
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4531b3
cmp dword [ebp - 8], edi
jne 0x4531b3
cmp dword [ebp - 0x14], edi
jne 0x4531b3
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x198]
lea edx, [ebp - 8]
push edx
mov dword [esi + 0x194], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.FTUserImpersonation
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4531f6
cmp dword [ebp - 0x14], edi
jne 0x4531f6
cmp dword [ebp - 8], edi
jne 0x4531f6
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x19c]
mov dword [esi + 0x198], eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.BlankMonitorEnabled
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453239
cmp dword [ebp - 0x14], edi
jne 0x453239
cmp dword [ebp - 8], edi
jne 0x453239
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x19c], eax
mov eax, dword [esi + 0x1a0]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0
push str.BlankInputsOnly
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45327c
cmp dword [ebp - 0x14], edi
jne 0x45327c
cmp dword [ebp - 8], edi
jne 0x45327c
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x1a4]
lea edx, [ebp - 8]
push edx
mov dword [esi + 0x1a0], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.DefaultScale
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4532bf
cmp dword [ebp - 0x14], edi
jne 0x4532bf
cmp dword [ebp - 8], edi
jne 0x4532bf
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0xc60]
mov dword [esi + 0x1a4], eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.primary
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453302
cmp dword [ebp - 0x14], edi
jne 0x453302
cmp dword [ebp - 8], edi
jne 0x453302
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xc60], eax
mov eax, dword [esi + 0xc64]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0
push str.secondary
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453345
cmp dword [ebp - 0x14], edi
jne 0x453345
cmp dword [ebp - 8], edi
jne 0x453345
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x1b0]
lea edx, [ebp - 8]
push edx
mov dword [esi + 0xc64], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.UseDSMPlugin
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453388
cmp dword [ebp - 0x14], edi
jne 0x453388
cmp dword [ebp - 8], edi
jne 0x453388
mov eax, dword [ebp - 0x18]
lea ecx, [esi + 0x1b4]
push ebx
mov dword [esi + 0x1b0], eax
call fcn.00453d60
mov edx, dword [esi + 0x134]
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.SocketConnect
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4533d7
cmp dword [ebp - 0x14], edi
jne 0x4533d7
cmp dword [ebp - 8], edi
jne 0x4533d7
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x134], eax
mov eax, dword [esi + 0x138]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0
push str.HTTPConnect
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45341a
cmp dword [ebp - 0x14], edi
jne 0x45341a
cmp dword [ebp - 8], edi
jne 0x45341a
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x13c]
lea edx, [ebp - 8]
push edx
mov dword [esi + 0x138], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.AutoPortSelect
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45345d
cmp dword [ebp - 0x14], edi
jne 0x45345d
cmp dword [ebp - 8], edi
jne 0x45345d
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x140]
mov dword [esi + 0x13c], eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.PortNumber
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4534a0
cmp dword [ebp - 0x14], edi
jne 0x4534a0
cmp dword [ebp - 8], edi
jne 0x4534a0
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x140], eax
add eax, 0xffffff9c
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x14]
push edx
push 0
push str.HTTPPortNumber
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4534e0
cmp dword [ebp - 0x14], edi
jne 0x4534e0
cmp dword [ebp - 8], edi
jne 0x4534e0
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x144], eax
mov eax, dword [esi + 0x168]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0
push str.IdleTimeout
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453523
cmp dword [ebp - 0x14], edi
jne 0x453523
cmp dword [ebp - 8], edi
jne 0x453523
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x16c]
lea edx, [ebp - 8]
push edx
mov dword [esi + 0x168], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.RemoveWallpaper
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453566
cmp dword [ebp - 0x14], edi
jne 0x453566
cmp dword [ebp - 8], edi
jne 0x453566
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x170]
mov dword [esi + 0x16c], eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.RemoveEffects
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4535a9
cmp dword [ebp - 0x14], edi
jne 0x4535a9
cmp dword [ebp - 8], edi
jne 0x4535a9
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x170], eax
mov eax, dword [esi + 0x174]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0
push str.RemoveFontSmoothing
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4535ec
cmp dword [ebp - 0x14], edi
jne 0x4535ec
cmp dword [ebp - 8], edi
jne 0x4535ec
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x178]
lea edx, [ebp - 8]
push edx
mov dword [esi + 0x174], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.RemoveAero
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45362f
cmp dword [ebp - 0x14], edi
jne 0x45362f
cmp dword [ebp - 8], edi
jne 0x45362f
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x158]
mov dword [esi + 0x178], eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.QuerySetting
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453672
cmp dword [ebp - 0x14], edi
jne 0x453672
cmp dword [ebp - 8], edi
jne 0x453672
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x158], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x1a4]
call eax
mov ecx, dword [esi + 0x164]
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.QueryTimeout
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4536c6
cmp dword [ebp - 0x14], edi
jne 0x4536c6
cmp dword [ebp - 8], edi
jne 0x4536c6
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x164], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x1b8]
call eax
mov ecx, dword [esi + 0x160]
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.QueryAccept
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45371a
cmp dword [ebp - 0x14], edi
jne 0x45371a
cmp dword [ebp - 8], edi
jne 0x45371a
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x160], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x1ac]
call eax
mov ecx, dword [esi + 0x15c]
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.QueryIfNoLogon
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45376e
cmp dword [ebp - 0x14], edi
jne 0x45376e
cmp dword [ebp - 8], edi
jne 0x45376e
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x15c], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x1c0]
call eax
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x18]
push eax
push 0
push str.Password
push ebx
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 8
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4537c9
cmp dword [ebp - 0x14], 8
jg 0x4537c9
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov dword [esi + 0x148], ecx
mov dword [esi + 0x14c], edx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x18]
push edx
push 0
push str.Password2
push ebx
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 8
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x45380d
cmp dword [ebp - 0x14], 8
jg 0x45380d
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov dword [esi + 0x150], eax
mov dword [esi + 0x154], ecx
mov edx, dword [esi + 0x17c]
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.InputsEnabled
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45384a
cmp dword [ebp - 0x14], edi
jne 0x45384a
cmp dword [ebp - 8], edi
jne 0x45384a
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x17c], eax
mov eax, dword [esi + 0x180]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0
push str.LockSetting
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x45388d
cmp dword [ebp - 0x14], edi
jne 0x45388d
cmp dword [ebp - 8], edi
jne 0x45388d
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x184]
lea edx, [ebp - 8]
push edx
mov dword [esi + 0x180], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push str.LocalInputsDisabled
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x4538d0
cmp dword [ebp - 0x14], edi
jne 0x4538d0
cmp dword [ebp - 8], edi
jne 0x4538d0
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x188]
mov dword [esi + 0x184], eax
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x14]
push edx
push 0
push str.EnableJapInput
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x453913
cmp dword [ebp - 0x14], edi
jne 0x453913
cmp dword [ebp - 8], edi
jne 0x453913
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x188], eax
mov eax, dword [esi + 0x18c]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 0
push str.clearconsole
push ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x45395e
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x18c], ecx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x14], edi
je 0x45397b
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x18c], edx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 8], edi
jne 0x453986
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
xor ecx, ebp
mov dword [esi + 0x18c], eax
pop edi
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret