Function at 0x4672c0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x4672c8
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4677ab
push dword fs:[eax]
mov dword fs:[eax], esp
mov word [ebp - 0xe], 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x34]
mov edx, dword [ebp + 8]
call fcn.00404d3c
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x20]
mov edx, 0x4677c8
call fcn.00466198
mov dl, 1
mov eax, dword [0x416494]
call fcn.00403d1c
mov dword [ebp - 0x14], eax
mov edx, 0x4677d4
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4677e8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4677fc
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x467818
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x46782c
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x38]
call sym.ExApiDll.dll_WinIs64BitOS
cmp ax, 1
jne 0x467377
mov ecx, 0xf013f
mov dl, 1
mov eax, dword [0x42db24]
call fcn.0042dc68
mov dword [ebp - 4], eax
jmp 0x467386
mov dl, 1
mov eax, dword [0x42db24]
call fcn.0042dc24
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x46775a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x467844
mov eax, dword [ebp - 0x20]
call fcn.00408cdc
test eax, eax
jne 0x4673b2
mov edx, BaseThreadInitThunk
mov eax, dword [ebp - 4]
call fcn.0042dd00
mov edx, 0x467860
mov eax, dword [ebp - 0x20]
call fcn.00408cdc
test eax, eax
jne 0x4673d0
mov edx, reloc.kernel32.dll_BaseThreadInitThunk
mov eax, dword [ebp - 4]
call fcn.0042dd00
mov edx, 0x46787c
mov eax, dword [ebp - 0x20]
call fcn.00408cdc
test eax, eax
jne 0x4673ee
mov edx, 0x80000002
mov eax, dword [ebp - 4]
call fcn.0042dd00
mov edx, 0x467898
mov eax, dword [ebp - 0x20]
call fcn.00408cdc
test eax, eax
jne 0x46740c
mov edx, 0x80000003
mov eax, dword [ebp - 4]
call fcn.0042dd00
mov edx, 0x4678ac
mov eax, dword [ebp - 0x20]
call fcn.00408cdc
test eax, eax
jne 0x46742a
mov edx, 0x80000004
mov eax, dword [ebp - 4]
call fcn.0042dd00
mov edx, 0x4678cc
mov eax, dword [ebp - 0x20]
call fcn.00408cdc
test eax, eax
jne 0x467448
mov edx, 0x80000005
mov eax, dword [ebp - 4]
call fcn.0042dd00
mov edx, 0x4678e8
mov eax, dword [ebp - 0x20]
call fcn.00408cdc
test eax, eax
jne 0x467466
mov edx, 0x80000006
mov eax, dword [ebp - 4]
call fcn.0042dd00
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x24]
call fcn.00404bdc
lea eax, [ebp - 8]
mov edx, dword [ebp + 0x10]
call fcn.00404d3c
mov cl, 1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0042dd68
test al, al
je case.default.0x4674a5
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x54]
cmp eax, 4
ja case.default.0x4674a5
jmp dword [eax*4 + 0x4674ac]
xor eax, eax
push ebp
push 0x467507
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x38]
mov edx, dword [ebp + 0x14]
call fcn.00404d3c
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
mov edx, dword [ebp + 0xc]
call fcn.00404d3c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
pop ecx
call fcn.0042e44c
mov word [ebp - 0xe], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp case.default.0x4674a5
xor eax, eax
push ebp
push 0x467568
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x40]
mov edx, dword [ebp + 0x14]
call fcn.00404d3c
mov eax, dword [ebp - 0x40]
call fcn.004091c8
push eax
lea eax, [ebp - 0x44]
mov edx, dword [ebp + 0xc]
call fcn.00404d3c
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
pop ecx
call fcn.0042e51c
mov word [ebp - 0xe], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp case.default.0x4674a5
lea eax, [ebp - 0x48]
mov edx, dword [ebp + 0x14]
call fcn.00404d3c
mov eax, dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
mov edx, dword [ebp + 0xc]
call fcn.00404d3c
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 4]
pop ecx
call fcn.0042e478
mov word [ebp - 0xe], 1
jmp case.default.0x4674a5
lea eax, [ebp - 0x18]
mov edx, dword [ebp + 0x14]
call fcn.00404d3c
lea eax, [ebp - 0x18]
mov edx, 0x467900
call fcn.00404e0c
mov eax, dword [ebp - 0x18]
call fcn.00404e04
mov ecx, 3
cdq
idiv ecx
mov edi, eax
push edi
lea eax, [ebp - 0x1c]
mov ecx, 1
mov edx, dword [0x46729c]
call fcn.00405ed8
add esp, 4
mov esi, edi
dec esi
test esi, esi
jl 0x46763d
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x54]
mov edx, 2
mov eax, dword [ebp - 0x18]
call fcn.0042d8d8
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
mov edx, 0x46790c
call fcn.00404e50
mov eax, dword [ebp - 0x50]
call fcn.00409154
mov edx, dword [ebp - 0x1c]
mov byte [edx + ebx], al
lea eax, [ebp - 0x18]
mov ecx, 3
mov edx, 1
call fcn.004050a4
inc ebx
dec esi
jne 0x4675f9
push edi
lea eax, [ebp - 0x58]
mov edx, dword [ebp + 0xc]
call fcn.00404d3c
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0042e560
mov word [ebp - 0xe], 1
jmp case.default.0x4674a5
lea eax, [ebp - 0x30]
mov edx, 0x467918
call fcn.00404bdc
lea eax, [ebp - 0x18]
mov edx, dword [ebp + 0x14]
call fcn.00404d3c
jmp 0x4676d9
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
call fcn.00405148
mov ebx, eax
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.00405064
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push 0x467924
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404ec4
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x18]
call fcn.00404e04
sub eax, ebx
push eax
mov eax, dword [ebp - 0x30]
call fcn.00404e04
mov edx, eax
add edx, ebx
mov eax, dword [ebp - 0x18]
pop ecx
call fcn.00405064
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
call fcn.00405148
test eax, eax
jg 0x46767c
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push 0x467924
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404ec4
mov eax, dword [ebp - 0x2c]
call fcn.00404e04
push eax
lea eax, [ebp - 0x2c]
call fcn.0040505c
push eax
push 7
push 0
lea eax, [ebp - 0x5c]
mov edx, dword [ebp + 0xc]
call fcn.00404d3c
mov eax, dword [ebp - 0x5c]
call fcn.00405004
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.advapi32.dll_RegSetValueExA
mov word [ebp - 0xe], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467761
mov eax, dword [ebp - 4]
call fcn.0042dcd0
mov eax, dword [ebp - 4]
call fcn.00403d4c
ret