Function at 0x40ab01
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1124
call fcn.00415ad0
mov eax, dword [0x418010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x1114], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, ecx
mov esi, edx
mov dword [ebp - 0x1124], eax
xor ebx, ebx
lea eax, [ebp - 0x1004]
mov dword [ebp - 0x111c], edi
mov dword [ebp - 0x1118], esi
mov dword [ebp - 0x1110], ebx
call fcn.0040b1c9
cmp eax, ebx
jl 0x40af11
lea eax, [ebp - 0x1110]
push eax
lea eax, [ebp - 0x1004]
push eax
call fcn.0040a9e5
test eax, eax
jne 0x40ab7b
mov eax, 0x80020009
jmp 0x40af11
call fcn.0040b909
lea eax, [ebp - 0x1004]
mov ecx, edi
call fcn.0040b1c9
cmp eax, ebx
jl 0x40af11
movzx eax, word [ebp - 0x1110]
sub eax, 8
je 0x40aec4
sub eax, 9
je 0x40ad98
dec eax
dec eax
je 0x40aca0
sub eax, 0x3ff5
jne 0x40aefa
lea eax, [ebp - 0x1004]
push eax
call dword [fcn.004010a4]
inc eax
inc eax
push eax
mov dword [ebp - 0x1108], ebx
call fcn.0040aadc
cmp eax, 0x100
jbe 0x40abf2
push eax
lea eax, [ebp - 0x1108]
push eax
call fcn.0040a4e5
jmp 0x40abfe
lea eax, [ebp - 0x1104]
mov dword [ebp - 0x1108], eax
mov esi, dword [ebp - 0x1108]
cmp esi, ebx
je 0x40ac7b
lea edi, [ebp - 0x1004]
cmp byte [ebp - 0x1004], bl
je 0x40ac59
mov ebx, dword [fcn.00401358]
push edi
call ebx
mov cl, byte [edi]
cmp cl, 0x5c
jne 0x40ac36
cmp byte [eax], 0x30
jne 0x40ac36
mov byte [esi], 0
push eax
inc esi
call ebx
mov edi, eax
jmp 0x40ac52
mov byte [esi], cl
movzx eax, byte [edi]
push eax
call dword [0x4010a0]
test eax, eax
je 0x40ac50
inc esi
inc edi
mov al, byte [edi]
test al, al
je 0x40ac57
mov byte [esi], al
inc esi
inc edi
cmp byte [edi], 0
jne 0x40ac1c
xor ebx, ebx
mov byte [esi], 0
mov byte [esi + 1], 0
push dword [ebp - 0x1108]
push dword [ebp - 0x1114]
push dword [ebp - 0x1118]
call fcn.0040aa93
mov edi, eax
jmp 0x40ac7e
push 0xe
pop edi
lea eax, [ebp - 0x1104]
cmp dword [ebp - 0x1108], eax
je 0x40aeed
lea eax, [ebp - 0x1108]
call fcn.0040aa84
jmp 0x40aeed
lea eax, [ebp - 0x1004]
push eax
mov dword [ebp - 0x1110], ebx
call dword [fcn.004010a4]
mov edi, eax
inc edi
push ebx
mov eax, edi
cdq
push 2
push edx
push eax
mov dword [ebp - 0x110c], edi
call fcn.00415b00
cmp edx, ebx
jg 0x40aceb
jl 0x40acd6
cmp eax, 0x7fffffff
ja 0x40aceb
push edx
push eax
lea ecx, [ebp - 0x110c]
call fcn.00408ad3
mov edi, dword [ebp - 0x110c]
jmp 0x40acf0
mov eax, 0x80070057
cmp eax, ebx
jl 0x40ad35
cmp edi, 0x400
jg 0x40ad11
push edi
call fcn.00408b38
test al, al
je 0x40ad11
mov eax, edi
call fcn.00415a90
mov eax, esp
jmp 0x40ad1e
mov eax, edi
lea esi, [ebp - 0x1110]
call fcn.00408bac
push 3
shr edi, 1
push edi
lea ecx, [ebp - 0x1004]
push ecx
mov esi, eax
call fcn.00408afe
cmp eax, ebx
jne 0x40ad4a
lea esi, [ebp - 0x1110]
call fcn.00408ab8
mov eax, 0x8007000e
jmp 0x40af11
lea ecx, [ebp - 0x1120]
push ecx
push ebx
push ebx
push eax
call dword [0x40130c]
mov eax, dword [ebp - 0x1120]
push 4
mov dword [ebp - 0x110c], eax
lea eax, [ebp - 0x110c]
push eax
mov eax, dword [ebp - 0x1118]
push 4
push ebx
push dword [ebp - 0x1114]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea esi, [ebp - 0x1110]
mov edi, eax
call fcn.00408ab8
jmp 0x40aeed
lea eax, [ebp - 0x1004]
push eax
call dword [fcn.004010a4]
mov dword [ebp - 0x110c], eax
test al, 1
je 0x40adb9
mov eax, 0x80004005
jmp 0x40af11
cdq
sub eax, edx
mov edi, eax
sar edi, 1
push edi
mov dword [ebp - 0x1108], ebx
call fcn.0040aadc
cmp eax, 0x100
jbe 0x40ade2
push eax
lea eax, [ebp - 0x1108]
push eax
call fcn.0040a4e5
jmp 0x40adee
lea eax, [ebp - 0x1104]
mov dword [ebp - 0x1108], eax
cmp dword [ebp - 0x1108], ebx
jne 0x40ae0d
lea eax, [ebp - 0x1104]
test eax, eax
je 0x40adaf
lea eax, [ebp - 0x1108]
call fcn.0040aa84
jmp 0x40adaf
push edi
push ebx
push dword [ebp - 0x1108]
call fcn.004158b4
add esp, 0xc
xor esi, esi
cmp dword [ebp - 0x110c], ebx
jle 0x40ae88
mov cl, byte [ebp + esi - 0x1004]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1108]
cmp cl, 0x30
jl 0x40ae6a
cmp cl, 0x39
jle 0x40ae63
cmp cl, 0x40
jle 0x40ae6a
cmp cl, 0x46
jle 0x40ae5e
cmp cl, 0x60
jle 0x40ae6a
cmp cl, 0x66
jg 0x40ae6a
sub cl, 0x57
jmp 0x40ae66
sub cl, 0x37
jmp 0x40ae66
sub cl, 0x30
mov dl, cl
jmp 0x40ae6c
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 - 0x110c]
jl 0x40ae27
xor ebx, ebx
mov eax, dword [ebp - 0x1118]
mov eax, dword [eax]
push edi
push dword [ebp - 0x1108]
push 3
push ebx
push dword [ebp - 0x1114]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
lea eax, [ebp - 0x1104]
cmp dword [ebp - 0x1108], eax
je 0x40aeed
lea eax, [ebp - 0x1108]
call fcn.0040aa84
jmp 0x40aeed
lea eax, [ebp - 0x1004]
push eax
call dword [fcn.004010a4]
inc eax
push eax
lea eax, [ebp - 0x1004]
push eax
push 1
push ebx
push dword [ebp - 0x1114]
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
cmp edi, ebx
je 0x40aefa
mov eax, edi
call fcn.0040b1b5
jmp 0x40af11
mov eax, dword [ebp - 0x1124]
mov ecx, dword [ebp - 0x111c]
call fcn.0040b1c9
cmp eax, ebx
jl 0x40af11
xor eax, eax
lea esp, [ebp - 0x1130]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00412315
leave
ret 8