Function at 0x10027b60
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10064868
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x100e57c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2c], edi
mov eax, dword [edi + 8]
mov edx, dword [edi + 0x160]
xor esi, esi
push esi
lea ecx, [ebp - 0x18]
push ecx
push esi
push 0x20006
push esi
push esi
push esi
push eax
push edx
mov dword [ebp - 0x18], esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10027bd1
mov eax, dword [edi + 0x15c]
cmp eax, esi
je 0x10027bc6
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x15c], eax
jmp 0x10027bd4
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x10027db2
cmp dword [edi + 0x214], esi
je 0x10027bed
mov dword [ebp - 0x24], 9
jmp 0x10027bf6
mov ecx, dword [edi + 0x210]
mov dword [ebp - 0x24], ecx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
lea edx, [ebp - 0x24]
push edx
push 4
push esi
push str.Channel
push eax
call ebx
cmp dword [edi + 0x20c], esi
jle 0x10027db2
lea eax, [edi + 0xc]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x100da014]
mov dword [ebp - 0x10], ecx
lea eax, [esi + 1]
push eax
lea edx, [ebp - 0x10]
push str.Band_d
push edx
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], eax
call fcn.10001a40
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
add esp, 0xc
push 0
lea eax, [ebp - 0x14]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10027d73
mov edi, dword [ebp - 0x20]
mov ecx, esi
mov eax, 0x10000
shl eax, cl
mov esi, 1
mov dword [ebp - 0x28], eax
push esi
lea eax, [ebp - 0x10]
push str.Flags_d
push eax
call fcn.10001a40
mov eax, dword [edi]
or eax, dword [ebp - 0x28]
add esp, 0xc
push 4
lea ecx, [esi - 1]
mov edx, pe_nt_image_headers32
shl edx, cl
mov ecx, dword [ebp - 0x10]
push edi
push 4
and eax, 0xffff00ff
or edx, eax
push 0
mov dword [edi], edx
mov edx, dword [ebp - 0x14]
push ecx
push edx
call ebx
push esi
lea eax, [ebp - 0x10]
push str.Freq_d
push eax
call fcn.10001a40
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add esp, 0xc
push 4
lea ecx, [edi + 4]
push ecx
push 4
push 0
push edx
push eax
call ebx
push esi
lea ecx, [ebp - 0x10]
push str.BWx100_d
push ecx
call fcn.10001a40
fld dword [edi + 8]
fmul qword [0x10069180]
add esp, 0xc
call fcn.1004ce50
mov ecx, dword [ebp - 0x14]
push 4
lea edx, [ebp - 0x1c]
push edx
push 4
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
push 0
push eax
push ecx
call ebx
push esi
lea edx, [ebp - 0x10]
push str.Gainx100_d
push edx
call fcn.10001a40
fld dword [edi + 0xc]
fmul qword [0x10069180]
add esp, 0xc
call fcn.1004ce50
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 4
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 4
push 0
push ecx
push edx
call ebx
inc esi
add edi, 0xa0
lea eax, [esi - 1]
cmp eax, 2
jl 0x10027c84
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
lea edx, [eax - 0xc]
mov dword [ebp - 4], 0xffffffff
cmp edx, dword [0x100da010]
je 0x10027d9f
lea esi, [eax - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x10027d9f
push esi
call fcn.1004b641
add esp, 4
mov esi, dword [ebp - 0x30]
add dword [ebp - 0x20], 0x10
cmp esi, dword [edi + 0x20c]
jl 0x10027c1f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret