Function at 0x45f89d57
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45fb5918
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1124
call fcn.45fb1440
mov eax, dword [0x46039020]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x1130], edi
mov esi, edx
mov dword [ebp - 0x112c], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1124], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1134], eax
xor ebx, ebx
mov dword [ebp - 0x1120], ebx
lea eax, [ebp - 0x1014]
call fcn.45f89c5a
cmp eax, ebx
jl 0x45f8a1fb
lea eax, [ebp - 0x1120]
push eax
lea eax, [ebp - 0x1014]
push eax
call fcn.45f89afe
pop ecx
pop ecx
test eax, eax
jne 0x45f89def
mov eax, 0x80020009
jmp 0x45f8a1fb
call fcn.45f89c25
lea eax, [ebp - 0x1014]
mov ecx, edi
call fcn.45f89c5a
cmp eax, ebx
jl 0x45f8a1fb
movzx eax, word [ebp - 0x1120]
sub eax, 8
je 0x45f8a1ae
sub eax, 9
je 0x45f8a041
dec eax
dec eax
je 0x45f89f35
sub eax, 0x3ff5
jne 0x45f8a1e4
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
inc eax
mov dword [ebp - 0x1118], ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 4], 1
push 1
push eax
call fcn.45e74927
pop ecx
pop ecx
cmp eax, 0x100
jbe 0x45f89e71
push eax
lea eax, [ebp - 0x1118]
push eax
call fcn.45f8e815
jmp 0x45f89e7d
lea eax, [ebp - 0x1114]
mov dword [ebp - 0x1118], eax
mov dword [ebp - 4], ebx
jmp 0x45f89e8e
mov esi, dword [ebp - 0x1118]
cmp esi, ebx
je 0x45f89f0c
lea edi, [ebp - 0x1014]
cmp byte [ebp - 0x1014], 0
je 0x45f89eea
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
push edi
call ebx
mov cl, byte [edi]
cmp cl, 0x5c
jne 0x45f89ec7
cmp byte [eax], 0x30
jne 0x45f89ec7
mov byte [esi], 0
inc esi
push eax
call ebx
mov edi, eax
jmp 0x45f89ee3
mov byte [esi], cl
movzx eax, byte [edi]
push eax
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x45f89ee1
inc esi
inc edi
mov al, byte [edi]
test al, al
je 0x45f89ee8
mov byte [esi], al
inc esi
inc edi
cmp byte [edi], 0
jne 0x45f89ead
xor ebx, ebx
mov byte [esi], 0
mov byte [esi + 1], 0
push dword [ebp - 0x1118]
push dword [ebp - 0x1124]
push dword [ebp - 0x112c]
call fcn.45f88d8a
mov edi, eax
jmp 0x45f89f0f
push 0xe
pop edi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1114]
cmp dword [ebp - 0x1118], eax
je 0x45f8a1d7
lea eax, [ebp - 0x1118]
call fcn.45f8e806
jmp 0x45f8a1d7
mov dword [ebp - 0x1120], ebx
mov dword [ebp - 4], 3
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
inc edi
mov dword [ebp - 0x111c], edi
mov eax, edi
cdq
push ebx
push 2
push edx
push eax
call fcn.45fb1c40
cmp edx, ebx
jg 0x45f89f89
jl 0x45f89f72
cmp eax, 0x7fffffff
ja 0x45f89f89
push edx
push eax
lea ecx, [ebp - 0x111c]
call fcn.45e26fd8
pop ecx
pop ecx
mov edi, dword [ebp - 0x111c]
jmp 0x45f89f8e
mov eax, 0x80070057
cmp eax, ebx
jl 0x45f89fd6
cmp edi, 0x400
jg 0x45f89fb3
push edi
call fcn.45e26f23
pop ecx
test al, al
je 0x45f89fb3
mov eax, edi
call fcn.45fb13c0
mov dword [ebp - 0x10], esp
mov eax, esp
jmp 0x45f89fbf
push edi
lea esi, [ebp - 0x1120]
call fcn.45e26ee3
push 3
shr edi, 1
push edi
lea ecx, [ebp - 0x1014]
push ecx
mov esi, eax
call fcn.45e21d65
cmp eax, ebx
jne 0x45f89fef
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x1120]
call fcn.45e270ac
mov eax, 0x8007000e
jmp 0x45f8a1fb
lea ecx, [ebp - 0x1128]
push ecx
push ebx
push ebx
push eax
call dword [sym.imp.OLEAUT32.dll_VarUI4FromDisp]
mov eax, dword [ebp - 0x1128]
mov dword [ebp - 0x111c], eax
push 4
lea eax, [ebp - 0x111c]
push eax
push 4
push ebx
push dword [ebp - 0x1124]
mov eax, dword [ebp - 0x112c]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x1120]
call fcn.45e270ac
jmp 0x45f8a1d7
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x111c], eax
test al, 1
je 0x45f8a062
mov eax, 0x80004005
jmp 0x45f8a1fb
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov dword [ebp - 0x1128], edi
mov dword [ebp - 0x1118], ebx
push 4
pop esi
mov dword [ebp - 4], esi
mov byte [ebp - 4], 5
push 1
push edi
call fcn.45e74927
pop ecx
pop ecx
cmp eax, 0x100
jbe 0x45f8a09f
push eax
lea eax, [ebp - 0x1118]
push eax
call fcn.45f8e815
jmp 0x45f8a0ab
lea eax, [ebp - 0x1114]
mov dword [ebp - 0x1118], eax
mov dword [ebp - 4], esi
jmp 0x45f8a0c5
cmp dword [ebp - 0x1118], ebx
jne 0x45f8a0f3
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1114]
cmp dword [ebp - 0x1118], eax
je 0x45f8a058
lea eax, [ebp - 0x1118]
call fcn.45f8e806
jmp 0x45f8a058
push edi
push ebx
push dword [ebp - 0x1118]
call fcn.45fb1390
add esp, 0xc
xor esi, esi
cmp dword [ebp - 0x111c], ebx
jle 0x45f8a16e
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1118]
mov cl, byte [ebp + esi - 0x1014]
cmp cl, 0x30
jl 0x45f8a150
cmp cl, 0x39
jle 0x45f8a149
cmp cl, 0x40
jle 0x45f8a150
cmp cl, 0x46
jle 0x45f8a144
cmp cl, 0x60
jle 0x45f8a150
cmp cl, 0x66
jg 0x45f8a150
sub cl, 0x57
jmp 0x45f8a14c
sub cl, 0x37
jmp 0x45f8a14c
sub cl, 0x30
mov dl, cl
jmp 0x45f8a152
xor dl, dl
mov ebx, esi
and ebx, 1
shl ebx, 2
push 4
pop ecx
sub ecx, ebx
shl dl, cl
or byte [eax], dl
inc esi
cmp esi, dword [ebp - 0x111c]
jl 0x45f8a10d
xor ebx, ebx
mov eax, dword [ebp - 0x112c]
mov eax, dword [eax]
push edi
push dword [ebp - 0x1118]
push 3
push ebx
push dword [ebp - 0x1124]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1114]
cmp dword [ebp - 0x1118], eax
je 0x45f8a1d7
lea eax, [ebp - 0x1118]
call fcn.45f8e806
jmp 0x45f8a1d7
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp - 0x1014]
push eax
push 1
push ebx
push dword [ebp - 0x1124]
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
cmp edi, ebx
je 0x45f8a1e4
mov eax, edi
call fcn.45f88b86
jmp 0x45f8a1fb
mov eax, dword [ebp - 0x1134]
mov ecx, dword [ebp - 0x1130]
call fcn.45f89c5a
cmp eax, ebx
jl 0x45f8a1fb
xor eax, eax
lea esp, [ebp - 0x1144]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.45fa9e5d
leave
ret 8