Function at 0x1007af1
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x101c
call fcn.01003a3d
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [edi + 0x9c]
mov dword [ebp - 8], ebx
cmp esi, ebx
mov dword [ebp - 0xc], ebx
je 0x1015c16
push edi
call fcn.01007d22
test eax, eax
je 0x1007d1b
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 8]
push eax
push ebx
push 0x20006
push 1
push ebx
push ebx
push 0x100a548
push dword [edi + 0x68]
call dword [sym.imp.ADVAPI32.DLL_RegCreateKeyExW]
test eax, eax
jne 0x1007d02
mov edi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
cmp word [esi], 0x20
je 0x1015c1e
mov dword [ebp - 4], esi
jmp 0x1007b67
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
je 0x1007b75
cmp ax, 0x3d
jne 0x1007b65
cmp word [esi], bx
je 0x1007d02
push dword [ebp - 4]
mov word [esi], bx
call edi
inc eax
cmp eax, 0x400
jg 0x1007d02
push dword [ebp - 4]
lea eax, [ebp - 0x101c]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov word [esi], 0x3d
lea eax, [ebp - 0x101c]
inc esi
push eax
inc esi
call edi
lea eax, [ebp + eax*2 - 0x101e]
mov cx, word [eax]
cmp cx, bx
je 0x1007bcb
cmp cx, 0x20
je 0x1015c25
mov word [eax + 2], bx
cmp word [esi], 0x20
je 0x1015c2c
mov dword [ebp - 4], esi
jmp 0x1007be0
inc esi
inc esi
cmp word [esi], bx
jne 0x1007bde
push dword [ebp - 4]
call edi
inc eax
cmp eax, 0x400
jg 0x1007d02
push dword [ebp - 4]
lea eax, [ebp - 0x818]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
lea eax, [ebp - 0x818]
push eax
call edi
lea eax, [ebp + eax*2 - 0x81a]
mov cx, word [eax]
cmp cx, bx
je 0x1007c28
cmp cx, 0x20
je 0x1015c33
mov word [eax + 2], bx
lea eax, [ebp - 0x818]
push eax
mov dword [ebp - 4], ebx
call edi
cmp eax, ebx
jbe 0x1007c56
lea ecx, [ebp - 0x818]
mov dword [ebp - 0x10], eax
cmp word [ecx], 0x25
je 0x1015c3a
inc ecx
inc ecx
dec dword [ebp - 0x10]
jne 0x1007c45
cmp dword [ebp - 4], 2
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x818]
push eax
sbb eax, eax
inc eax
inc eax
push eax
lea eax, [ebp - 0x101c]
push ebx
push eax
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.DLL_RegSetValueExW]
inc esi
inc esi
cmp word [esi], bx
jne 0x1007b56
cmp dword [0x102104c], ebx
jne 0x1015c42
push 0x100a530
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
mov esi, eax
cmp esi, ebx
je 0x1007cfb
push 0x100a51c
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
cmp eax, ebx
je 0x1007cf4
lea ecx, [ebp - 0x818]
push ecx
mov ecx, dword [ebp + 8]
push ebx
push dword [ecx + 0x24]
push 0x401a
push ebx
call eax
test eax, eax
jl 0x1007cf4
lea eax, [ebp - 0x818]
push eax
call edi
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x818]
push eax
push 1
push ebx
push 0x100a50c
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.DLL_RegSetValueExW]
push esi
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
mov dword [ebp - 0xc], 1
cmp dword [ebp - 8], ebx
je 0x1007d10
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
push dword [ebp + 8]
call fcn.01007d87
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret 4
push 1
pop eax
jmp 0x1007d1b
inc esi
inc esi
jmp 0x1007b56
dec eax
dec eax
jmp 0x1007bb9
inc esi
inc esi
jmp 0x1007bcf
dec eax
dec eax
jmp 0x1007c16
inc dword [ebp - 4]
jmp 0x1007c4f
mov eax, dword [0x1023064]
cmp eax, ebx
je 0x1007c93
lea ecx, [ebp - 0x818]
push ecx
push dword [0x1021048]
push ebx
call eax
test al, al
je 0x1007c93
lea eax, [ebp - 0x818]
push eax
call edi
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x818]
push eax
push 1
push ebx
push 0x100c2c4
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.DLL_RegSetValueExW]
jmp 0x1007c93