Function at 0x4190d0
Capabilities:
Set registry value

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x20]
xor eax, eax
push ebp
push 1
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
or ebx, 0xffffffff
mov dword [esp + 0x1c], eax
call fcn.00418ed0
add esp, 8
test al, al
je 0x419321
push edi
push 1
lea eax, [esp + 0x14]
lea edi, [esp + 0x18]
call fcn.00418fb0
add esp, 4
test al, al
je 0x419320
mov edx, dword [esp + 0xc]
push esi
mov esi, dword [esp + 0x14]
shr esi, 2
cmp byte [esp + 0x2c], 0
je 0x41919e
test edx, edx
je 0x419181
mov eax, 1
cmp esi, eax
jbe 0x419181
mov ecx, dword [esp + 0x18]
cmp dword [ecx + eax*4], edx
je 0x41914e
add eax, 1
cmp eax, esi
jb 0x419140
jmp 0x419185
cmp eax, 0xffffffff
je 0x419185
lea ecx, [ecx + eax*4]
sub esi, eax
lea eax, [esi*4 - 4]
push eax
lea edx, [ecx + 4]
push edx
push ecx
call fcn.0041b4f0
sub dword [esp + 0x20], 4
push 0
lea eax, [esp + 0x24]
lea edi, [esp + 0x28]
call fcn.00418fb0
add esp, 0x10
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x41931f
push ecx
call fcn.0041a47b
add esp, 4
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x14
ret
test edx, edx
mov edi, dword [esp + 0x18]
jne 0x4191d8
mov eax, 1
cmp esi, eax
jbe 0x4191c5
nop
mov ecx, dword [edi + eax*4]
cmp ecx, edx
jb 0x4191be
lea edx, [ecx + 1]
mov dword [esp + 0x10], edx
add eax, 1
cmp eax, esi
jb 0x4191b0
push ebp
push 0
lea ecx, [esp + 0x18]
call fcn.00418ed0
mov edx, dword [esp + 0x18]
add esp, 8
mov eax, 1
cmp esi, eax
jbe 0x4191ed
cmp dword [edi + eax*4], edx
je 0x41923e
add eax, 1
cmp eax, esi
jb 0x4191e1
mov ebp, ebx
push 0x4275e0
push 1
lea ecx, [esp + 0x24]
call fcn.00418ed0
add esp, 8
test al, al
jne 0x419219
push str.Tcpip
push 1
lea ecx, [esp + 0x24]
call fcn.00418ed0
add esp, 8
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jbe 0x419244
mov eax, 1
cmp esi, eax
jbe 0x419244
lea ebx, [ebx]
cmp dword [edi + eax*4], ecx
je 0x419242
add eax, 1
cmp eax, esi
jb 0x419230
jmp 0x419244
mov ebp, eax
jmp 0x4191ef
mov ebx, eax
cmp ebp, 0xffffffff
je 0x419285
cmp ebx, 0xffffffff
je 0x4192bb
cmp ebx, ebp
jae 0x419312
mov eax, ebp
sub eax, ebx
cmp eax, 1
jbe 0x419312
lea eax, [eax*4 - 4]
push eax
lea esi, [edi + ebx*4 + 4]
lea ecx, [edi + ebx*4 + 8]
push esi
push ecx
call fcn.0041b4f0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esi], edx
jmp 0x4192bb
cmp ebx, 0xffffffff
je 0x4192af
sub esi, ebx
lea eax, [esi*4 - 4]
push eax
lea ebp, [edi + ebx*4 + 4]
lea ecx, [edi + ebx*4 + 8]
push ebp
push ecx
call fcn.0041b4f0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [ebp], edx
jmp 0x4192b6
mov eax, dword [esp + 0x10]
mov dword [edi + esi*4], eax
add dword [esp + 0x14], 4
lea ecx, [esp + 0x20]
push ecx
push 3
push 0
push str.SYSTEMCurrentControlSetControlGroupOrderList
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x419312
mov eax, dword [esp + 0x14]
cmp eax, 4
jbe 0x4192e9
shr eax, 2
sub eax, 1
jmp 0x4192eb
xor eax, eax
mov dword [edi], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push edx
push edi
push 3
push 0
push str.PNP_TDI
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [esp + 0x20]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x41931f
push edi
call fcn.0041a47b
add esp, 4
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x14
ret