Function at 0x404e30
Capabilities:
Set registry value

Disassembly:
sub esp, 0x114
mov eax, dword [0x438e28]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push ebp
push esi
lea eax, [esp + 0x10]
push eax
push str.SoftwareStratopoint_SoftwarePrintFolders
push 0x80000001
mov dword [esp + 0x1c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
push 0x3f3
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
mov esi, eax
push 0x146
push esi
call ebp
push 0
push 0
push 0x147
push esi
lea ebx, [eax - 1]
call ebp
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
jge 0x404ed6
cmp byte [0x44d258], 0
jne 0x404ed6
mov eax, 0x43c320
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404eb0
mov ecx, dword [esp + 0x10]
sub eax, edx
inc eax
push eax
push 0x43c320
mov ebx, 1
push ebx
push 0
push 0x433550
push ecx
call esi
jmp 0x404edb
mov ebx, 1
push 0x105
lea edx, [esp + 0x18]
push edx
push 0x3f6
push edi
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
lea eax, [esp + 0x14]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404ef8
mov ecx, dword [esp + 0x10]
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x18]
push eax
push ebx
push 0
push 0x43355c
push ecx
call esi
mov ebp, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
push 0x413
push edi
mov dword [esp + 0x14], 0
call ebp
cmp eax, ebx
jne 0x404f35
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.ChkUpdOnSt
push eax
call esi
push 0x3ed
push edi
call ebp
mov edx, dword [esp + 0x10]
push 4
lea ecx, [esp + 0x10]
push ecx
sub eax, ebx
push 4
neg eax
push 0
sbb eax, eax
push str.Options_IncSubs
inc eax
push edx
mov dword [esp + 0x24], eax
call esi
push 0x401
push edi
call ebp
mov ecx, dword [esp + 0x10]
sub eax, ebx
neg eax
sbb eax, eax
inc eax
push 4
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.Options_IncFiles
push ecx
call esi
push 0x3f8
push edi
call ebp
sub eax, ebx
push 4
neg eax
lea edx, [esp + 0x10]
push edx
sbb eax, eax
push 4
inc eax
push 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
push str.Options_FullPaths
push eax
call esi
push 0x3fa
push edi
call ebp
mov edx, dword [esp + 0x10]
push 4
lea ecx, [esp + 0x10]
push ecx
sub eax, ebx
push 4
neg eax
push 0
sbb eax, eax
push str.Options_FullInfo
inc eax
push edx
mov dword [esp + 0x24], eax
call esi
push 0x40c
push edi
call ebp
sub eax, ebx
mov ecx, dword [esp + 0x10]
neg eax
sbb eax, eax
inc eax
push 4
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.Options_Exts
push ecx
call esi
push 0x410
push edi
call ebp
sub eax, ebx
push 4
neg eax
lea edx, [esp + 0x10]
push edx
sbb eax, eax
push 4
inc eax
push 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
push str.Options_ExeRes
push eax
call esi
push 0x411
push edi
call ebp
mov edx, dword [esp + 0x10]
push 4
lea ecx, [esp + 0x10]
push ecx
sub eax, ebx
push 4
neg eax
push 0
sbb eax, eax
push str.Options_ExitFinish
inc eax
push edx
mov dword [esp + 0x24], eax
call esi
push 0x41b
push edi
call ebp
cmp eax, ebx
jne 0x405084
mov dword [esp + 0xc], ebx
jmp 0x40509c
push 0x434
push edi
call ebp
sub eax, ebx
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.Options_OutputType
push ecx
call esi
push 0x3fe
push edi
call ebp
cmp eax, ebx
jne 0x4050c5
mov dword [esp + 0xc], ebx
jmp 0x405109
push 0x3fd
push edi
call ebp
cmp eax, ebx
jne 0x4050db
mov dword [esp + 0xc], 2
jmp 0x405109
push 0x3ff
push edi
call ebp
cmp eax, ebx
jne 0x4050f1
mov dword [esp + 0xc], 3
jmp 0x405109
push 0x400
push edi
call ebp
sub eax, ebx
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.Options_Sorting
push eax
call esi
mov eax, 0x43c440
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x405128
sub eax, ecx
mov ecx, dword [esp + 0x10]
inc eax
push eax
push 0x43c440
push ebx
push 0
push 0x433614
push ecx
call esi
movzx edx, byte [0x43b710]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_Dirs
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b713]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_DirUpCase
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b711]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_DirHeaders
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b712]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_NoSep
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b715]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_Rulers
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b716]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_FullSize
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b71c]
push 4
lea eax, [esp + 0x10]
mov dword [esp + 0x10], edx
push eax
mov ecx, dword [esp + 0x18]
push 4
push 0
push str.AdvOptions_DateMod
push ecx
call esi
movzx edx, byte [0x43b726]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_NoHidden
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b719]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_NoEmpty
push ecx
mov dword [esp + 0x24], edx
call esi
movzx edx, byte [0x43b724]
mov ecx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x10]
push eax
push 4
push 0
push str.AdvOptions_SetCustRoot
push ecx
mov dword [esp + 0x24], edx
call esi
mov eax, 0x43b727
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4052a3
mov edx, dword [esp + 0x10]
sub eax, ecx
inc eax
push eax
push 0x43b727
push ebx
push 0
push str.AdvOptions_CustRoot
push edx
call esi
mov eax, dword [esp + 0x10]
push 4
push 0x43b720
push 4
push 0
push str.AdvOptions_RecurLv
push eax
call esi
mov ecx, dword [0x44d478]
mov eax, dword [esp + 0x10]
push 4
lea edx, [ecx*4 + 0x43a028]
push edx
push ebx
push 0
push str.Language
push eax
call esi
movzx ecx, byte [0x43bc70]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.HtmlOpts_SetBg
push eax
mov dword [esp + 0x24], ecx
call esi
movzx ecx, byte [0x43bc78]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.HtmlOpts_SetTitBg
push eax
mov dword [esp + 0x24], ecx
call esi
movzx ecx, byte [0x43bc80]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.HtmlOpts_SetHdBg
push eax
mov dword [esp + 0x24], ecx
call esi
movzx ecx, byte [0x43bc88]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.HtmlOpts_SetTxt
push eax
mov dword [esp + 0x24], ecx
call esi
movzx ecx, byte [0x43bc90]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
mov dword [esp + 0x1c], ecx
push str.HtmlOpts_Links
push eax
call esi
movzx ecx, byte [0x43bc91]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.HtmlOpts_SetLink
push eax
mov dword [esp + 0x24], ecx
call esi
movzx ecx, byte [0x43bc98]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.HtmlOpts_SetBrd
push eax
mov dword [esp + 0x24], ecx
call esi
movzx ecx, byte [0x43bca0]
mov eax, dword [esp + 0x10]
push 4
lea edx, [esp + 0x10]
push edx
push 4
push 0
push str.HtmlOpts_ThinBrd
push eax
mov dword [esp + 0x24], ecx
call esi
mov ecx, dword [esp + 0x10]
push 4
push 0x43bc74
push 4
push 0
push str.HtmlOpts_Bg
push ecx
call esi
mov edx, dword [esp + 0x10]
push 4
push 0x43bc7c
push 4
push 0
push str.HtmlOpts_TitBg
push edx
call esi
mov eax, dword [esp + 0x10]
push 4
push 0x43bc84
push 4
push 0
push str.HtmlOpts_HdBg
push eax
call esi
mov ecx, dword [esp + 0x10]
push 4
push 0x43bc8c
push 4
push 0
push str.HtmlOpts_Txt
push ecx
call esi
mov edx, dword [esp + 0x10]
push 4
push 0x43bc94
push 4
push 0
push str.HtmlOpts_Link
push edx
call esi
mov eax, dword [esp + 0x10]
push 4
push 0x43bc9c
push 4
push 0
push str.HtmlOpts_Brd
push eax
call esi
mov eax, 0x43bca1
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4054a0
sub eax, ecx
mov ecx, dword [esp + 0x10]
inc eax
push eax
push 0x43bca1
push ebx
push 0
push str.HtmlOpts_Title
push ecx
call esi
mov eax, dword [0x43c54c]
test eax, eax
je 0x4054d9
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x43c54c], 0
mov edx, dword [0x43be9c]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
push edx
call esi
mov eax, dword [0x43c430]
push eax
call esi
mov ecx, dword [0x44d588]
push ecx
call esi
mov edx, dword [0x44d58c]
push edx
call esi
mov ecx, dword [esp + 0x11c]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004181f3
add esp, 0x114
ret