Function at 0x100710b9
Capabilities:
Delete registry value
Encode data using xor

Disassembly:
mov eax, 0x1008b465
call fcn.10089ef8
sub esp, 0x88
push ebx
push esi
push edi
xor ebx, ebx
mov edi, ecx
inc ebx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], 0xfffffff8
push 4
call fcn.10022d19
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], 0x5830af36
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], esi
jmp 0x10071103
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100710f9
mov dword [ebp - 0x14], esi
jmp 0x1007111d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0xfff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1007110d
mov dword [ebp - 0x20], 0xf
jmp 0x10071215
push dword [ebp - 0x3c]
movdqa xmm0, xmmword [0x10011480]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x1c], 0xf7a73d2d
push eax
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x48]
push esi
movdqu xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
call fcn.10025e0d
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x3c], 5
mov dword [ebp - 0x2c], 0x52b8909f
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 0x2551ad04
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x18]
test eax, eax
jne 0x100711a0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
sub eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x30]
cmp eax, 0x753f
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, 0x758c
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
inc ecx
cmp ecx, dword [ebp - 0x28]
jne 0x100711eb
mov eax, dword [ebp - 0x60]
mov ecx, ebx
cmp dword [eax], esi
jne 0x100711ed
mov ecx, esi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x20], esi
mov dword [eax], ecx
lea ecx, [ebp - 0x48]
call fcn.10022d9b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1007112f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.10022d9b
push edi
call fcn.10063443
mov dword [ebp - 0x14], 0xe1757117
mov dword [ebp - 0x2c], 0x8877e06
mov dword [ebp - 0x1c], 0x1b185749
mov dword [ebp - 0x50], 0x47f6
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], 0xffffffe4
pop ecx
mov dword [ebp - 0x3c], eax
jge 0x1007153b
mov dword [ebp - 0x20], 0x3f9beab1
mov dword [ebp - 0x24], 0x549ec71c
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x28], 0x4118
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 0xca9
cmp dword [ebp - 0x1c], 0xf8c
jle 0x10071309
push esi
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov edx, esi
mov dword [ebp - 0x18], esi
mov ebx, esi
mov edi, esi
mov ecx, esi
mov dword [ebp - 0x34], esi
lea eax, [edi + ebx]
shl eax, cl
lea ecx, [ebp - 0x94]
and eax, edx
cdq
push edx
push eax
call fcn.100128ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100712c1
mov eax, dword [eax]
push eax
call fcn.10074e83
pop ecx
push esi
push 1
lea ecx, [ebp - 0x94]
call fcn.100234cf
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x2462
jl 0x100712a2
inc edi
cmp edi, 0x1ce7
jl 0x1007129d
inc ebx
cmp ebx, 0x3fda
jl 0x1007129b
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0xa79
jl 0x10071299
xor ebx, ebx
inc ebx
mov dword [ebp - 0x54], 0x83eb3d01
cmp dword [ebp - 0x1c], 0xa37
jge 0x10071324
push 0x10011298
call fcn.10074e83
pop ecx
mov dword [ebp - 0x34], 0x4635
lea ecx, [ebp - 0x6c]
push 2
call fcn.10022d19
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], esi
jmp 0x10071349
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1007133d
cmp dword [ebp - 0x14], esi
jne 0x100713b2
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], esi
je 0x1007136c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x20]
jl 0x10071380
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x20], esi
jne 0x100713ab
mov eax, esi
cmp dword [ebp - 0x1c], esi
je 0x100713ad
mov eax, ebx
cmp eax, dword [ebp - 0x20]
je 0x100713b5
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], 0x4fc4b66
mov dword [ebp - 0x24], esi
jmp 0x10071515
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x1c], 0xbe4212cf
cmp dword [ebp - 0x14], esi
jne 0x10071463
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, 0xe52129e5
setg dl
cmp eax, edx
sbb eax, eax
neg eax
cmp eax, 3
jle 0x10071405
mov ecx, ebx
cmp dword [ebp - 0x18], esi
jne 0x10071407
mov ecx, esi
mov dword [ebp - 0x1c], 0xd57638ff
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, 0x96456cfc
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
add eax, 0xee18ba3b
add eax, edx
xor edx, edx
add eax, dword [ebp - 0x1c]
cmp eax, 0x3d7
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x5965
mov ecx, esi
setne al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x10071465
mov ecx, ebx
mov eax, dword [ebp - 0x30]
imul eax, ecx
mov ecx, 0x9e4e412c
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0x6c9e
cmp dword [ebp - 0x30], 0x6e4a
jle 0x100714b2
mov edi, esi
mov ebx, esi
mov eax, ebx
mov ecx, 0x1008fbf8
xor eax, edi
cdq
push edx
push eax
call fcn.100229ff
inc ebx
cmp ebx, 0x4dfe
jl 0x1007148c
inc edi
cmp edi, 0x2636
jl 0x1007148a
xor ebx, ebx
inc ebx
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
cmp dword [ebp - 0x34], ecx
je 0x100714c5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1c9c8a03
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
test eax, eax
sets cl
imul edx, ecx
test edx, edx
jne 0x100714f5
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x50], esi
jne 0x1007151f
cmp dword [ebp - 0x30], 0x6b1e
jge 0x10071512
mov edx, 0x100112f0
mov ecx, 0x1008fbf8
call fcn.1002574f
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1c
jg 0x100713c7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c]
call fcn.10022d9b
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe4
jl 0x1007125d
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret