Function at 0x21004f07
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x2107999c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x214
mov dword [ebp - 0x220], 0
lea ecx, [ebp - 0x10]
call fcn.210036c3
mov dword [ebp - 4], 0
cmp dword [ebp + 0xc], 0
je 0x21004f50
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jne 0x21004f64
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.21003702
jmp 0x210054aa
lea edx, [ebp - 0x21c]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.21029363
add esp, 8
mov ecx, dword [str.PrinterDriverData]
push ecx
push 0x2108a9f0
lea edx, [ebp - 0x21c]
push edx
call fcn.2105e7d8
add esp, 4
lea eax, [ebp + eax*2 - 0x21c]
push eax
call fcn.2105e37e
add esp, 0xc
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x220]
push edx
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x21004fe3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.21003702
jmp 0x210054aa
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x48]
and eax, 2
test eax, eax
je 0x210050d3
mov ecx, dword [ebp + 0x10]
movsx edx, word [ecx + 0x4e]
push edx
mov eax, dword [str.PaperSize]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.2100c898
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x48]
and eax, 0x10000
test eax, eax
je 0x2100503f
mov ecx, dword [ebp + 0x10]
add ecx, 0x66
push ecx
mov edx, dword [str.PaperName]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c8b5
add esp, 0xc
jmp 0x21005053
mov ecx, dword [str.PaperName]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x48]
and ecx, 8
test ecx, ecx
je 0x21005080
mov edx, dword [ebp + 0x10]
movsx eax, word [edx + 0x52]
push eax
mov ecx, dword [str.PaperWidth]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.2100c898
add esp, 0xc
jmp 0x21005093
mov eax, dword [str.PaperWidth]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x48]
and eax, 4
test eax, eax
je 0x210050bf
mov ecx, dword [ebp + 0x10]
movsx edx, word [ecx + 0x50]
push edx
mov eax, dword [str.PaperHeight]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.2100c898
add esp, 0xc
jmp 0x210050d3
mov edx, dword [str.PaperHeight]
push edx
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x48]
and edx, 1
test edx, edx
je 0x210050fe
mov eax, dword [ebp + 0x10]
movsx ecx, word [eax + 0x4c]
push ecx
mov edx, dword [str.Orientation]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x48]
and edx, 0x40000
test edx, edx
je 0x2100512e
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xa8]
push ecx
mov edx, dword [str.BitDepth]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 1
test edx, edx
je 0x21005161
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax + 0x104]
push ecx
mov edx, dword [str.Resolution]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 2
test edx, edx
je 0x21005192
mov eax, dword [ebp + 0x10]
movsx ecx, word [eax + 0x106]
push ecx
mov edx, dword [str.MarginLeft]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 4
test edx, edx
je 0x210051c3
mov eax, dword [ebp + 0x10]
movsx ecx, word [eax + 0x108]
push ecx
mov edx, dword [str.MarginTop]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 8
test edx, edx
je 0x210051f4
mov eax, dword [ebp + 0x10]
movsx ecx, word [eax + 0x10a]
push ecx
mov edx, dword [str.MarginRight]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 0x10
test edx, edx
je 0x21005225
mov eax, dword [ebp + 0x10]
movsx ecx, word [eax + 0x10c]
push ecx
mov edx, dword [str.MarginBottom]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 0x20
test edx, edx
je 0x21005258
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax + 0x10e]
push ecx
mov edx, dword [0x2108a6cc]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 0x200
test edx, edx
je 0x2100528e
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax + 0x112]
push ecx
mov edx, dword [str.Compression]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c898
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x100]
and edx, 0x800
test edx, edx
je 0x210052c0
mov eax, dword [ebp + 0x10]
add eax, 0x114
push eax
mov ecx, dword [str.DefaultFont]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.2100c8e1
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x100]
and ecx, 0x1000
test ecx, ecx
je 0x210052f6
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [edx + 0x134]
push eax
mov ecx, dword [str.PathEscapes]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.2100c898
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x100]
and ecx, 0x80
test ecx, ecx
je 0x2100532c
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [edx + 0x136]
push eax
mov ecx, dword [str.AutoEm]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.2100c898
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x100]
and ecx, 0x40
test ecx, ecx
je 0x2100535f
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [edx + 0x138]
push eax
mov ecx, dword [0x2108a6f0]
push ecx
mov edx, dword [ebp - 0x220]
push edx
call fcn.2100c898
add esp, 0xc
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax + 0x13a]
test ecx, ecx
je 0x2100538c
mov edx, dword [ebp + 0x10]
add edx, 0x13a
push edx
mov eax, dword [str.PrinterEm]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.2100c8e1
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x100]
and eax, 0x10000
test eax, eax
je 0x210053c0
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dx, word [ecx + 0x348]
push edx
mov eax, dword [str.ResDownSampMono]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.2100c898
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x100]
and eax, 0x400
test eax, eax
je 0x210053f4
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dx, word [ecx + 0x23e]
push edx
mov eax, dword [str.ResDownSamp]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.2100c898
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x100]
and eax, 0x2000
test eax, eax
je 0x21005428
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dx, word [ecx + 0x240]
push edx
mov eax, dword [str.JpegQuality]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.2100c898
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x100]
and eax, 0x4000
test eax, eax
je 0x2100545c
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dx, word [ecx + 0x242]
push edx
mov eax, dword [str.PdfAction]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.2100c898
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x100]
and eax, 0x8000
test eax, eax
je 0x2100548e
mov ecx, dword [ebp + 0x10]
add ecx, 0x244
push ecx
mov edx, dword [str.Exec]
push edx
mov eax, dword [ebp - 0x220]
push eax
call fcn.2100c8e1
add esp, 0xc
mov ecx, dword [ebp - 0x220]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.21003702
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret