Function at 0x40108e
Capabilities:
Query or enumerate registry value

Disassembly:
call 0x40108e
push eax
call sub.KERNEL32.dll_ExitProcess
imul esi, dword [edx + 0x6e], 0x6c
outsb dx, byte [esi]
outsb dx, byte cs:[esi]
jb 0x401015
push ebx
outsd dx, dword [esi]
je 0x401091
popal
jb 0x401082
pop esp
inc esi
insb byte es:[edi], dx
jns 0x401075
imul edi, dword [ecx + 0x5c], 0x45
pop esp
dec ecx
outsb dx, byte [esi]
jae 0x40109f
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax + 0x61], dl
je 0x40109b
add byte [ebp + 0x72], al
jb 0x4010a7
jb 0x40103a
inc edi
je 0x40108c
ja 0x401094
outsd dx, dword [esi]
arpl word [ebx], bp
dec esi
outsd dx, dword [esi]
je 0x401069
outsw dx, word [esi]
jne 0x4010bb
and byte fs:[eax + ebp*2 + 0x65], dh
and byte [ebx + 0x65], ch
jb 0x4010c5
insb byte es:[edi], dx
and byte [ecx + ebp*2 + 0x62], ch
jb 0x4010c0
jb 0x4010da
and byte [edi + 0x72], ch
and byte [eax + ebp*2 + 0x65], dh
and byte [ebx + 0x65], ch
jb 0x4010db
imul esp, dword [ebp + 0x72], 0x6e
insb byte es:[edi], dx
and byte [ecx + ebp*2 + 0x62], ch
jb 0x4010d6
jb 0x4010f0
and byte [ecx + 0x73], ch
and byte [ecx + 0x6e], ch
jbe 0x4010e0
insb byte es:[edi], dx
imul esp, dword [ecx], 0x6c6e726b
and dword [eax], eax
imul esi, dword [edx + 0x6e], 0x6c
outsb dx, byte [esi]
outsb dx, byte cs:[esi]
add byte gs:[ebp - 0x75], dl
in al, dx
add esp, 0xfffffef0
lea eax, [ebp - 0x104]
push eax
call fcn.004015ec
push 0x40100b
invalid
invalid
dec ecx
add eax, 0xb680000
adc byte [eax], al
add byte [ebp - 0x1037b], cl
call dword [eax - 0x18]
sub al, 5
add byte [eax], al
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_lstrcatA
push eax
call sub.KERNEL32.dll_LoadLibraryA
test eax, eax
jne 0x401160
ror byte [edi], 0x85
sahf
add byte [eax], al
add byte [ebp - 0x10b7b], cl
call dword [eax + 0x68]
sbb dword [eax], eax
add al, byte [eax]
add byte [eax], al
lea eax, [ebp - 0x10c]
push eax
push 0x20019
invalid
push 0
push 0x401015
push 0x80000001
add dword [eax], eax
add byte [eax + 0x53be8], al
add byte [ebx - 0x7af0ff08], al
mov eax, 0xc7000000
call sub.ADVAPI32.dll_RegOpenKeyExA
cmp eax, 0
jne 0x4011a0
cmp eax, dword [0xf8830000]
clc
add byte [edi], cl
test dword [eax - 0x39000000], edi
mov dword [ebp - 0x110], 0x103
test eax, esi
invalid
add byte [eax], al
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
push 0x40102f
push dword [ebp - 0x10c]
call sub.ADVAPI32.dll_RegQueryValueExA
push eax
push dword [ebp - 0x10c]
call sub.ADVAPI32.dll_RegCloseKey
pop eax
cmp eax, 0
jne 0x4011a0
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_lstrlenA
lea ebx, [ebp - 0x104]
add ebx, eax
dec ebx
cmp byte [ebx], 0x5c
je 0x401145
mov word [ebx], 0x5c
push 0x401084
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_lstrcatA
push eax
call sub.KERNEL32.dll_LoadLibraryA
test eax, eax
je 0x4011a0
mov dword [ebp - 0x108], eax
push 0x40103a
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x401195
push 0x3e8
call eax
test eax, eax
je 0x401195
call 0x401185
add dword [esp], 0x1e7b
call eax
push 0
call sub.KERNEL32.dll_ExitProcess
push dword [ebp - 0x108]
call sub.KERNEL32.dll_FreeLibrary
push 0x10
push 0x401034
push 0x401045
push 0
call sub.USER32.dll_MessageBoxA
mov eax, 0xffffffff
leave
ret