Function at 0x10009da0
Capabilities:
Delete registry key
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10077c4a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
push ebx
push esi
push edi
xor edi, edi
mov dword [esp + 0x44], ecx
inc edi
mov dword [esp + 0x78], edx
mov dword [esp + 0x28], edi
lea ecx, [esp + 0xa0]
mov dword [esp + 0x1c], 0xffffffff
push 3
call fcn.10008dd5
push 4
xor ebx, ebx
lea ecx, [esp + 0xbc]
pop esi
mov dword [esp + 0x134], ebx
mov dword [esp + 0x1c], 0xffffffff
push esi
call fcn.10008dd5
mov dword [esp + 0x10], ebx
jmp 0x10009e22
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xa0]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10009e10
mov dword [esp + 0x10], ebx
jmp 0x10009e45
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], 0x6a715cc4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10009e2f
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x10009e5d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x28]
mov dword [eax + 4], ecx
xor eax, eax
test ecx, ecx
setne al
neg edx
sbb edx, edx
inc edx
sub edx, eax
mov eax, dword [esp + 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xb8]
mov dword [eax], ecx
lea ecx, [esp + 0xb8]
call fcn.10008fc3
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0xa0]
call fcn.10008fc3
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0xf0]
push 2
call fcn.10008dd5
mov dword [esp + 0x134], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], esi
push 3
pop esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], edi
push 2
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x14], ebx
pop ecx
jmp 0x10009f21
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x70], 0xfffffff8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x10009f11
mov dword [esp + 0x10], ebx
jmp 0x10009f3d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], 4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x10009f2d
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x18]
jge 0x10009f59
mov eax, dword [esp + 0x18]
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x3c], 0xffffffff
sbb eax, eax
neg eax
cmp dword [esp + 0x18], eax
jl 0x10009f90
mov ecx, edi
cmp dword [esp + 0x3c], ebx
jne 0x10009f92
mov ecx, ebx
mov eax, dword [esp + 0x18]
add ecx, 0xfff9
xor edx, edx
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0xffffffff
setg al
xor ecx, ecx
cmp eax, 0xf7cf
mov eax, dword [esp + 0x3c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x24]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, 0x4bfd7b7f
cmp ecx, dword [esp + 0x40]
jle 0x10009fdf
mov edx, edi
cmp dword [esp + 0x40], ebx
jne 0x10009fe1
mov edx, ebx
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], 0xfffffffd
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x10], 0x53aa9ac7
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], ebx
jl 0x1000a071
mov dword [esp + 0x1c], 0xcabfc393
xor edx, edx
mov dword [esp + 0x1c], 5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x90]
sub ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setge dl
mov dword [esp + eax*4 + 0x90], edx
dec dword [esp + 0x10]
jns 0x1000a036
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a096
push 0x7f9
push 0x15e1
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
mov dword [esp + 0x34], 0x9637
lea ecx, [esp + 0x64]
mov dword [esp + 0x24], 0x2d800f4d
push edi
call fcn.10008dd5
mov dword [esp + 0x24], 6
mov dword [esp + 0x10], ebx
jmp 0x1000a0d1
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x7a7c2039
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1000a0be
mov eax, dword [esp + 0x64]
cmp dword [eax], ebx
jne 0x1000a0f4
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a166
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
jmp 0x1000a166
mov dword [esp + 0x10], 0x62e08974
mov dword [esp + 0x10], ebx
jmp 0x1000a160
mov dword [esp + 0x18], ebx
jmp 0x1000a118
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x4c], 0x4c000111
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1000a108
mov dword [esp + 0x4c], ebx
jmp 0x1000a143
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
cmp dword [eax + ecx*4], ebx
jne 0x1000a149
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
cmp dword [eax + ecx*4], ebx
jne 0x1000a149
inc dword [esp + 0x4c]
cmp dword [esp + 0x4c], ebx
jle 0x1000a125
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a15c
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1000a102
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a180
push ebx
push 0x2f9
call esi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea ecx, [esp + 0x64]
call fcn.10008fc3
mov dword [esp + 0x24], 0x76ac116e
mov dword [esp + 0x18], 0xffff
mov dword [esp + 0x10], 0x86fa66fa
mov dword [esp + 0x1c], 0xfff8
mov dword [esp + 0x24], 0xffffffff
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jne 0x1000a1f0
mov ecx, dword [esp + 0x18]
xor edx, edx
add ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
setge dl
add eax, edx
add ecx, eax
je 0x1000a1e4
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
sub edx, 0xf844
mov edi, dword [sym.imp.USER32.dll_GetDC]
neg edx
sbb edx, edx
xor ecx, ecx
add edx, 0x907c4e7d
cmp edx, eax
setne cl
cmp ecx, dword [esp + 0x10]
jle 0x1000a24d
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a312
push ebx
push ebx
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
jmp 0x1000a312
mov dword [esp + 0x10], 0x7bc77562
mov eax, dword [esp + 0x10]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ebx
jmp 0x1000a307
mov dword [esp + 0x24], 0xdd88ba54
mov dword [esp + 0x10], ebx
jmp 0x1000a28a
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x7c], 0x9117a540
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1000a27a
mov dword [esp + 0x10], ebx
jmp 0x1000a2a3
mov dword [esp + 0x24], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1000a297
mov dword [esp + 0x10], ebx
jmp 0x1000a2fd
mov dword [esp + 0x24], 0x86397847
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a2c9
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, 0x2f34f766
mov dword [esp + eax*4 + 0x7c], 0x4ec6f913
setg cl
xor eax, eax
test ecx, ecx
setns al
mov dword [esp + 0x24], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1000a2af
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x20
jne 0x1000a26c
mov dword [esp + 0x48], ebx
lea ecx, [esp + 0x54]
push 2
call fcn.10008dd5
xor edx, edx
mov dword [esp + 0x10], 0xffffffff
inc edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ebx
jmp 0x1000a34d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov dword [eax + ecx*4], 0xec0a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1000a33a
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], ebx
jl 0x1000a40f
push 6
pop edi
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x24], 0x1b6eab3c
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
cmp edi, dword [edx + eax*4]
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, dword [edx + esi*4]
setge cl
dec ecx
jne 0x1000a3ae
cmp dword [esp + 0x18], ebx
jne 0x1000a3ae
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x18]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor edx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
cmp dword [eax + ecx*4], 0x9a7b445a
sete dl
mov dword [esp + 0x1c], edx
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
setg dl
mov dword [esp + 0x24], edx
dec dword [esp + 0x10]
jns 0x1000a365
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [esp + 0x54]
call fcn.10008fc3
mov dword [esp + 0x38], 0xfffffffe
mov dword [esp + 0x18], 0x75b57fd5
mov dword [esp + 0x20], 0x49dfcf09
mov dword [esp + 0x10], 0xa5fef9d7
mov dword [esp + 0x24], 0xc1b16eb2
mov dword [esp + 0x18], ebx
jmp 0x1000a51c
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], ebx
jmp 0x1000a46e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xac], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1000a45b
mov dword [esp + 0x10], ebx
jmp 0x1000a48e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xe0], 0xca955a63
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1000a47b
mov dword [esp + 0x20], 0x950ba1bf
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov eax, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
test eax, eax
jne 0x1000a4cd
mov eax, dword [esp + 0xe4]
mov eax, dword [esp + 0xe4]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xac]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
imul eax, dword [esp + 0xac]
imul eax, eax, 0xf996
mov dword [esp + 0x24], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a518
push 0x25a6
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SetPolyFillMode]
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffec
jg 0x1000a451
push 3
pop edi
mov dword [esp + 0x24], 0x37ec
lea ecx, [esp + 0xc4]
push edi
call fcn.10008dd5
push 0x6ef5
push 0x3a7e
lea eax, [esp + 0xf8]
mov byte [esp + 0x13c], 2
push eax
mov dword [esp + 0x28], 0x2fc23faa
lea ecx, [esp + 0x38]
push 0x75b0
mov dword [esp + 0x30], 0xfffffff7
mov edx, 0x62e6
mov dword [esp + 0x34], edi
push ebx
call fcn.10009714
add esp, 0x14
mov dword [esp + 0x2c], ebx
jmp 0x1000a59d
mov eax, dword [esp + 0x2c]
mov dword [esp + eax*4 + 0xd4], 0x9310c13f
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 3
jl 0x1000a58a
lea eax, [esp + 0xc4]
push eax
push 0x7480
lea eax, [esp + 0x34]
push ebx
push eax
call fcn.1000cd05
xor edi, edi
add esp, 0x10
inc edi
cmp dword [esp + 0x28], ebx
je 0x1000a61a
mov dword [esp + 0x28], edi
cmp dword [esp + 0x28], ebx
jl 0x1000a6fc
mov dword [esp + 0x10], 0x87cf2e56
lea edx, [esp + 0x33]
mov byte [esp + 0x33], bl
xor cl, cl
push 0xe54
call fcn.1000a911
pop ecx
mov dword [esp + 0x10], ebx
jmp 0x1000a609
mov dword [esp + 0x20], 0x872d9ee1
inc dword [esp + 0x20]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jle 0x1000a5f9
dec dword [esp + 0x28]
jns 0x1000a5d6
jmp 0x1000a6fc
push dword [esp + 0x44]
mov dword [esp + 0x64], 0xfffffffe
lea eax, [esp + 0x110]
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x88]
push eax
mov dword [esp + 0x28], 0xfffffffa
lea eax, [esp + 0x104]
mov dword [esp + 0x28], 0xb6fd43dd
xorps xmm0, xmm0
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x2c], 0x664a1160
mov dword [esp + 0x2c], 0x3e623b47
push ebx
movdqu xmmword [esp + 0x10c], xmm0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
call fcn.100093db
mov byte [esp + 0x134], 3
mov dword [esp + 0x20], edi
mov dword [esp + 0x20], 0x91f9
mov dword [esp + 0x80], 0xffffffff
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a6c7
push 0x5eb
push 0x203d
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
lea eax, [esp + 0x80]
mov ecx, 0x37f0
push eax
lea eax, [esp + 0x64]
push eax
push 0x7e7a
lea eax, [esp + 0x54]
push eax
push edi
lea edx, [esp + 0x4c]
call fcn.10009714
add esp, 0x14
lea ecx, [esp + 0x84]
call fcn.10008fc3
mov eax, dword [esp + 0x34]
or edx, 0xffffffff
mov eax, dword [esp + 0x1c]
xor ecx, ecx
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
sub edx, eax
mov eax, dword [esp + 0x38]
cmp eax, edx
setge cl
xor edx, edx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0xdc]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0xc4]
cmp dword [eax + 4], ebx
mov eax, dword [esp + 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0xdc], ecx
lea ecx, [esp + 0xc4]
call fcn.10008fc3
or dword [esp + 0x134], 0xffffffff
lea ecx, [esp + 0xf0]
call fcn.10008fc3
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x34], 0x896e6a37
mov dword [esp + 0x34], 0x188047d2
mov dword [esp + 0x10], ebx
jmp 0x1000a7a5
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x10c], 0xa3191b49
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1000a792
mov dword [esp + 0x10], ebx
jmp 0x1000a7c5
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd0], 0x123d4a1c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1000a7b2
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a7e3
push ebx
push ebx
push 0x131a
call dword [sym.imp.ADVAPI32.dll_CopySid]
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x18]
je 0x1000a80b
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
imul eax, eax, 0x16b4
test eax, eax
jne 0x1000a80b
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], 0xfe57
mov dword [esp + 0x20], 0x459f
mov dword [esp + 0x28], ebx
jmp 0x1000a834
mov eax, dword [esp + 0x28]
mov dword [esp + eax*4 + 0x118], 0x3e76e5b1
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 4
jl 0x1000a821
dec dword [esp + 0x20]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1000a853
call esi
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x78]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x44]
mov edi, edx
mov esi, eax
call fcn.100096a2
mov ecx, dword [esp + 0x12c]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret