Function at 0x412430
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, dword [0x447e38]
sub esp, 0x298
test eax, eax
push esi
push edi
je 0x4125c7
mov ecx, dword [eax + 0x5ebc]
test ecx, ecx
je 0x4125c7
push 0x4463c5
mov byte [0x4463c4], 0x4e
call fcn.004147d0
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x200
push 0x441ad0
push str.Read_profile
sub eax, ecx
push 0x440ae4
push eax
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4463c4
push ecx
call fcn.0041f19c
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
push 0x4463c4
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x4488a8
add ecx, 0x4463c4
push ecx
call fcn.00414880
mov eax, dword [0x447e38]
add esp, 0x20
mov cl, byte [eax + 0x5ec0]
lea edi, [eax + 0x5ec0]
test cl, cl
je 0x4125b3
mov ecx, dword [str.hh.mm]
mov dx, word [0x440ae0]
mov dword [esp + 0x14], ecx
or ecx, 0xffffffff
xor eax, eax
mov word [esp + 0x18], dx
mov word [esp + 0x1a], 0
lea edx, [esp + 0xa0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dx, word [0x4463c8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x14]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x4463c5]
push str.time
mov word [esp + 0x1c], cx
lea ecx, [esp + 0xa8]
push ecx
mov word [esp + 0x23], dx
call fcn.00417780
lea edx, [esp + 0xac]
push 0x4409c4
push edx
call fcn.0041f85a
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4125c7
push esi
push 0x4463c4
call fcn.0041f6fc
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + 0x4463c3], 0xa
je 0x4125a8
push esi
push 0x440ad0
call fcn.0041f6fc
add esp, 8
push esi
call fcn.0041f74a
add esp, 4
jmp 0x4125c7
mov eax, dword [eax + 0x72b4]
push 0x4463c4
push eax
call fcn.00408560
add esp, 8
mov ecx, 0x101
mov eax, 0x100
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x8c], ecx
mov ecx, 4
mov edx, 0x1f40
mov dword [esp + 0xc], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x10], ecx
lea ecx, [esp + 8]
push ecx
push 1
push 0
push str.SoftwareSAPSAPGUI_FrontSAP_Frontend_ServerCustomize
push 0x80000001
mov dword [esp + 0x40], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x6c], 3
mov dword [esp + 0x74], 3
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], 0x28
mov dword [esp + 0xa4], 0x50
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [esp + 0x7c]
add eax, 0x476c
push edx
push eax
push 0
push 0
push str.GuiXT.ComponentGuiXT
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x98]
add eax, 0x4770
push edx
push eax
push 0
push 0
push str.GuiXT.ComponentInputAssistant
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x24]
add eax, 0x4774
push edx
push eax
push 0
push 0
push str.GuiXT.ComponentViewer
push ecx
call esi
lea edx, [esp + 0x64]
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
add eax, 0x4778
push edx
push eax
push 0
push 0
push str.GuiXT.ComponentDesigner
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x2c]
add eax, 0x104
push edx
push eax
push 0
push 0
push str.GuiXT.Directory0
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x84]
add eax, 0x204
push edx
push eax
push 0
push 0
push str.GuiXT.Directory1
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x34]
add eax, 0x304
push edx
push eax
push 0
push 0
push str.GuiXT.Directory2
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x6c]
add eax, 0x404
push edx
push eax
push 0
push 0
push str.GuiXT.Directory3
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x3c]
add eax, 0x504
push edx
push eax
push 0
push 0
push str.GuiXT.Directory4
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x94]
add eax, 0x604
push edx
push eax
push 0
push 0
push str.GuiXT.UserCatalogue
push ecx
call esi
mov eax, dword [0x447e38]
lea edx, [esp + 0x44]
add eax, 8
push edx
push eax
mov ecx, dword [esp + 0x10]
push 0
push 0
push str.GuiXT.HelpCatalogue
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x74]
add eax, 0x704
push edx
push eax
push 0
push 0
push str.GuiXT.TextEditor
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x4c]
add eax, 0x930
push edx
push eax
push 0
push 0
push str.GuiXT.History
push ecx
call esi
mov eax, dword [0x447c50]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x8c]
add eax, 0xa30
push edx
push eax
push 0
push 0
push str.GuiXT.InputSets
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0xc]
add eax, 0x2370
push edx
push eax
push 0
push 0
push str.GuiXT.HistoryUpdate
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0xc]
add eax, 0x2374
push edx
push eax
push 0
push 0
push str.GuiXT.HistoryNoRightButton
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0xc]
add eax, 0x2378
push edx
push eax
push 0
push 0
push str.GuiXT.HistoryNoMiddleButton
push ecx
call esi
mov edx, dword [0x447e38]
lea eax, [esp + 0xc]
push eax
mov dword [edx + 0x237c], 1
mov ecx, dword [0x447e38]
add ecx, 0x237c
push ecx
push 0
push 0
mov edx, dword [esp + 0x18]
push str.GuiXT.HistoryIcon
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0xc]
add ecx, 0x108
push eax
push ecx
push 0
push 0
push str.GuiXT.Replication
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0xc]
add ecx, 0x2380
push eax
push ecx
push 0
push 0
push str.GuiXT.EnableControls
push edx
call esi
mov ecx, dword [0x447c50]
mov edx, dword [esp + 8]
lea eax, [esp + 0xc]
add ecx, 0x1030
push eax
push ecx
push 0
push 0
push str.GuiXT.CheckAllDirectories
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0xc]
add ecx, 0x2784
push eax
push ecx
push 0
push 0
push str.GuiXT.SapUrl
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0xc]
add ecx, 0x10c
push eax
push ecx
push 0
push 0
push str.GuiXT.CacheEncryption
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0xc]
add ecx, 0x4768
push eax
push ecx
push 0
push 0
push str.GuiXT.RfcCurrentCLient
push edx
call esi
mov ecx, dword [0x447c50]
mov edx, dword [esp + 8]
lea eax, [esp + 0x54]
add ecx, 0x82c
push eax
push ecx
push 0
push 0
push str.GuiXT.NoLanguageKey
push edx
call esi
mov ecx, dword [0x447c50]
mov edx, dword [esp + 8]
lea eax, [esp + 0x1c]
add ecx, 0xc30
push eax
push ecx
push 0
push 0
push str.GuiXT.Domains
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0x5c]
add ecx, 0x2260
push eax
push ecx
push 0
push 0
push str.GuiXT.Testkey
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0x9c]
add ecx, 0x220
push eax
push ecx
push 0
push 0
push str.GuiXT.Key
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0x20]
add ecx, 0x5fc0
push eax
push ecx
push 0
push 0
push str.GuiXT.EnableSystem
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0x28]
add ecx, 0x2828
push eax
push ecx
push 0
push 0
push str.GuiXT.RfcConnect
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0x30]
add ecx, 0x120
push eax
push ecx
push 0
push 0
push str.GuiXT.Options
push edx
call esi
mov ecx, dword [0x447e38]
mov edx, dword [esp + 8]
lea eax, [esp + 0x38]
add ecx, 0x2160
push eax
push ecx
push 0
push 0
push str.GuiXT.Userkey
push edx
call esi
lea eax, [esp + 0x40]
push eax
push str.System
push 0
mov ecx, dword [esp + 0x14]
push 0
push str.GuiXT.FontFacename
push ecx
call esi
mov eax, dword [esp + 8]
lea edx, [esp + 0x10]
push edx
push 0x447cb8
push 0
push 0
push str.GuiXT.FontWidth
push eax
call esi
mov edx, dword [esp + 8]
lea ecx, [esp + 0x10]
push ecx
push 0x447cbc
push 0
push 0
push str.GuiXT.FontHeight
push edx
call esi
mov ecx, dword [esp + 8]
lea eax, [esp + 0x10]
push eax
push 0x43a230
push 0
push 0
push str.GuiXT.FontWeight
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x48]
add eax, 0x11c
push edx
push eax
push 0
push 0
push str.GuiXT.StartMinimized
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x50]
add eax, 0x118
push edx
push eax
push 0
push 0
push str.GuiXT.StartHidden
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x58]
add eax, 0x236b
push edx
push eax
push 0
push 0
push str.GuiXT.IconTipField
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x60]
add eax, 0x2368
push edx
push eax
push 0
push 0
push str.GuiXT.IconTipBox
push ecx
call esi
mov eax, dword [0x447e38]
lea edx, [esp + 0x68]
add eax, 0x2384
push edx
push eax
mov ecx, dword [esp + 0x10]
push 0
push 0
push str.GuiXT.MaterialMask1
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x70]
add eax, 0x2484
push edx
push eax
push 0
push 0
push str.GuiXT.MaterialMask2
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x78]
add eax, 0x2584
push edx
push eax
push 0
push 0
push str.GuiXT.MaterialMask3
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x80]
add eax, 0x2684
push edx
push eax
push 0
push 0
push str.GuiXT.MaterialMask4
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x88]
add eax, 0x2788
push edx
push eax
push 0
push 0
push str.GuiXT.RfcUser
push ecx
call esi
mov eax, dword [0x447e38]
mov ecx, dword [esp + 8]
lea edx, [esp + 0x90]
add eax, 0x27d8
push edx
push eax
push 0
push 0
push str.GuiXT.RfcPassword
push ecx
call esi
mov ecx, dword [0x447e38]
pop edi
pop esi
mov dl, byte [ecx + 0x27d8]
lea eax, [ecx + 0x27d8]
test dl, dl
je 0x412cce
add ecx, 0x27b0
push eax
push ecx
call fcn.004032d0
add esp, 8
mov edx, dword [esp]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
add esp, 0x298
ret