Function at 0x10028f1f
Capabilities:
Set registry value

Disassembly:
mov eax, 0x1005e8b3
call fcn.1005d360
sub esp, 0x6c
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], esi
je 0x100290f8
sub esp, 0x18
mov ecx, esp
push dword [ebp + 0x28]
call fcn.1000a7c7
lea ecx, [ebp - 0x3c]
call fcn.1002863b
add esp, 0x18
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x3c], eax
je 0x10028fbb
push dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0x4c], 7
push eax
push dword [ebp - 0x3c]
mov word [ebp - 0x60], cx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x50], ebx
call fcn.1002b4a0
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.10028e69
lea ecx, [ebp - 0x60]
push ebx
push 1
test eax, eax
jns 0x10028fb3
mov byte [esi], 1
call fcn.10005f65
lea ecx, [ebp - 0x3c]
call fcn.100060d7
jmp 0x100291e5
mov byte [ebp - 4], bl
call fcn.10005f65
mov dword [ebp - 0x28], 0x5eb1
cmp dword [ebp - 0x28], 0x5fa8
jle 0x10029039
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov ecx, esi
mov dword [ebp - 0x24], 0x43d0
mov dword [ebp - 0x18], ecx
mov edi, ebx
mov esi, ebx
lea eax, [esi + edi]
and eax, ecx
lea ecx, [ebp - 0x78]
cdq
push edx
push eax
call fcn.10001ace
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10028ffa
mov eax, dword [eax]
push eax
call fcn.1004699c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.10005d35
mov ecx, dword [ebp - 0x18]
inc esi
cmp esi, 0xe32
jl 0x10028fe0
inc edi
cmp edi, 0x1373
jl 0x10028fde
dec ecx
dec dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
jne 0x10028fdc
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x5bf
jl 0x10028fd0
mov dword [ebp - 0x18], 0x1387
cmp dword [ebp - 0x18], 0x1710
jle 0x100290b4
push ebx
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x28], 0x2a7d
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
mov eax, edi
mov ecx, 0x10078bb8
cdq
idiv esi
or edx, ebx
mov eax, edx
cdq
push edx
push eax
call fcn.100055e4
inc esi
cmp esi, 0x1afb
jl 0x10029066
inc edi
push 0
pop ebx
cmp edi, 0x63aa
jl 0x10029061
dec dword [ebp - 0x1c]
dec dword [ebp - 0x28]
jne 0x1002905f
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x3802
jl 0x10029055
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x18], 0x132e
mov byte [eax], bl
jge 0x10028fa6
mov edx, str.drypdgj_moqmauvtw_ahijyv_svqwiatyi
mov ecx, 0x10078bb8
call fcn.10009472
jmp 0x10028fa6
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x100291e5
mov dword [ebp - 0x30], 0x1d45
cmp dword [ebp - 0x30], 0x867
jge 0x100291d6
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
push str._ld__ld
call fcn.1004669b
add esp, 0xc
lea ecx, [ebp - 0x48]
push dword [ebp - 0x1c]
call fcn.1002b012
xor ebx, ebx
cmp dword [ebp - 0x1c], ebx
jle 0x1002915a
mov edi, dword [ebp - 0x48]
mov esi, ebx
push edi
push 0x10067224
call fcn.1004669b
inc esi
add edi, 4
pop ecx
pop ecx
cmp esi, dword [ebp - 0x1c]
jl 0x10029144
mov edi, ebx
mov esi, dword [ebp - 0x48]
cmp dword [ebp - 0x2c], ebx
jle 0x100291cb
lea eax, [ebp - 0x20]
push eax
push 0x10067224
call fcn.1004669b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
dec ecx
mov dword [ebp - 0x18], edx
mov byte [ebp - 0x11], bl
js 0x100291ae
lea eax, [ecx + edx]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [esi + eax*4]
cmp edx, dword [ebp - 0x20]
je 0x100291aa
jge 0x1002919c
lea edx, [eax + 1]
mov dword [ebp - 0x18], edx
jmp 0x100291a4
mov edx, dword [ebp - 0x18]
jle 0x100291a4
lea ecx, [eax - 1]
cmp edx, ecx
jle 0x10029182
jmp 0x100291ae
mov byte [ebp - 0x11], 1
cmp byte [ebp - 0x11], bl
mov ecx, 0x10067ed4
mov eax, 0x10067ed8
cmove eax, ecx
push eax
call fcn.10046bb6
inc edi
pop ecx
cmp edi, dword [ebp - 0x2c]
jl 0x10029164
test esi, esi
je 0x100291d6
push esi
call fcn.10046b69
pop ecx
push 0x9f7
push ecx
xor dl, dl
call fcn.10026708
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret