Function at 0x1005868
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1a48
call fcn.01006210
mov eax, dword [0x1008f78]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x1a48], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 0x1a3c], eax
lea eax, [ebp - 0x1a24]
push edi
push eax
mov dword [ebp - 0x1a44], edi
mov dword [ebp - 0x1a40], ebx
mov dword [ebp - 0x1a38], ebx
mov dword [ebp - 0x1a30], ebx
mov dword [ebp - 0x1a34], ebx
mov dword [ebp - 0x1a28], ebx
mov dword [ebp - 0x1a2c], ebx
call fcn.01003ef9
cmp eax, ebx
pop ecx
pop ecx
jne 0x1005dc2
cmp dword [ebp + 0xc], 1
push esi
push 3
pop esi
mov dword [0x10090c0], esi
mov dword [0x10090d8], esi
mov dword [0x10090f0], esi
mov dword [0x1009108], esi
mov dword [0x1009120], esi
mov dword [0x1009138], esi
jne 0x10059d2
mov ebx, dword [sym.imp.MSVCR80.dll__itow_s]
lea eax, [ebp - 0x11b4]
mov dword [0x10090c8], eax
lea eax, [ebp - 0x1164]
mov dword [0x10090e0], eax
lea eax, [ebp - 0x1114]
mov dword [0x10090f8], eax
lea eax, [ebp - 0x1a20]
mov dword [0x1009110], eax
lea eax, [ebp - 0x1918]
push 0xa
mov dword [0x1009128], eax
push 0xb
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x1810]
call ebx
push 9
lea eax, [ebp - 0x1c]
push eax
add edi, 0xe88
push 0xa
push edi
call dword [sym.imp.MSVCR80.dll_wcsncpy_s]
push 0xa
push 0xb
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x180c]
call ebx
add esp, 0x30
push 0x10017bc
push 0xa
push edi
call fcn.01003a24
lea eax, [ebp - 0x1c]
push eax
push 0xa
push edi
call fcn.01003a24
push dword [ebp - 0x1a44]
mov dword [0x1009140], edi
push 1
call fcn.010031df
push 0x10020b4
lea eax, [ebp - 0x680]
push 0xff
push eax
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
mov edi, dword [ebp - 0x1a44]
add esp, 0x14
xor ebx, ebx
jmp 0x1005a31
lea eax, [edi + 0xc30]
push edi
push 9
mov dword [0x10090c8], 0x1002068
mov dword [0x10090e0], 0x1002018
mov dword [0x10090f8], eax
mov dword [0x1009110], 0x1001fec
mov dword [0x1009128], 0x1001fd4
mov dword [0x1009140], 0x1001fc8
call fcn.010031df
push 0x1001fb0
lea eax, [ebp - 0x680]
push 0xff
push eax
call dword [sym.imp.MSVCR80.dll_wcscat_s]
add esp, 0x14
call fcn.01003315
cmp eax, 1
jne 0x1005a78
lea eax, [ebp - 0x480]
push 0x105
push eax
call fcn.01004224
cmp eax, ebx
pop ecx
pop ecx
jne 0x1005dc1
lea eax, [ebp - 0x480]
push 0x105
push eax
call fcn.01004eca
test eax, eax
pop ecx
pop ecx
jne 0x1005a78
call dword [0x1001074]
jmp 0x1005dc1
lea eax, [ebp - 0x480]
mov dword [0x1008fa8], eax
lea eax, [ebp - 0x680]
push 0x206
mov dword [0x10092a8], eax
lea eax, [ebp - 0x272]
push ebx
push eax
mov dword [0x1008fa0], esi
mov dword [0x10092a0], esi
mov word [ebp - 0x274], bx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1a40]
push eax
lea eax, [ebp - 0x274]
mov ebx, 0x104
push eax
mov dword [ebp - 0x1a40], ebx
call dword [0x10010cc]
test eax, eax
jne 0x1005af6
push 0x103
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x274]
push ebx
push eax
call dword [sym.imp.MSVCR80.dll_wcsncpy_s]
add esp, 0x10
lea eax, [edi + 0x820]
mov ecx, 0x10014bc
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1005b27
test dx, dx
je 0x1005b23
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1005b27
add eax, 4
add ecx, 4
test dx, dx
jne 0x1005b01
xor eax, eax
jmp 0x1005b2c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1005b5b
push 0x100123c
lea eax, [ebp - 0x274]
push ebx
push eax
call dword [sym.imp.MSVCR80.dll_wcscat_s]
lea eax, [edi + 0x820]
push eax
lea eax, [ebp - 0x274]
push ebx
push eax
call dword [sym.imp.MSVCR80.dll_wcscat_s]
add esp, 0x18
cmp dword [ebp + 0xc], 1
lea eax, [ebp - 0x274]
mov dword [0x1009408], esi
mov dword [0x1009410], eax
mov dword [0x10091f8], esi
mov dword [0x1009200], 0x1001fac
jne 0x1005b91
lea eax, [ebp - 0x1a24]
push eax
push edi
call fcn.01002fa9
pop ecx
pop ecx
lea eax, [ebp - 0xa94]
push 0x105
push eax
call fcn.010049ef
xor esi, esi
cmp eax, esi
pop ecx
pop ecx
jne 0x1005dc1
push 0x10013e8
lea eax, [ebp - 0x888]
push ebx
push eax
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
add esp, 0xc
lea eax, [ebp - 0xa94]
push eax
push ebx
lea eax, [ebp - 0x888]
push eax
call fcn.01003a24
lea eax, [ebp - 0x1a30]
push eax
push 0x1002114
lea eax, [ebp - 0x888]
push eax
call dword [0x1009608]
mov ebx, eax
cmp ebx, esi
jl 0x1005cdd
cmp dword [ebp + 0xc], 1
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [eax]
lea edx, [ebp - 0x1a38]
push edx
lea edx, [edi + 0x410]
jne 0x1005c1f
push 0x1f
push 0x1008848
jmp 0x1005c26
push 0x12
push 0x1008e10
push edx
push eax
call dword [ecx + 0x18]
mov ebx, eax
cmp ebx, esi
jge 0x1005c64
and eax, 0xffff
cmp eax, 0x1392
jne 0x1005cdd
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
push dword [ebp + 0xc]
push dword [ebp - 0x1a48]
call fcn.01005532
add esp, 0xc
jmp 0x1005dc1
mov eax, dword [ebp - 0x1a38]
mov ecx, dword [eax]
lea edx, [ebp - 0x1a34]
push edx
push 0x10020f4
push eax
call dword [ecx]
mov ebx, eax
cmp ebx, esi
jl 0x1005cdd
push esi
push 1
push dword [ebp - 0x1a3c]
push esi
push esi
push esi
push esi
push 0x10040000
push dword [ebp - 0x1a34]
call fcn.010044d6
mov ebx, eax
add esp, 0x24
cmp ebx, esi
jne 0x1005cdd
mov eax, dword [ebp - 0x1a34]
mov ecx, dword [eax]
lea edx, [ebp - 0x1a28]
push edx
push eax
call dword [ecx + 0x24]
mov ebx, eax
cmp ebx, esi
jne 0x1005cdd
cmp dword [ebp - 0x1a28], esi
je 0x1005cf1
push dword [ebp - 0x1a28]
lea eax, [ebp - 0x6c]
push 0x28
push eax
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
add esp, 0xc
cmp dword [ebp - 0x1a28], esi
je 0x1005cf1
push dword [ebp - 0x1a28]
call dword [0x1001188]
mov eax, dword [ebp - 0x1a34]
cmp eax, esi
je 0x1005d01
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1a38]
cmp eax, esi
je 0x1005d11
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1a30]
cmp eax, esi
je 0x1005d21
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp ebx, esi
jne 0x1005dbf
push edi
push 1
mov dword [ebp - 0x1a2c], esi
call fcn.01002f00
pop ecx
pop ecx
lea eax, [ebp - 0x1a2c]
push eax
push 2
push esi
lea eax, [edi + 0x618]
push eax
push dword [ebp - 0x1a48]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
cmp ebx, esi
jne 0x1005dab
lea eax, [ebp - 0x6c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, si
jne 0x1005d62
sub eax, edx
sar eax, 1
add eax, eax
push eax
lea eax, [ebp - 0x6c]
push eax
push 1
push esi
push 0x10013d0
push dword [ebp - 0x1a2c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
cmp ebx, esi
jne 0x1005dab
mov eax, dword [ebp - 0x1a3c]
cmp eax, esi
jne 0x1005da0
mov eax, str.LocalSystem
push edi
push eax
call fcn.0100340a
pop ecx
pop ecx
mov ebx, eax
cmp dword [ebp - 0x1a2c], esi
je 0x1005dbf
push dword [ebp - 0x1a2c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.01005e45
leave
ret