Function at 0x40b8c0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4988a8
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x4cb070]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
movq qword [ebp - 0x20], xmm0
mov ebx, closesocket
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], vtable.Registry.0
mov dword [ebp - 0x1c], closesocket
mov dword [ebp - 4], 0
cmp dword [esi + 0x14], 8
jb 0x40b923
mov eax, dword [esi]
jmp 0x40b925
mov eax, esi
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x28]
push ecx
push 0
push 0xf013f
push 1
push 0
push 0
push eax
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
cmove ebx, dword [ebp - 0x28]
cmp dword [esi + 0x14], 8
jb 0x40b956
mov eax, dword [esi]
jmp 0x40b958
mov eax, esi
lea ecx, [ebp - 0x28]
push ecx
push 0x20006
push 0
push eax
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
lea ecx, [ebp - 0x40]
push str.AttachmentPage
cmove ebx, dword [ebp - 0x28]
mov edx, esi
mov dword [ebp - 0x18], ebx
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x10]
mov byte [ebp - 4], 1
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40b9b0
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.AutoSave
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x30]
mov byte [ebp - 4], 2
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40b9e8
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.BackgroundPage
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x38]
mov byte [ebp - 4], 3
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40ba20
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.CoverPage
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x6c]
mov byte [ebp - 4], 4
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40ba58
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.CustomScript
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x8c]
mov byte [ebp - 4], 5
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40ba93
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.DropboxSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0xac]
mov byte [ebp - 4], 6
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bace
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.EmailClientSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0xe4]
mov byte [ebp - 4], 7
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bb09
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.EmailSmtpSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x168]
mov byte [ebp - 4], 8
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bb44
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.Ftp
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x204]
mov byte [ebp - 4], 9
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bb7f
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.Ghostscript
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x23c]
mov byte [ebp - 4], 0xa
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bbba
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.JpegSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x278]
mov byte [ebp - 4], 0xb
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bbf5
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.PdfSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x298]
mov byte [ebp - 4], 0xc
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bc30
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.PngSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x448]
mov byte [ebp - 4], 0xd
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bc6b
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.Printing
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x460]
mov byte [ebp - 4], 0xe
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bca6
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.Properties
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x4a0]
mov byte [ebp - 4], 0xf
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bce1
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.Scripting
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x4a8]
mov byte [ebp - 4], 0x10
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bd1c
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.Stamping
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x4e4]
mov byte [ebp - 4], 0x11
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bd57
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.TextSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x554]
mov byte [ebp - 4], 0x12
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bd92
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.TiffSettings
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x55c]
mov byte [ebp - 4], 0x13
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40bdcd
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
push str.UserTokens
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00403070
add esp, 4
lea ecx, [edi + 0x574]
mov byte [ebp - 4], 0x14
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40be08
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
cmp dword [edi + 0x5a0], 8
lea edx, [edi + 0x58c]
jb 0x40be19
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40be20
sub ecx, esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.AuthorTemplate
push ebx
call esi
cmp dword [edi + 0x5b8], 8
lea edx, [edi + 0x5a4]
jb 0x40be5b
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40be63
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.FileNameTemplate
push ebx
call esi
cmp dword [edi + 0x5d0], 8
lea edx, [edi + 0x5bc]
jb 0x40be99
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bea1
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.Guid
push ebx
call esi
cmp dword [edi + 0x5e8], 8
lea edx, [edi + 0x5d4]
jb 0x40bed7
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bee0
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.KeywordTemplate
push ebx
call esi
cmp dword [edi + 0x600], 8
lea edx, [edi + 0x5ec]
jb 0x40bf16
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bf20
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.Name
push ebx
call esi
cmp byte [edi + 0x604], 0
mov eax, str.Flase
mov edx, 0x4ae8c0
cmove edx, eax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bf61
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.OpenViewer
push ebx
call esi
cmp byte [edi + 0x605], 0
mov ecx, str.Flase
mov edx, 0x4ae8c0
cmove edx, ecx
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bfa2
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.OpenWithPdfArchitect
push ebx
call esi
push dword [edi + 0x608]
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.0040c310
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x40bfe2
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bff0
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.OutputFormat
push ebx
call esi
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x40c02a
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0040aba0
cmp byte [edi + 0x60c], 0
mov eax, str.Flase
mov edx, 0x4ae8c0
cmove edx, eax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c046
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.ShowAllNotifications
push ebx
call esi
cmp byte [edi + 0x60d], 0
mov eax, str.Flase
mov edx, 0x4ae8c0
cmove edx, eax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c087
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.ShowOnlyErrorNotifications
push ebx
call esi
cmp byte [edi + 0x60e], 0
mov eax, str.Flase
mov edx, 0x4ae8c0
cmove edx, eax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c0d0
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.ShowProgress
push ebx
call esi
cmp byte [edi + 0x60f], 0
mov eax, str.Flase
mov edx, 0x4ae8c0
cmove edx, eax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c111
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.ShowQuickActions
push ebx
call esi
cmp byte [edi + 0x610], 0
mov ecx, str.Flase
mov eax, 0x4ae8c0
cmove eax, ecx
mov ecx, eax
mov dword [ebp - 0x28], eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c152
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push dword [ebp - 0x28]
push 1
push 0
push str.SkipPrintDialog
push ebx
call esi
cmp dword [edi + 0x628], 8
lea edx, [edi + 0x614]
jb 0x40c189
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c191
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.SubjectTemplate
push ebx
call esi
cmp dword [edi + 0x640], 8
lea edx, [edi + 0x62c]
jb 0x40c1c7
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x28], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c1d0
sub ecx, dword [ebp - 0x28]
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edx
push 1
push 0
push str.TargetDirectory
push ebx
call esi
add edi, 0x644
cmp dword [edi + 0x14], 8
jb 0x40c203
mov edi, dword [edi]
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c210
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
push edi
push 1
push 0
push str.TitleTemplate
push ebx
call esi
test ebx, ebx
je 0x40c23f
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00459a5d
mov esp, ebp
pop ebp
ret 4