Function at 0x409110
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41d528
push 0x41bdf4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
mov byte [ebp - 0x34], 0x41
mov byte [ebp - 0x33], 0x44
mov byte [ebp - 0x32], 0x56
mov byte [ebp - 0x31], 0x41
mov byte [ebp - 0x30], 0x50
mov byte [ebp - 0x2f], 0x49
mov byte [ebp - 0x2e], 0x33
mov byte [ebp - 0x2d], 0x32
mov byte [ebp - 0x2c], 0x2e
mov byte [ebp - 0x2b], 0x64
mov byte [ebp - 0x2a], 0x6c
mov byte [ebp - 0x29], 0x6c
mov byte [ebp - 0x28], al
push str.RegCreateKeyExA
lea eax, [ebp - 0x34]
push eax
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call edi
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call esi
mov dword [ebp - 0x48], eax
push str.RegOpenKeyExA
lea ecx, [ebp - 0x34]
push ecx
call edi
push eax
call esi
mov ebx, eax
mov dword [ebp - 0x3c], ebx
push str.RegSetValueExA
lea edx, [ebp - 0x34]
push edx
call edi
push eax
call esi
mov dword [ebp - 0x44], eax
push str.RegDeleteValueA
lea eax, [ebp - 0x34]
push eax
call edi
push eax
call esi
mov dword [ebp - 0x4c], eax
push str.RegDeleteKeyA
lea ecx, [ebp - 0x34]
push ecx
call edi
push eax
call esi
mov dword [ebp - 0x38], eax
push str.lstrlenA
push str.KERNEL32.dll
call edi
push eax
call esi
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x20]
cmp eax, 3
ja case.default.0x4091ef
jmp dword [eax*4 + 0x409384]
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x24]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [ebp - 0x48]
test eax, eax
jne case.default.0x4091ef
lea eax, [ebp - 0x24]
push eax
push 0x2001f
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call ebx
test eax, eax
jne case.default.0x4091ef
mov eax, dword [ebp + 0x14]
test eax, eax
jbe case.default.0x4091ef
cmp eax, 2
jbe 0x40925d
cmp eax, 4
jne case.default.0x4091ef
push eax
lea eax, [ebp + 0x1c]
push eax
push 4
jmp 0x40926b
mov ebx, dword [ebp + 0x18]
push ebx
call dword [ebp - 0x40]
inc eax
push eax
push ebx
mov eax, dword [ebp + 0x14]
push eax
push 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call dword [ebp - 0x44]
test eax, eax
jne case.default.0x4091ef
jmp 0x4092d0
lea eax, [ebp - 0x24]
push eax
push 0x2001f
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call ebx
test eax, eax
jne case.default.0x4091ef
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
call dword [ebp - 0x38]
test eax, eax
jne case.default.0x4091ef
jmp 0x4092d0
lea edx, [ebp - 0x24]
push edx
push 0x2001f
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call ebx
test eax, eax
jne case.default.0x4091ef
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x24]
push eax
call dword [ebp - 0x4c]
test eax, eax
jne case.default.0x4091ef
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0xffffffff
call fcn.00409303
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret