Function at 0x10001e7d
Capabilities:
Set registry value

Disassembly:
push ebp
push ebx
mov edx, 0x15
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x10001e84
call fcn.10018130
mov edx, dword [esp + 0x60]
lea ecx, [esp]
call fcn.10011000
push 0x60000
push dword [esp + 4]
push 0xffffffff
call fcn.100165f0
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
je 0x1000245b
push dword [esp + 0x50]
call fcn.10016610
mov dword [esp + 0x4c], eax
push dword [esp + 0x50]
call fcn.10016780
and eax, eax
je 0x10001ee2
xor eax, eax
jmp 0x10001ee7
mov eax, 1
and eax, eax
je 0x10002452
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
push dword [esp + 0x54]
push dword [esp + 0x5c]
call fcn.10016820
lea eax, [esp + 8]
push eax
call fcn.10018030
push 1
push dword [esp + 8]
call fcn.1000dd55
mov dword [esp + 0x30], eax
cmp dword [esp + 0x30], 0
je 0x10002429
mov ebx, dword [esp + 0x30]
inc ebx
push ebx
push dword [esp + 8]
call fcn.1000dd55
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x34]
inc ebx
push ebx
push dword [esp + 8]
call fcn.1000dd55
mov dword [esp + 0x38], eax
cmp dword [esp + 0x34], 0
je 0x10001f6e
cmp dword [esp + 0x38], 0
je 0x10001f6e
mov eax, 1
jmp 0x10001f70
xor eax, eax
and eax, eax
je 0x10002427
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
mov ebx, dword [esp + 0x40]
dec ebx
push ebx
push dword [esp + 0x18]
call fcn.100143f0
call fcn.10012202
add dword [esp], edx
call fcn.10014460
lea eax, [esp + 0x10]
push eax
call fcn.10018030
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
mov ebx, dword [esp + 0x44]
sub ebx, dword [esp + 0x40]
dec ebx
push ebx
mov ebx, dword [esp + 0x44]
inc ebx
push ebx
push dword [esp + 0x1c]
call fcn.100144d0
call fcn.10012202
add dword [esp], edx
call fcn.10014460
lea eax, [esp + 0x30]
push eax
call fcn.10018030
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
mov ebx, dword [esp + 0x40]
sub ebx, dword [esp + 0x3c]
dec ebx
push ebx
mov ebx, dword [esp + 0x40]
inc ebx
push ebx
push dword [esp + 0x14]
call fcn.100144d0
lea eax, [esp + 0x28]
push eax
call fcn.10018030
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
mov ebx, dword [esp + 0x40]
inc ebx
push ebx
push dword [esp + 0x10]
call fcn.10014560
lea eax, [esp + 0x14]
push eax
call fcn.10018030
lea eax, [esp + 8]
push eax
mov eax, dword [esp + 0x10]
push eax
push dword [0x1002a778]
call sub.ADVAPI32.dll_RegCreateKeyW
mov ebx, eax
and ebx, ebx
jne 0x10002427
push dword [esp + 0x24]
lea edx, [0x10020642]
mov ecx, dword [esp]
call fcn.100121b0
je 0x100020aa
mov dword [esp + 0x2c], 1
jmp 0x10002151
lea edx, [0x100205a0]
mov ecx, dword [esp]
call fcn.100121b0
je 0x100020c7
mov dword [esp + 0x2c], 7
jmp 0x10002151
lea edx, [0x10020646]
mov ecx, dword [esp]
call fcn.100121b0
je 0x100020e1
mov dword [esp + 0x2c], 2
jmp 0x10002151
lea edx, [0x1002041a]
mov ecx, dword [esp]
call fcn.100121b0
je 0x100020fb
mov dword [esp + 0x2c], 3
jmp 0x10002151
lea edx, [0x10020478]
mov ecx, dword [esp]
call fcn.100121b0
je 0x10002115
mov dword [esp + 0x2c], 4
jmp 0x10002151
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
lea edx, [0x100201be]
push edx
call fcn.10017fd0
mov edx, dword [esp + 0x30]
push edx
call fcn.10017fd0
call fcn.10012202
add dword [esp], edx
call fcn.100145b0
call fcn.10012220
mov dword [esp + 0x2c], eax
pop eax
push dword [esp + 0x24]
lea edx, [0x10020642]
mov ecx, dword [esp]
call fcn.100121b0
jne 0x10002186
lea edx, [0x100205a0]
mov ecx, dword [esp]
call fcn.100121b0
jne 0x10002186
lea edx, [0x10020646]
mov ecx, dword [esp]
call fcn.100121b0
je 0x1000219a
push dword [esp + 0x14]
call fcn.100146f0
mov ebx, eax
add ebx, 2
mov dword [esp + 0x24], ebx
jmp 0x100021cf
lea edx, [0x10020478]
mov ecx, dword [esp]
call fcn.100121b0
je 0x100021b4
mov dword [esp + 0x24], 4
jmp 0x100021cf
push dword [esp + 0x14]
call fcn.10014370
mov ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x24], ebx
pop eax
push dword [esp + 0x24]
lea edx, [0x10020642]
pop ecx
call fcn.100121b0
jne 0x100021f6
push dword [esp + 0x24]
lea edx, [0x100205a0]
pop ecx
call fcn.100121b0
jne 0x100021f6
jmp 0x100021fd
mov eax, 1
jmp 0x100021ff
xor eax, eax
and eax, eax
jne 0x10002217
push dword [esp + 0x24]
lea edx, [0x10020646]
pop ecx
call fcn.100121b0
jne 0x10002217
jmp 0x1000221e
mov eax, 1
jmp 0x10002220
xor eax, eax
and eax, eax
je 0x1000229d
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x44]
add ebx, dword [esp + 0x20]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x44]
cmp ebx, dword [esp + 0x48]
jge 0x10002298
mov ebp, dword [esp + 0x44]
movzx ebx, word [ebp]
mov eax, 0xe000
cmp ebx, eax
jl 0x10002273
mov ebp, dword [esp + 0x44]
movzx ebx, word [ebp]
mov eax, 0xe020
cmp ebx, eax
jge 0x10002273
mov eax, 1
jmp 0x10002275
xor eax, eax
and eax, eax
je 0x10002291
mov ebp, dword [esp + 0x44]
movzx ebx, word [ebp]
add ebx, 0xffff2000
push ebx
mov ebp, dword [esp + 0x48]
pop eax
mov word [ebp], ax
add dword [esp + 0x44], 2
jmp 0x10002240
jmp 0x100023fd
push dword [esp + 0x24]
lea edx, [0x10020478]
pop ecx
call fcn.100121b0
je 0x100022f8
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
lea edx, [0x100201be]
push edx
call fcn.10017fd0
mov edx, dword [esp + 0x18]
push edx
call fcn.10017fd0
call fcn.10012202
add dword [esp], edx
call fcn.100145b0
call fcn.10012220
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x100023fd
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x28]
cmp ebx, 4
je 0x1000231c
mov ebx, dword [esp + 0x28]
cmp ebx, 3
je 0x1000231c
jmp 0x10002323
mov eax, 1
jmp 0x10002325
xor eax, eax
and eax, eax
je 0x1000234f
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
push 3
call fcn.10014720
lea eax, [esp + 0x18]
push eax
call fcn.10018030
jmp 0x10002380
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.10014720
lea eax, [esp + 0x18]
push eax
call fcn.10018030
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov ebx, dword [esp + 0x40]
add ebx, dword [esp + 0x20]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x40]
cmp ebx, dword [esp + 0x48]
jge 0x100023fd
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
lea edx, [0x100201be]
push edx
call fcn.10017fd0
push edx
call fcn.10017f90
pop edx
push eax
push edx
call fcn.10017f90
pop edx
push eax
push 2
push dword [esp + 0x58]
call fcn.10017980
pop eax
call fcn.10012202
add dword [esp], edx
call fcn.100145b0
call fcn.10012220
mov ebp, dword [esp + 0x40]
mov byte [ebp], al
inc dword [esp + 0x40]
add dword [esp + 0x44], 4
jmp 0x10002394
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x30]
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x1c]
push eax
push dword [0x1002a778]
call sub.SHLWAPI.dll_SHSetValueW
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
jmp 0x1000244d
lea eax, [esp + 8]
push eax
mov eax, dword [esp + 0x10]
push eax
push dword [0x1002a778]
call sub.ADVAPI32.dll_RegCreateKeyW
mov ebx, eax
and ebx, ebx
jne 0x1000244d
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
jmp 0x10001ed1
push dword [esp + 0x50]
call fcn.10016320
xor eax, eax
push dword [esp]
call fcn.10018190
push dword [esp + 0x24]
call fcn.10018190
push dword [esp + 4]
call fcn.10018190
push dword [esp + 0x10]
call fcn.10018190
push dword [esp + 0xc]
call fcn.10018190
push dword [esp + 0x14]
call fcn.10018190
push dword [esp + 0x2c]
call fcn.10018190
add esp, 0x54
pop ebx
pop ebp
ret 4