Function at 0x1000fd10
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x124
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100155c0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2c], 2
mov eax, dword [edx + 0x10]
cmp dword [edx + 0x14], 8
mov ecx, edx
jb 0x1000fd5e
mov ecx, dword [edx]
sub esp, 0x10
movzx edx, byte [ebp - 0x100]
mov byte [esp + 0xc], dl
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea esi, [ebp - 0x118]
mov dword [esp], esi
call fcn.10006220
add esp, 0x10
mov eax, dword [ebp - 0x108]
cmp dword [ebp - 0x104], 8
jb 0x1000fd9a
mov esi, dword [ebp - 0x118]
lea eax, [esi + eax*2]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x20], eax
push eax
push esi
call fcn.10004e80
add esp, 8
mov esi, dword [ebp - 0x20]
mov ecx, esi
cmp eax, esi
je 0x1000fddc
mov ecx, eax
jmp 0x1000fdcd
cmp ax, 0x2f
jne 0x1000fddc
add ecx, 2
cmp ecx, esi
je 0x1000fdda
movzx eax, word [ecx]
cmp ax, 0x5c
jl 0x1000fdc0
je 0x1000fdc6
jmp 0x1000fddc
mov ecx, esi
cmp ecx, esi
je 0x1000fe0b
mov eax, esi
jmp 0x1000fdf9
je 0x1000fe09
add eax, 0xfffffffe
cmp eax, ecx
je 0x1000fe0b
movzx edx, word [eax - 2]
cmp dx, 0x5c
jge 0x1000fdf0
cmp dx, 0x2f
jne 0x1000fdf2
mov ecx, eax
sub esi, ecx
sar esi, 1
mov dword [ebp - 0x10], 0
sub esp, 0x10
movzx eax, byte [ebp - 0x44]
mov byte [esp + 0xc], al
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
lea eax, [ebp - 0x100]
mov dword [esp], eax
call fcn.10006220
add esp, 0x10
mov dword [ebp - 0x10], 1
sub esp, 0x10
movzx eax, byte [ebp - 0x28]
mov byte [esp + 0xc], al
lea eax, [ebp - 0x44]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1002ce2a
call fcn.10006220
add esp, 0x10
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x100]
lea eax, [ebp - 0x44]
push eax
call fcn.10010480
lea edx, [ebp - 0x130]
mov ecx, eax
mov dword [ebp - 0x20], edx
push edx
call fcn.10004ae0
mov eax, dword [ebp - 0x30]
cmp eax, 8
jb 0x1000fece
mov ecx, dword [ebp - 0x44]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x1000fec4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10010331
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [ebp - 0xec]
cmp eax, 8
jb 0x1000ff11
mov ecx, dword [ebp - 0x100]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x1000ff07
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10010331
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.100177eb
add esp, 8
movaps xmm0, xmmword [0x10029300]
movups xmmword [ebp - 0x100], xmm0
movaps xmm0, xmmword [0x10029310]
movups xmmword [ebp - 0xf0], xmm0
movaps xmm0, xmmword [0x10029320]
movups xmmword [ebp - 0xe0], xmm0
movaps xmm0, xmmword [0x10029330]
movups xmmword [ebp - 0xd0], xmm0
movaps xmm0, xmmword [0x10029340]
movups xmmword [ebp - 0xc0], xmm0
movsd xmm0, qword [0x10029350]
movsd qword [ebp - 0xb0], xmm0
mov dword [ebp - 0xa8], 0xa02da036
mov word [ebp - 0xa4], 0xa043
mov word [ebp - 0x48], 0
movups xmm1, xmmword [ebp - 0xfe]
movaps xmm0, xmmword [0x10029360]
xorps xmm1, xmm0
movups xmmword [ebp - 0xfe], xmm1
movups xmm1, xmmword [ebp - 0xee]
xorps xmm1, xmm0
movups xmmword [ebp - 0xee], xmm1
movups xmm1, xmmword [ebp - 0xde]
xorps xmm1, xmm0
movups xmmword [ebp - 0xde], xmm1
movups xmm1, xmmword [ebp - 0xce]
xorps xmm1, xmm0
movups xmmword [ebp - 0xce], xmm1
movups xmm1, xmmword [ebp - 0xbe]
xorps xmm1, xmm0
movups xmmword [ebp - 0xbe], xmm1
movups xmm1, xmmword [ebp - 0xae]
xorps xmm1, xmm0
movups xmmword [ebp - 0xae], xmm1
movups xmm1, xmmword [ebp - 0x9e]
xorps xmm1, xmm0
movups xmmword [ebp - 0x9e], xmm1
movups xmm1, xmmword [ebp - 0x8e]
xorps xmm1, xmm0
movups xmmword [ebp - 0x8e], xmm1
movups xmm1, xmmword [ebp - 0x7e]
xorps xmm1, xmm0
movups xmmword [ebp - 0x7e], xmm1
movups xmm1, xmmword [ebp - 0x6e]
xorps xmm1, xmm0
movups xmmword [ebp - 0x6e], xmm1
movups xmm1, xmmword [ebp - 0x5e]
xorps xmm1, xmm0
movups xmmword [ebp - 0x5e], xmm1
xor word [ebp - 0x4e], 0xa043
lea esi, [ebp - 0xfe]
xor word [ebp - 0x4c], 0xa043
xor word [ebp - 0x4a], 0xa043
mov word [ebp - 0x48], 0
sub esp, 0x24
lea eax, [ebp - 0x2c]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x24]
mov dword [esp + 0x1c], eax
movaps xmm0, xmmword [0x10029370]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], esi
mov dword [esp + 0x18], 0
mov dword [esp], 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x1001008f
xor ebx, ebx
jmp 0x1001029d
movsd xmm0, qword [0x10029380]
movsd qword [ebp - 0xf0], xmm0
movaps xmm0, xmmword [0x10029390]
movups xmmword [ebp - 0x100], xmm0
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 8
jb 0x100100bb
mov ecx, dword [ecx]
cmp edi, 6
jbe 0x100100ea
mov dword [ebp - 0x10], 3
sub esp, 0x10
movzx eax, byte [ebp - 0x44]
mov byte [esp + 4], al
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp], edi
lea ecx, [ebp - 0x100]
call fcn.10008a40
jmp 0x1001010b
lea eax, [edi + 1]
mov dword [ebp - 0xf0], eax
lea eax, [edi + edi]
push eax
push ecx
push esi
call fcn.1001a590
add esp, 0xc
mov word [ebp + edi*2 - 0xfe], 0
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 0x10], 0
je 0x10010209
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x10010166
mov dword [ebp - 0x10], 3
sub esp, 0x10
movzx eax, byte [ebp - 0x44]
mov byte [esp + 4], al
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x1002ce26
mov dword [esp], 2
lea ecx, [ebp - 0x100]
call fcn.10008a40
mov ebx, dword [ebp + 0xc]
jmp 0x1001018e
lea edx, [eax + 2]
mov dword [ebp - 0xf0], edx
cmp ecx, 8
lea ecx, [ebp - 0x100]
jb 0x10010180
mov ecx, dword [ebp - 0x100]
mov dword [ecx + eax*2], 0x200022
mov word [ecx + eax*2 + 4], 0
mov eax, dword [ebx + 0x10]
cmp dword [ebx + 0x14], 8
jb 0x10010199
mov ebx, dword [ebx]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xec]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x100101d7
mov dword [ebp - 0x10], 3
sub esp, 0x10
movzx ecx, byte [ebp - 0x44]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [ebp - 0x100]
call fcn.10008a40
jmp 0x10010209
lea esi, [ecx + eax]
mov dword [ebp - 0xf0], esi
cmp edx, 8
jb 0x100101ed
mov edi, dword [ebp - 0x100]
jmp 0x100101f3
lea edi, [ebp - 0x100]
lea ecx, [edi + ecx*2]
add eax, eax
push eax
push ebx
push ecx
call fcn.1001a590
add esp, 0xc
mov word [edi + esi*2], 0
mov eax, dword [ebp - 0xf0]
cmp dword [ebp - 0xec], 8
jb 0x10010220
mov ecx, dword [ebp - 0x100]
jmp 0x10010226
lea ecx, [ebp - 0x100]
add eax, eax
cmp dword [ebp - 0x11c], 8
jb 0x1001023a
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x20], edx
push eax
push ecx
push 1
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
sete bl
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0xec]
cmp eax, 8
jb 0x1001029d
mov ecx, dword [ebp - 0x100]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x10010293
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10010331
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [ebp - 0x11c]
cmp eax, 8
jb 0x100102dc
mov ecx, dword [ebp - 0x130]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x100102d2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10010331
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [ebp - 0x104]
cmp eax, 8
jb 0x1001031b
mov ecx, dword [ebp - 0x118]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x10010311
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10010331
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.100177eb
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, ebx
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1001bda3
nop word cs:[eax + eax]
push ebp
sub esp, 0x24
add ebp, 0xc
lea ecx, [ebp - 0x100]
call fcn.10003a80
lea ecx, [ebp - 0x130]
call fcn.10003a80
add esp, 0x24
pop ebp
ret