Function at 0x40108e
Capabilities:
Query or enumerate registry value

Disassembly:
call 0x40108e
push eax
call sub.KERNEL32.dll_ExitProcess
jp 0x40107f
jae 0x401078
je 0x401083
arpl word [edi + 0x72], bp
add byte gs:[ebp + 0x72], al
jb 0x401089
jb 0x40101c
jp 0x401090
jae 0x401089
je 0x401050
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [esi + 0x6f], cl
je 0x40104a
outsw dx, word [esi]
jne 0x40109c
and byte fs:[eax + ebp*2 + 0x65], dh
and byte [ebx + 0x65], ch
jb 0x4010a6
insb byte es:[edi], dx
and byte [ecx + ebp*2 + 0x62], ch
jb 0x4010a1
jb 0x4010bb
and byte [edi + 0x72], ch
and byte [eax + ebp*2 + 0x65], dh
and byte [ebx + 0x65], ch
jb 0x4010bc
imul esp, dword [ebp + 0x72], 0x6e
insb byte es:[edi], dx
and byte [ecx + ebp*2 + 0x62], ch
jb 0x4010b7
jb 0x4010d1
and byte [ecx + 0x73], ch
and byte [ecx + 0x6e], ch
jbe 0x4010c1
insb byte es:[edi], dx
imul esp, dword [ecx], 0x6973727a
je 0x401099
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax + 0x61], dl
je 0x4010db
add byte [ebx + 0x6f], dl
je 0x4010f0
ja 0x4010db
popal
jb 0x4010e1
pop esp
inc esi
insb byte es:[edi], dx
jns 0x4010b1
xor byte [eax], dh
pop esp
ja 0x4010e2
dec ecx
outsb dx, byte [esi]
jae 0x4010fe
je 0x4010ec
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebp - 0x75], dl
in al, dx
add esp, 0xfffffef0
lea eax, [ebp - 0x104]
push eax
call fcn.004011e4
cld
invalid
call dword [eax - 0x18]
inc ecx
add dword [eax], eax
add byte [eax + 0x65], ch
adc byte [eax], al
add byte [eax], al
push 0x401065
inc eax
add byte [ebp - 0x1037b], cl
call dword [eax - 0x18]
and al, 1
add byte [eax], al
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_lstrcatA
add dword [eax], eax
add byte [eax - 0x18], dl
sbb byte [ecx], al
add byte [eax], al
push eax
call sub.KERNEL32.dll_LoadLibraryA
add dword [eax], eax
add byte [ebp - 0x617af040], al
test eax, eax
ror byte [edi], 0x85
sahf
jne 0x401160
add byte [eax], al
add byte [ebp - 0x10b7b], cl
call dword [eax + 0x68]
sbb dword [eax], eax
add al, byte [eax]
lea eax, [ebp - 0x10c]
push eax
push 0x20019
push 0
push 0x401074
push 0x80000001
call sub.ADVAPI32.dll_RegOpenKeyExA
je 0x4010e3
inc eax
add byte [eax + 1], ch
add byte [eax], al
sub al, 0x33
add dword [eax], eax
add byte [ebx - 0x7af0ff08], al
mov eax, 0xc7000000
xor eax, dword [ecx]
add byte [eax], al
cmp eax, 0
add byte [edi], cl
jne 0x4011a0
test dword [eax - 0x39000000], edi
mov dword [ebp - 0x110], 0x103
test eax, esi
invalid
invalid
add byte [eax], al
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
call dword [eax + 0x6a]
add byte [edx], ch
push 0x40106f
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 0x40101c
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 0x40100b
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 0x401016
push 0x401026
push 0
call sub.USER32.dll_MessageBoxA
mov eax, 0xffffffff
leave
ret