Function at 0x100256de
Capabilities:
Delete registry key

Disassembly:
mov eax, 0x1006c108
call fcn.1006b188
sub esp, 0xb0
mov dword [ebp - 0x18], 4
push ebx
mov dword [ebp - 0x1c], 0x1a0e1c2a
xor ebx, ebx
push esi
mov esi, ecx
mov dword [ebp - 0x24], 0x26243a5d
mov dword [ebp - 0x14], 2
xor ecx, ecx
mov dword [ebp - 0x28], 0xffffffff
inc ecx
push edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], ebx
jmp 0x10025731
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x20], 0x6ce1a812
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10025723
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setl dl
xor eax, eax
test edx, edx
setg al
cmp eax, dword [ebp - 0x18]
jge 0x10025789
cmp dword [ebp - 0x20], ebx
je 0x10025793
cmp dword [ebp - 0x20], ebx
je 0x10025793
xor edx, edx
inc edx
jmp 0x10025795
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xffff
setne al
add eax, 0x5da56ab0
jne 0x100257b4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
neg eax
push 0xfffffffffffffff7
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
add eax, 2
add eax, edx
xor ecx, ecx
cmp eax, 1
pop eax
setle cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], eax
jmp 0x100257f6
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x37
je 0x100257f0
mov dword [ebp - 0x28], 0x1602
cmp dword [ebp - 0x28], 0xf98
jge 0x10025989
lea eax, [ebp - 0x3c]
mov ecx, 0x1065d430
push eax
call fcn.100177fe
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x10025989
mov eax, dword [0x10eba2e0]
mov ecx, 0x10eba2e0
mov edi, dword [ebp - 0x3c]
push edi
mov dword [0x10eba2e4], eax
call fcn.100180c2
mov esi, ebx
test edi, edi
jle 0x10025864
mov eax, dword [0x10eba2e0]
mov ecx, 0x1065d430
lea eax, [eax + esi*4]
push eax
call fcn.100177fe
inc esi
cmp esi, edi
jl 0x1002584c
lea eax, [ebp - 0x34]
mov ecx, 0x1065d430
push eax
call fcn.100177fe
push dword [0x10eba2e4]
mov edi, dword [ebp - 0x34]
push dword [0x10eba2e0]
mov dword [ebp - 0x24], edi
call fcn.1001cb07
mov dword [ebp - 0x38], ebx
pop ecx
pop ecx
test edi, edi
js 0x1002591b
mov esi, dword [0x10eba2e0]
push dword [0x10eba2e4]
lea edx, [ebp - 0x38]
push esi
lea ecx, [ebp - 0x98]
call fcn.1001cb2b
push dword [0x10eba2e4]
lea edx, [ebp - 0x34]
push esi
mov eax, dword [eax]
lea ecx, [ebp - 0x40]
sub eax, esi
sar eax, 2
mov dword [ebp - 0x28], eax
call fcn.1001cb2b
mov edx, dword [ebp - 0x28]
add esp, 0x10
mov ecx, dword [eax]
sub ecx, esi
sar ecx, 2
cmp edx, ecx
jne 0x100258e7
mov eax, dword [esi + edx*4]
cmp eax, dword [esi + ecx*4 + 4]
jne 0x1002590d
mov eax, dword [0x10eba2e4]
sub eax, esi
sar eax, 2
cmp edx, eax
je 0x1002590d
cmp ecx, eax
je 0x1002590d
mov ecx, dword [esi + ecx*4]
mov edx, dword [esi + edx*4]
lea eax, [ecx + edx]
cmp eax, dword [ebp - 0x24]
jne 0x1002590d
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], ecx
inc ebx
dec edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], edi
cmp ebx, edi
jle 0x1002589c
xor ebx, ebx
push dword [ebp - 0x1c]
mov edx, 0x10008984
push ecx
push dword [ebp - 0x18]
push ecx
mov ecx, 0x1065d378
call fcn.1001c710
pop ecx
mov ecx, eax
call fcn.10017c40
mov edx, 0x1000897c
mov ecx, eax
call fcn.1001c710
pop ecx
mov ecx, eax
call fcn.10017c40
mov edx, 0x10008840
mov ecx, eax
call fcn.1001c710
push eax
call fcn.1001c8e7
pop ecx
push eax
call fcn.1001c8e7
pop ecx
lea eax, [ebp - 0x3c]
mov ecx, 0x1065d430
push eax
call fcn.100177fe
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x1002582e
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x14], ebx
xor ecx, ecx
push 9
pop edi
mov dword [ebp - 0x18], edi
inc ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xffffffef
cmp dword [ebp - 0x18], 0xffffffec
jl 0x10025a16
mov dword [ebp - 0x1c], 0x97412df3
mov dword [ebp - 0x24], 0xffffffff
cmp dword [ebp - 0x1c], 0xd9637855
sbb eax, eax
inc eax
cmp eax, 0xe662
jg 0x100259d1
mov eax, ecx
cmp dword [ebp - 0x24], ebx
jne 0x100259d3
mov eax, ebx
cmp dword [ebp - 0x14], eax
jg 0x100259dd
cmp dword [ebp - 0x24], ebx
jne 0x100259df
mov ecx, ebx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub edx, ecx
neg edx
push 1
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffec
pop ecx
jge 0x100259ab
cmp byte [esi], 0
je 0x10025ce3
push ecx
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.1001803e
push 2
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x4c]
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0xefbae54f
mov dword [ebp - 0x1c], 0x834d56b8
push eax
call fcn.1001803e
push 3
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.1001803e
mov byte [ebp - 4], 2
lea eax, [ebp - 0x98]
push dword [ebp - 0x40]
movdqa xmm0, xmmword [0x10008de0]
lea ecx, [ebp - 0x7c]
push eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x7c], ebx
push eax
push ebx
movdqu xmmword [ebp - 0xa8], xmm0
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
call fcn.1001da5d
mov byte [ebp - 4], 3
xor edx, edx
mov dword [ebp - 0x30], 0xb85ae340
inc edx
mov dword [ebp - 0x14], ebx
jmp 0x10025ab7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10025aa7
mov dword [ebp - 0x14], ebx
jmp 0x10025ad1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 0xab72231b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10025ac1
mov dword [ebp - 0x14], ebx
jmp 0x10025aec
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 0x19e77f55
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10025adc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
cmp dword [eax], ebx
je 0x10025b43
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x10025c93
push 0x2099
call dword [sym.imp.KERNEL32.dll_TlsFree]
jmp 0x10025c90
mov dword [ebp - 0x1c], 0xfffffff9
lea ecx, [ebp - 0x94]
push 3
call fcn.1001803e
mov byte [ebp - 4], 4
lea eax, [ebp - 0xa8]
push dword [ebp - 0x40]
movdqa xmm0, xmmword [0x10008db0]
lea ecx, [ebp - 0x58]
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x14], 0xde002748
push eax
push ebx
movdqu xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
call fcn.1001da5d
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.1001803e
mov dword [ebp - 0x14], ebx
jmp 0x10025bba
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10025bab
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x10025bdb
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0x84a8a623
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10025bc8
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1140ae77
setge cl
imul ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x64]
setge dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x94]
setne cl
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
imul ecx, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 5
sbb eax, eax
neg eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [edx]
mov dword [eax + 4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xc]
inc eax
cmp eax, 0x405ea325
setge cl
xor eax, eax
neg ecx
cmp ecx, 0x8337
lea ecx, [ebp - 0x88]
setge al
mov dword [edx], eax
call fcn.10017f89
lea ecx, [ebp - 0x58]
call fcn.10017f89
lea ecx, [ebp - 0x94]
call fcn.10017f89
xor edx, edx
inc edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x70]
cmp dword [eax + 4], ebx
je 0x10025caa
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x4c]
add eax, dword [esi]
je 0x10025cad
jmp 0x10025caf
mov esi, dword [ebp - 0x4c]
mov edx, ebx
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp edx, dword [eax]
setle cl
mov dword [esi], ecx
lea ecx, [ebp - 0x7c]
call fcn.10017f89
lea ecx, [ebp - 0x70]
call fcn.10017f89
lea ecx, [ebp - 0x4c]
call fcn.10017f89
lea ecx, [ebp - 0x64]
call fcn.10017f89
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret