Function at 0x100e28
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x40
push 0
push 0
dec ecx
jne 0x100e30
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov edi, eax
xor eax, eax
push ebp
push 0x1017d7
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x11], 0
lea edx, [ebp - 4]
mov eax, edi
call fcn.0001bf50
lea eax, [ebp - 0xc]
call fcn.00025a70
lea eax, [ebp - 0x40]
call fcn.00025a70
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0x10]
call fcn.000145ac
lea eax, [ebp - 0x44]
call fcn.00028ac4
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x3c]
mov edx, 0x1017f4
call fcn.00013ff4
lea eax, [ebp - 0x1c]
mov edx, dword [0xf5394]
call fcn.00015964
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x35]
lea eax, [ebp - 0x1c]
call fcn.000ffa50
mov esi, eax
cmp byte [ebp - 0x35], 0
jne 0x100f25
mov eax, dword [ebp - 0x1c]
call fcn.0001579c
mov ebx, eax
push 0x101814
mov eax, ebx
cdq
push edx
push eax
lea eax, [ebp - 0x4c]
call fcn.00027444
push dword [ebp - 0x4c]
push 0x101838
lea edx, [ebp - 0x50]
mov eax, esi
call fcn.00027478
push dword [ebp - 0x50]
lea eax, [ebp - 0x48]
mov edx, 4
call fcn.00014068
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
call fcn.000f593c
test ebx, ebx
jle 0x10164f
cmp ebx, 0x2800
jge 0x10164f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov edx, ebx
call fcn.000f552c
jmp 0x10164f
mov eax, dword [ebp - 0x1c]
call fcn.0001579c
cmp eax, 0x158
jle 0x101615
mov eax, dword [ebp - 0x1c]
mov bl, byte [eax + 0x158]
test bl, bl
jb 0x100f6f
cmp bl, 3
ja 0x100f6f
xor eax, eax
mov al, bl
mov ecx, dword [eax*4 + 0x2506cc]
lea eax, [ebp - 0x54]
mov edx, 0x101844
call fcn.00013ff4
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 8]
call fcn.000f54a4
jmp 0x100fa5
lea edx, [ebp - 0x15c]
mov eax, ebx
call fcn.00029738
lea edx, [ebp - 0x15c]
lea eax, [ebp - 0x5c]
call fcn.00013f4c
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov edx, 0x101864
call fcn.00013ff4
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 8]
call fcn.000f593c
push ebp
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x21]
lea eax, [ebp - 0x18]
call fcn.001005f4
pop ecx
mov bl, 0xff
cmp byte [ebp - 0x21], 0
je 0x100fd5
mov eax, dword [ebp - 0x18]
call fcn.0001579c
cmp eax, 0x158
jle 0x100fd5
mov eax, dword [ebp - 0x18]
mov bl, byte [eax + 0x158]
test bl, bl
jb 0x101036
cmp bl, 3
ja 0x101036
push 0x101880
push edi
xor eax, eax
mov al, bl
mov ecx, dword [eax*4 + 0x2506cc]
lea eax, [ebp - 0x168]
mov edx, 0x1018b8
call fcn.00013ff4
mov edx, dword [ebp - 0x168]
lea eax, [ebp - 0x164]
call fcn.000145ac
push dword [ebp - 0x164]
lea eax, [ebp - 0x160]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x160]
mov edx, dword [ebp - 8]
call fcn.000f5744
jmp 0x1010a5
push 0x101880
push edi
lea edx, [ebp - 0x15c]
mov eax, ebx
call fcn.00029738
lea edx, [ebp - 0x15c]
lea eax, [ebp - 0x178]
call fcn.00013f4c
mov ecx, dword [ebp - 0x178]
lea eax, [ebp - 0x174]
mov edx, 0x1018c4
call fcn.00013ff4
mov edx, dword [ebp - 0x174]
lea eax, [ebp - 0x170]
call fcn.000145ac
push dword [ebp - 0x170]
lea eax, [ebp - 0x16c]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 8]
call fcn.000f5428
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
call fcn.000140b8
jne 0x1010bc
cmp byte [ebp - 0x21], 0
jne 0x10164f
cmp bl, 1
jne 0x1010d8
cmp byte [ebp - 0x21], 0
je 0x1010d8
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
call fcn.000140b8
je 0x10164f
cmp byte [ebp - 0x21], 0
jne 0x10113b
push 0x1018cc
push edi
push 0x101900
lea eax, [ebp - 0x17c]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 8]
call fcn.000f5744
mov eax, dword [ebp - 0x1c]
call fcn.0001579c
push eax
lea eax, [ebp - 0x18]
mov ecx, 1
mov edx, dword [0xf5394]
call fcn.00015958
add esp, 4
mov eax, dword [ebp - 0x1c]
call fcn.0001579c
mov ecx, eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0001291c
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x158], 1
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 4]
call fcn.00027578
mov edx, dword [ebp - 0x180]
lea eax, [ebp - 0x20]
mov ecx, 0x101924
call fcn.00013ff4
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0
mov eax, dword [0x2514d0]
mov eax, dword [eax]
add eax, 0xf003f
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 0x20]
call fcn.0001416c
push eax
push 0x80000003
call sub.advapi32.dll_RegCreateKeyExA
mov esi, eax
cmp dword [ebp - 0x2c], 0
jne 0x1011fc
push 0x101940
push edi
lea edx, [ebp - 0x190]
mov eax, esi
call fcn.00027478
mov ecx, dword [ebp - 0x190]
lea eax, [ebp - 0x18c]
mov edx, 0x1018b8
call fcn.00013ff4
mov edx, dword [ebp - 0x18c]
lea eax, [ebp - 0x188]
call fcn.000145ac
push dword [ebp - 0x188]
lea eax, [ebp - 0x184]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 8]
call fcn.000f5840
cmp dword [ebp - 0x2c], 0
je 0x10120b
mov eax, dword [ebp - 0x2c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x194]
mov eax, dword [ebp - 4]
call fcn.00027578
mov edx, dword [ebp - 0x194]
lea eax, [ebp - 0x20]
mov ecx, 0x10197c
call fcn.00013ff4
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0
mov eax, dword [0x2514d0]
mov eax, dword [eax]
add eax, 0xf003f
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 0x20]
call fcn.0001416c
push eax
push 0x80000003
call sub.advapi32.dll_RegCreateKeyExA
mov esi, eax
cmp dword [ebp - 0x2c], 0
je 0x1012fa
mov eax, dword [ebp - 0x18]
call fcn.0001579c
push eax
mov eax, dword [ebp - 0x18]
push eax
push 3
push 0
mov eax, dword [ebp - 0x10]
call fcn.00014620
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.advapi32.dll_RegSetValueExW
mov esi, eax
test esi, esi
je 0x101358
push 0x101998
push edi
lea edx, [ebp - 0x1a4]
mov eax, esi
call fcn.00027478
mov ecx, dword [ebp - 0x1a4]
lea eax, [ebp - 0x1a0]
mov edx, 0x1018b8
call fcn.00013ff4
mov edx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x19c]
call fcn.000145ac
push dword [ebp - 0x19c]
lea eax, [ebp - 0x198]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 8]
call fcn.000f5840
jmp 0x101358
push 0x1019d0
push edi
lea edx, [ebp - 0x1b4]
mov eax, esi
call fcn.00027478
mov ecx, dword [ebp - 0x1b4]
lea eax, [ebp - 0x1b0]
mov edx, 0x1018b8
call fcn.00013ff4
mov edx, dword [ebp - 0x1b0]
lea eax, [ebp - 0x1ac]
call fcn.000145ac
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x1a8]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 8]
call fcn.000f5840
cmp dword [ebp - 0x2c], 0
je 0x101367
mov eax, dword [ebp - 0x2c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x1b8]
mov eax, dword [ebp - 4]
call fcn.00027578
mov edx, dword [ebp - 0x1b8]
lea eax, [ebp - 0x20]
mov ecx, 0x101a0c
call fcn.00013ff4
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0
mov eax, dword [0x2514d0]
mov eax, dword [eax]
add eax, 0xf003f
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 0x20]
call fcn.0001416c
push eax
push 0x80000003
call sub.advapi32.dll_RegCreateKeyExA
mov esi, eax
cmp dword [ebp - 0x2c], 0
je 0x101456
mov eax, dword [ebp - 0x18]
call fcn.0001579c
push eax
mov eax, dword [ebp - 0x18]
push eax
push 3
push 0
mov eax, dword [ebp - 0x10]
call fcn.00014620
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.advapi32.dll_RegSetValueExW
mov esi, eax
test esi, esi
je 0x1014b4
push 0x101a24
push edi
lea edx, [ebp - 0x1c8]
mov eax, esi
call fcn.00027478
mov ecx, dword [ebp - 0x1c8]
lea eax, [ebp - 0x1c4]
mov edx, 0x1018b8
call fcn.00013ff4
mov edx, dword [ebp - 0x1c4]
lea eax, [ebp - 0x1c0]
call fcn.000145ac
push dword [ebp - 0x1c0]
lea eax, [ebp - 0x1bc]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x1bc]
mov edx, dword [ebp - 8]
call fcn.000f5840
jmp 0x1014b4
push 0x101a5c
push edi
lea edx, [ebp - 0x1d8]
mov eax, esi
call fcn.00027478
mov ecx, dword [ebp - 0x1d8]
lea eax, [ebp - 0x1d4]
mov edx, 0x1018b8
call fcn.00013ff4
mov edx, dword [ebp - 0x1d4]
lea eax, [ebp - 0x1d0]
call fcn.000145ac
push dword [ebp - 0x1d0]
lea eax, [ebp - 0x1cc]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 8]
call fcn.000f5840
cmp dword [ebp - 0x2c], 0
je 0x1014c3
mov eax, dword [ebp - 0x2c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x1dc]
mov eax, dword [ebp - 4]
call fcn.00027578
push dword [ebp - 0x1dc]
push 0x101a98
lea eax, [ebp - 0x1e0]
call fcn.000252c4
push dword [ebp - 0x1e0]
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.00014068
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0
mov eax, dword [0x2514d0]
mov eax, dword [eax]
add eax, 0xf003f
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 0x20]
call fcn.0001416c
push eax
push 0x80000003
call sub.advapi32.dll_RegCreateKeyExA
mov esi, eax
cmp dword [ebp - 0x2c], 0
je 0x10159d
mov eax, dword [ebp - 0x34]
call fcn.00013fa8
inc eax
push eax
mov eax, dword [ebp - 0x34]
call fcn.0001416c
push eax
push 1
push 0
mov eax, dword [ebp - 0x3c]
call fcn.0001416c
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.advapi32.dll_RegSetValueExA
mov esi, eax
test esi, esi
je 0x1015fb
lea edx, [ebp - 0x1e8]
mov eax, esi
call fcn.00027478
mov ecx, dword [ebp - 0x1e8]
lea eax, [ebp - 0x1e4]
mov edx, 0x101aac
call fcn.00013ff4
mov eax, dword [ebp - 0x1e4]
mov edx, dword [ebp - 8]
call fcn.000f59c4
jmp 0x1015fb
push 0x101ac8
push edi
lea edx, [ebp - 0x1f8]
mov eax, esi
call fcn.00027478
mov ecx, dword [ebp - 0x1f8]
lea eax, [ebp - 0x1f4]
mov edx, 0x1018b8
call fcn.00013ff4
mov edx, dword [ebp - 0x1f4]
lea eax, [ebp - 0x1f0]
call fcn.000145ac
push dword [ebp - 0x1f0]
lea eax, [ebp - 0x1ec]
mov edx, 3
call fcn.00014700
mov eax, dword [ebp - 0x1ec]
mov edx, dword [ebp - 8]
call fcn.000f5840
cmp dword [ebp - 0x2c], 0
je 0x10160a
mov eax, dword [ebp - 0x2c]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x11], 1
jmp 0x10164f
mov eax, dword [ebp - 0x1c]
call fcn.0001579c
cdq
push edx
push eax
lea eax, [ebp - 0x200]
call fcn.00027444
mov ecx, dword [ebp - 0x200]
lea eax, [ebp - 0x1fc]
mov edx, 0x101b04
call fcn.00013ff4
mov eax, dword [ebp - 0x1fc]
mov edx, dword [ebp - 8]
call fcn.000f593c
lea eax, [ebp - 0x18]
mov edx, dword [0xf5394]
call fcn.00015964
lea eax, [ebp - 0x1c]
mov edx, dword [0xf5394]
call fcn.00015964
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1017e1
lea eax, [ebp - 0x200]
mov edx, 4
call fcn.00013d3c
lea eax, [ebp - 0x1f0]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x1e8]
mov edx, 6
call fcn.00013d3c
lea eax, [ebp - 0x1d0]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00013d3c
lea eax, [ebp - 0x1c0]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x1b8]
mov edx, 3
call fcn.00013d3c
lea eax, [ebp - 0x1ac]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x1a4]
mov edx, 2
call fcn.00013d3c
lea eax, [ebp - 0x19c]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x194]
mov edx, 3
call fcn.00013d3c
lea eax, [ebp - 0x188]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x180]
call fcn.00013d18
lea eax, [ebp - 0x17c]
call fcn.000143f0
lea eax, [ebp - 0x178]
mov edx, 2
call fcn.00013d3c
lea eax, [ebp - 0x170]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x168]
call fcn.00013d18
lea eax, [ebp - 0x164]
mov edx, 2
call fcn.00014408
lea eax, [ebp - 0x5c]
mov edx, 9
call fcn.00013d3c
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.00013d3c
lea eax, [ebp - 0x20]
call fcn.00013d18
lea eax, [ebp - 0x1c]
mov edx, dword [0xf5394]
mov ecx, 2
call fcn.00014b08
lea eax, [ebp - 0x10]
call fcn.000143f0
lea eax, [ebp - 0xc]
call fcn.00013d18
lea eax, [ebp - 4]
call fcn.00013d18
ret