Function at 0x4131d8
Capabilities:
Query or enumerate registry value
Read .ini file

Disassembly:
call 0x413203
inc ebx
popal
outsb dx, byte [esi]
je 0x413202
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
and byte gs:[ebp + 0x65], ch
insd dword es:[edi], dx
outsd dx, dword [esi]
jb 0x41326a
and byte [esi + 0x6f], ah
jb 0x413216
jae 0x413271
outsb dx, byte [esi]
je 0x41325c
js 0x41321d
insb byte es:[edi], dx
imul esi, dword [ebx + 0x74], 0x6a0073
add byte [edx], ch
call dword [sym.imp.USER32.DLL_MessageBoxA]
je 0x415d14
lea ebx, [eax + 0x1004]
lea ecx, [ebx + 0x1004]
add byte [ebp + 0x10048b], cl
add byte [ebx + 0x401e32], ah
mov dword [0x401e32], eax
mov dword [0x401e36], ebx
mov dword [0x401e3a], ecx
call dword [sym.imp.KERNEL32.DLL_GetProcessHeap]
mov dword [0x401e2e], eax
xor eax, eax
mov dword [0x402030], eax
mov byte [0x4021d0], al
mov byte [0x4031d0], al
mov dword [0x402038], 0x10000
mov dword [0x40203c], 0
add byte [eax], al
mov dword [0x402040], 0xffffffff
mov byte [0x4061d0], 0
shl byte [ecx + 0x40], 1
add byte [eax], al
mov dword [0x40d2f8], 0x4c
mov eax, dword [ebp + 8]
mov dword [0x40d2fc], eax
clc
rol byte [eax], cl
dec esp
add byte [eax], al
add byte [ebx - 0x35cf7bb], cl
rol byte [eax], cl
mov eax, dword [0x401fd8]
mov dword [0x40d300], eax
mov dword [0x40d308], 0
mov dword [0x40d310], 1
mov dword [0x40d318], 0x1000
mov dword [0x40d31c], 0x4020d0
mov dword [0x40d320], 0x100
mov dword [0x40d324], 0
mov dword [0x40d334], 0x40125b
mov dword [0x40d24c], 0x10
mov dword [0x40d250], 0
mov dword [0x40d254], 0
mov dword [0x40d258], 0
mov dword [0x40d25c], 0
mov byte [0x40d260], 0
mov byte [0x40d261], 0
mov byte [0x40d262], 0
mov byte [0x40d263], 1
mov byte [0x40d264], 6
mov byte [0x40d265], 0
mov byte [0x40d266], 0
mov byte [0x40d267], 1
mov edi, 0x40d268
mov esi, str.Courier_New
lodsb al, byte [esi]
stosb byte es:[edi], al
or al, al
jne 0x413345
push 8
call dword [sym.imp.USER32.DLL_GetSysColor]
mov dword [0x401dfa], eax
push 5
call dword [sym.imp.USER32.DLL_GetSysColor]
mov dword [0x401dfe], eax
push 0xe
call dword [sym.imp.USER32.DLL_GetSysColor]
mov dword [0x401e02], eax
push 0xd
call dword [sym.imp.USER32.DLL_GetSysColor]
mov dword [0x401e06], eax
mov esi, 0x401dfa
mov edi, 0x402090
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov dword [0x40d2ac], 0x2c
push 0x40d2ac
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_GetWindowPlacement]
push 0x402050
push 0x20019
push 0
push str.Control_PanelDesktop
push 0x80000001
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExA]
test eax, eax
jne 0x413423
mov dword [0x40d414], 0x100
push 0x40d414
push 0x4041d0
push 0x402054
push 0
push str.WheelScrollLines
push dword [0x402050]
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExA]
test eax, eax
jne 0x413417
cmp dword [0x402054], 1
jne 0x413417
mov esi, 0x4041d0
cmp byte [esi], 0
je 0x413417
call fcn.004165a9
jb 0x413417
mov dword [0x401fc4], eax
push dword [0x402050]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
push 0x402038
push str.Memory
push str.Compiler
push 0x4071d0
call fcn.00416567
push 0x40203c
push str.Priority
push str.Compiler
push 0x4071d0
call fcn.00416567
mov eax, 0x64
mov word [0x432024], ax
mov dword [0x402050], eax
push 0x402050
push str.Passes
push str.Compiler
push 0x4071d0
call fcn.00416567
mov eax, dword [0x402050]
test eax, eax
je 0x413494
cmp eax, 0x10000
ja 0x413494
mov word [0x432024], ax
push 8
push 0x401df6
push str.SecureSelection
push 0x401293
push 0x4071d0
call fcn.004166c7
push 2
push 0x401df6
push str.AutoBrackets
push 0x401293
push 0x4071d0
call fcn.004166c7
push 1
push 0x401df6
push str.AutoIndent
push 0x401293
push 0x4071d0
call fcn.004166c7
push 4
push 0x401df6
push str.SmartTabs
push 0x401293
push 0x4071d0
call fcn.004166c7
push 0x10
push 0x401df6
push str.OptimalFill
push 0x401293
push 0x4071d0
call fcn.004166c7
push 0x40
push 0x401df6
push str.ReviveDeadKeys
push 0x401293
push 0x4071d0
call fcn.004166c7
push 0x20
push 0x401df6
push str.ConsoleCaret
push 0x401293
push 0x4071d0
call fcn.004166c7
push pe_nt_image_headers32
push 0x401df6
push str.TimeScroll
push 0x401293
push 0x4071d0
call fcn.004166c7
push 0x401dfa
push str.Text
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401dfe
push str.Background
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e02
push str.SelectionText
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e06
push str.SelectionBackground
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e0a
push str.Symbols
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e0e
push str.Numbers
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e12
push str.Strings
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e16
push str.Comments
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e1a
push str.Instructions
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e1e
push str.Directives
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e22
push str.Registers
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e26
push str.Labels
push str.Colors
push 0x4071d0
call fcn.004165f3
push 0x401e2a
push str.TabSize
push 0x401293
push 0x4071d0
call fcn.00416567
mov ebx, dword [0x401e32]
push 0x4071d0
push 0x1003
push dword [0x401e32]
push dword [0x401e32]
push str.Instructions_list
push str.Colors
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov byte [ebx + eax], 0x20
mov ebx, dword [0x401e36]
push 0x4071d0
push 0x1003
push dword [0x401e36]
push dword [0x401e36]
push str.Directives_list
push str.Colors
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov byte [ebx + eax], 0x20
mov ebx, dword [0x401e3a]
push 0x4071d0
push 0x1003
push dword [0x401e3a]
push dword [0x401e3a]
push str.Registers_list
push str.Colors
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov byte [ebx + eax], 0x20
push 0x4071d0
push 0x20
push 0x40d268
push 0x40d268
push str.Face
push 0x401c41
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
push 0x40d24c
push str.Height
push 0x401c41
push 0x4071d0
call fcn.00416567
push 0x40d250
push str.Width
push 0x401c41
push 0x4071d0
call fcn.00416567
push 0x40d25c
push str.Weight
push 0x401c41
push 0x4071d0
call fcn.00416567
push 1
push 0x40d260
push str.Italic
push 0x401c41
push 0x4071d0
call fcn.004166c7
push 0x40d263
push str.CharSet
push 0x401c41
push 0x4071d0
call fcn.0041667e
push 0x40d2cc
push 0x401c75
push str.Window
push 0x4071d0
call fcn.00416567
push 0x40d2c8
push str.Left
push str.Window
push 0x4071d0
call fcn.00416567
push 0x40d2d0
push str.Right
push str.Window
push 0x4071d0
call fcn.00416567
push 0x40d2d4
push str.Bottom
push str.Window
push 0x4071d0
call fcn.00416567
push 2
push 0x40d2b0
push str.Maximized
push str.Window
push 0x4071d0
call fcn.004166c7
push 0x4071d0
push 0x1000
push 0x4061d0
push 0x4061d0
push str.Path
push 0x401c95
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
mov dword [0x40d2b4], 0
push 0x40d2ac
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_SetWindowPlacement]
push 0x40d24c
call dword [sym.imp.GDI32.DLL_CreateFontIndirectA]
mov dword [0x401ff0], eax
push 0
push dword [ebp + 8]
push 0
push 0x50000010
call dword [sym.imp.COMCTL32.DLL_CreateStatusWindowA]
or eax, eax
je 0x415d14
mov dword [0x401ff8], eax
mov dword [0x402050], 0x48
mov dword [0x402054], 0x90
mov dword [0x402058], 0xffffffff
push 0x402050
push 3
push 0x404
push eax
call dword [sym.imp.USER32.DLL_SendMessageA]
push 0
push dword [0x401fd8]
push 0
push dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0x40000040
push 0
push str.LISTBOX
push 0
call dword [sym.imp.USER32.DLL_CreateWindowExA]
or eax, eax
je 0x415d14
mov dword [0x402000], eax
push 0
push dword [0x401fd8]
push 0
push dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0x50008002
push 0
push str.SysTabControl32
push 0
call dword [sym.imp.USER32.DLL_CreateWindowExA]
or eax, eax
je 0x415d14
mov dword [0x401ffc], eax
push 0
push 8
push 0x130e
push dword [0x401ffc]
call dword [sym.imp.USER32.DLL_SendMessageA]
push 0
push 0
push 0x31
push dword [0x401ff8]
call dword [sym.imp.USER32.DLL_SendMessageA]
push 0
push eax
push 0x30
push dword [0x401ffc]
call dword [sym.imp.USER32.DLL_SendMessageA]
push 0x1f5
push dword [0x401fd8]
call dword [sym.imp.USER32.DLL_LoadBitmapA]
mov ebx, eax
push 0x40d288
push 0x18
push ebx
call dword [sym.imp.GDI32.DLL_GetObjectA]
push 0
push 1
push 4
push dword [0x40d290]
push dword [0x40d28c]
call dword [sym.imp.COMCTL32.DLL_ImageList_Create]
or eax, eax
je 0x415d14
mov dword [0x402010], eax
push 0
push ebx
push dword [0x402010]
call dword [sym.imp.COMCTL32.DLL_ImageList_Add]
push ebx
call dword [sym.imp.GDI32.DLL_DeleteObject]
push dword [0x402010]
push 0
push 0x1303
push dword [0x401ffc]
call dword [sym.imp.USER32.DLL_SendMessageA]
push 0
push str.Untitled
push 0x400
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_SendMessageA]
cmp eax, 0xffffffff
je 0x415d14
push 1
push dword [ebp + 8]
call dword [sym.imp.SHELL32.DLL_DragAcceptFiles]
mov esi, dword [0x402044]
xor ebx, ebx
lodsb al, byte [esi]
cmp al, 0x20
je 0x413a49
cmp al, 0x2b
je 0x413a7f
cmp al, 0x2d
je 0x413a84
xor ecx, ecx
cmp al, 0x22
je 0x413a89
cmp al, 0xd
je 0x413b67
or al, al
je 0x413b67
lea edx, [esi - 1]
inc ecx
lodsb al, byte [esi]
cmp al, 0x20
je 0x413a9b
cmp al, 0xd
je 0x413a9b
or al, al
je 0x413a9b
jmp 0x413a6f
or bl, 1
jmp 0x413a49
or bl, 2
jmp 0x413a49
mov edx, esi
lodsb al, byte [esi]
cmp al, 0x22
je 0x413a9c
cmp al, 0xd
je 0x413a9c
or al, al
je 0x413a9c
inc ecx
jmp 0x413a8b
dec esi
push eax
push edx
push esi
mov esi, edx
mov edi, 0x4091d0
cmp ecx, 0xfff
jae 0x413b5f
rep movsb byte es:[edi], byte [esi]
xor al, al
stosb byte es:[edi], al
mov ecx, 0x40d1d0
sub ecx, edi
push 0x402050
push edi
push ecx
push 0x4091d0
call dword [sym.imp.KERNEL32.DLL_GetFullPathNameA]
push 0x100
push 0x4020d0
push edi
call dword [sym.imp.COMDLG32.DLL_GetFileTitleA]
mov eax, 0x401
test bl, 2
je 0x413af0
mov eax, 0x411
push edi
push 0x4020d0
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_SendMessageA]
cmp eax, 0xffffffff
je 0x413b32
test bl, 1
je 0x413b5f
push 0
push 0
push 0x130b
push dword [0x401ffc]
call dword [sym.imp.USER32.DLL_SendMessageA]
push 0
push eax
push 0x405
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_SendMessageA]
jmp 0x413b5f
push 0x4091d0
push str.Could_not_load_file__s.
push 0x4041d0
call dword [sym.imp.USER32.DLL_wsprintfA]
add esp, 0xc
push 0x10
push str.flat_assembler___X_RAY_KT___1.73.32
push 0x4041d0
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_MessageBoxA]
pop esi
pop edx
pop eax
jmp 0x413a47
xor eax, eax
jmp 0x4164b7
or eax, 0xffffffff
jmp 0x4164b7
pop edi
pop esi
pop ebx
leave
ret 0x10