Function at 0x55aad0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c2f80
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
test eax, eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 4], 0
je 0x55ae07
mov ecx, dword [esi + 0x3a0]
test ecx, ecx
jne 0x55ab1d
push eax
mov ecx, esi
call fcn.0055dc10
test al, al
je 0x55ae07
mov edx, dword [esi + 0x100]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55ab55
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push ecx
push edx
push 1
push eax
mov eax, dword [esi + 0x3a0]
push 0x66e23c
push eax
call ebx
jmp 0x55ab5b
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [esi + 0x104]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55ab8b
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x3a0]
push edx
push 1
push eax
push 0x66e234
push ecx
call ebx
mov edx, dword [esi + 0x108]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55abbb
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x3a0]
push 1
push eax
push 0x66e228
push edx
call ebx
mov edx, dword [esi + 0x10c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55abeb
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push 1
push eax
mov eax, dword [esi + 0x3a0]
push 0x66e21c
push eax
call ebx
mov edx, dword [esi + 0x110]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55ac14
mov ecx, dword [esi + 0x3a0]
push edx
push 0x66e210
push ecx
call fcn.00550530
add esp, 0xc
mov edx, dword [esi + 0xc8]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55ac44
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x3a0]
push 1
push eax
push 0x66e208
push edx
call ebx
mov edx, dword [esi + 0x130]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55ac74
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push 1
push eax
mov eax, dword [esi + 0x3a0]
push 0x66e200
push eax
call ebx
mov edx, dword [esi + 0x134]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55aca4
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x3a0]
push edx
push 1
push eax
push 0x66e1f8
push ecx
call ebx
mov edx, dword [esi + 0x138]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55acd4
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x3a0]
push 1
push eax
push 0x66e1f0
push edx
call ebx
mov edx, dword [esi + 0x13c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55acfd
mov eax, dword [esi + 0x3a0]
push edx
push 0x66e1e8
push eax
call fcn.00550530
add esp, 0xc
mov edx, dword [esi + 0x140]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55ad2d
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x3a0]
push edx
push 1
push eax
push 0x66e1e0
push ecx
call ebx
mov edx, dword [esi + 0x118]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55ad5d
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x3a0]
push 1
push eax
push 0x66e1d8
push edx
call ebx
mov ecx, dword [esi + 0x124]
lea eax, [esi + 0x120]
test ecx, ecx
jl 0x55ad89
jg 0x55ad74
cmp dword [eax], 0
jbe 0x55ad89
push 8
push eax
mov eax, dword [esi + 0x3a0]
push 0
push 0
push 0x66e1cc
push eax
call ebx
mov edx, dword [esi + 0x2d0]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55adb9
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x3a0]
push edx
push 1
push eax
push 0x66e1c4
push ecx
call ebx
mov al, byte [esi + 0x156]
test al, al
je 0x55ade2
mov eax, dword [esi + 0x3a0]
lea edx, [ebp + 8]
push 4
push edx
push 4
push 0
push 0x66e1bc
push eax
mov dword [ebp + 8], 1
call ebx
mov ecx, dword [esi + 0x128]
lea eax, [esi + 0x128]
test ecx, ecx
jle 0x55ae07
mov ecx, dword [esi + 0x3a0]
push 4
push eax
push 0
push 0
push 0x66e1b4
push ecx
call ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4