Function at 0x4eefb4
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8b74d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc84
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc90], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0xc8c]
push eax
xor edx, edx
mov dword [ebp - 0xc8c], edx
push 0xf003f
push edx
push 0xa0ea9c
push reloc.DSOUND.dll_DirectSoundEnumerateA
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4ef041
mov edx, dword [ebp - 0xc90]
xor eax, eax
test edx, edx
je 0x4ef035
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc90], 0
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0xc90], edx
test eax, eax
je 0x4ef07a
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc90]
test eax, eax
je 0x4ef067
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc90], 0
mov ebx, dword [ebp - 0x1c]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc88], 0x800
lea edi, [ebp - 0xc84]
xor eax, eax
mov ecx, 0x200
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x484], 0x400
mov eax, edx
add edx, 1
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0x47c]
lea edi, [ebp - 0x484]
lea esi, [ebp - 0x480]
lea ebx, [ebp - 0xc84]
lea ecx, [ebp - 0xc88]
push ecx
push ebx
push esi
push 0
push edi
push edx
push eax
push dword [ebp - 0xc90]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
cmp eax, 0x103
je 0x4efad6
test eax, eax
jne 0x4ef527
mov dword [ebp - 0x7c], 0xa0ea90
mov dword [ebp - 0x78], 0
lea edi, [ebp - 0x47c]
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef11c
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef110
add eax, 1
push eax
call fcn.00898760
pop ecx
mov dword [ebp - 0x78], eax
lea edi, [ebp - 0x47c]
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef131
mov dword [ebp - 4], 1
push 0xd
call fcn.00898760
pop ecx
mov ebx, dword [ebp - 0x78]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov byte [eax + 0xc], 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x74], 0xa0ea90
mov dword [ebp - 4], 2
mov dword [ebp - 0x6c], 0xa0ea90
mov eax, 0xa0eab4
test eax, eax
mov dword [ebp - 0x68], 0
je 0x4ef1cf
mov edi, 0xa0eab4
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef1a8
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef19c
add eax, 1
push eax
call fcn.00898760
pop ecx
mov dword [ebp - 0x68], eax
mov edi, 0xa0eab4
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef1bc
jmp 0x4ef1d6
mov dword [ebp - 0x68], 0
mov dword [ebp - 4], 3
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x4efad1
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x4efaca
mov al, byte [ebx]
cmp al, byte [ecx]
jne 0x4ef22b
mov edi, ebx
mov esi, ecx
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4ef21d
or dl, dl
je 0x4ef219
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4ef21d
add edi, 2
add esi, 2
or dl, dl
jne 0x4ef1fd
xor eax, eax
jmp 0x4ef222
sbb eax, eax
or eax, 1
xor edx, edx
test eax, eax
sete dl
jmp 0x4ef22d
xor edx, edx
xor eax, eax
test edx, edx
sete al
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x6c], 0xa0ea90
test ecx, ecx
je 0x4ef253
push ecx
call fcn.00888fb0
pop ecx
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x68], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x74], 0xa0ea90
test ebx, ebx
je 0x4ef273
push ebx
call fcn.00888fb0
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x70], 0
test eax, eax
je 0x4ef2a9
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], 0xa0ea90
test eax, eax
je 0x4ef29d
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x78], 0
jmp 0x4ef07f
lea eax, [ebp - 0xc84]
test eax, eax
jne 0x4ef2ba
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x4ef2f5
lea eax, [ebp - 0xc84]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ebx, [eax + eax + 2]
mov eax, ebx
call fcn.008996d0
and esp, 0xfffffff0
mov eax, esp
mov dword [ebp - 0x18], eax
mov esi, eax
lea edi, [ebp - 0xc84]
xor edx, edx
push edx
mov byte [esi], dl
push edx
push ebx
push esi
push 0xffffffffffffffff
push edi
push edx
push edx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x64], 0xa0ea90
mov dword [ebp - 0x60], 0
mov dword [ebp - 4], 4
mov dword [ebp - 0x5c], 0xa0ea90
mov dword [ebp - 0x58], 0
mov dword [ebp - 4], 5
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
mov dword [ebp - 0x54], 0xa0ea90
test edi, edi
mov dword [ebp - 0x50], 0
je 0x4ef374
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef351
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef345
add eax, 1
push eax
call fcn.00898760
pop ecx
mov edx, dword [ebp + 8]
mov edi, dword [edx + 4]
mov dword [ebp - 0x50], eax
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef366
mov dword [ebp - 4], 6
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 4]
mov dword [ebp - 0x4c], 0xa0ea90
test edi, edi
mov dword [ebp - 0x48], 0
je 0x4ef3d0
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef3ad
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef3a1
add eax, 1
push eax
call fcn.00898760
pop ecx
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 4]
mov dword [ebp - 0x48], eax
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef3c2
mov dword [ebp - 4], 7
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x44], 0xa0ea90
test edi, edi
mov dword [ebp - 0x40], 0
je 0x4ef42c
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef409
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef3fd
add eax, 1
push eax
call fcn.00898760
pop ecx
mov edx, dword [ebp + 0x10]
mov edi, dword [edx + 4]
mov dword [ebp - 0x40], eax
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef41e
mov dword [ebp - 4], 8
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
mov dword [ebp - 0x3c], 0xa0ea90
test edi, edi
mov dword [ebp - 0x38], 0
je 0x4ef488
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef465
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef459
add eax, 1
push eax
call fcn.00898760
pop ecx
mov edx, dword [ebp + 8]
mov edi, dword [edx + 4]
mov dword [ebp - 0x38], eax
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef47a
mov dword [ebp - 4], 9
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 4]
mov dword [ebp - 0x34], 0xa0ea90
test edi, edi
mov dword [ebp - 0x30], 0
je 0x4ef4e4
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef4c1
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef4b5
add eax, 1
push eax
call fcn.00898760
pop ecx
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 4]
mov dword [ebp - 0x30], eax
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef4d6
mov dword [ebp - 4], 0xa
mov edi, dword [ebp - 0x50]
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef504
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef4f8
lea ebx, [edi + eax - 1]
cmp ebx, edi
jb 0x4ef562
movsx eax, byte [ebx]
push eax
call fcn.0089972d
pop ecx
test eax, eax
je 0x4ef562
mov byte [ebx], 0
add ebx, 0xffffffff
cmp ebx, dword [ebp - 0x50]
jae 0x4ef50c
jmp 0x4ef562
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc90]
test eax, eax
je 0x4ef549
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc90], 0
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x48]
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef57b
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef56f
lea ebx, [edi + eax - 1]
cmp ebx, edi
jb 0x4ef59c
movsx eax, byte [ebx]
push eax
call fcn.0089972d
pop ecx
test eax, eax
je 0x4ef59c
mov byte [ebx], 0
add ebx, 0xffffffff
cmp ebx, dword [ebp - 0x48]
jae 0x4ef583
mov edi, dword [ebp - 0x40]
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef5b5
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef5a9
lea ebx, [edi + eax - 1]
cmp ebx, edi
jb 0x4ef5d6
movsx eax, byte [ebx]
push eax
call fcn.0089972d
pop ecx
test eax, eax
je 0x4ef5d6
mov byte [ebx], 0
add ebx, 0xffffffff
cmp ebx, dword [ebp - 0x40]
jae 0x4ef5bd
mov edi, dword [ebp - 0x50]
xor ebx, ebx
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef5f1
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef5e5
test eax, eax
jle 0x4ef62b
movsx eax, byte [edi + ebx]
push eax
call fcn.00899755
pop ecx
test eax, eax
jne 0x4ef60b
mov eax, dword [ebp - 0x50]
mov byte [ebx + eax], 0x5f
mov edi, dword [ebp - 0x50]
add ebx, 1
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef627
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef61b
cmp ebx, eax
jl 0x4ef5f5
mov edi, dword [ebp - 0x48]
xor ebx, ebx
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef646
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef63a
test eax, eax
jle 0x4ef680
movsx eax, byte [edi + ebx]
push eax
call fcn.00899755
pop ecx
test eax, eax
jne 0x4ef660
mov eax, dword [ebp - 0x48]
mov byte [ebx + eax], 0x5f
mov edi, dword [ebp - 0x48]
add ebx, 1
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef67c
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef670
cmp ebx, eax
jl 0x4ef64a
mov edi, dword [ebp - 0x40]
xor ebx, ebx
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef69b
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef68f
test eax, eax
jle 0x4ef6d5
movsx eax, byte [edi + ebx]
push eax
call fcn.00899755
pop ecx
test eax, eax
jne 0x4ef6b5
mov eax, dword [ebp - 0x40]
mov byte [ebx + eax], 0x5f
mov edi, dword [ebp - 0x40]
add ebx, 1
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef6d1
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef6c5
cmp ebx, eax
jl 0x4ef69f
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], 0xa0ea90
test eax, eax
mov dword [ebp - 0x28], 0
je 0x4ef727
mov edi, eax
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef702
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef6f6
add eax, 1
push eax
call fcn.00898760
pop ecx
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov esi, eax
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x4ef714
jmp 0x4ef72e
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 0xb
mov edi, dword [ebp - 0x28]
xor ebx, ebx
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef750
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef744
test eax, eax
jle 0x4ef78a
movsx eax, byte [edi + ebx]
push eax
call fcn.00899755
pop ecx
test eax, eax
jne 0x4ef76a
mov eax, dword [ebp - 0x28]
mov byte [ebx + eax], 0x5f
mov edi, dword [ebp - 0x28]
add ebx, 1
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x4ef786
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x4ef77a
cmp ebx, eax
jl 0x4ef754
push dword [ebp - 0x50]
push edi
call fcn.00898de0
mov esi, eax
add esp, 8
test esi, esi
je 0x4efac0
sub esi, edi
push dword [ebp - 0x48]
push edi
call fcn.00898de0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4efab6
sub ebx, edi
push dword [ebp - 0x40]
push edi
call fcn.00898de0
add esp, 8
test eax, eax
je 0x4efaac
sub eax, edi
cmp esi, 0xffffffff
je 0x4ef7eb
cmp ebx, 0xffffffff
je 0x4ef7eb
cmp eax, 0xffffffff
je 0x4ef7eb
cmp eax, ebx
jle 0x4ef7eb
cmp ebx, esi
jg 0x4ef928
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2c], 0xa0ea90
test edi, edi
je 0x4ef804
push edi
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], 0xa0ea90
test eax, eax
je 0x4ef827
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0xa0ea90
test eax, eax
je 0x4ef84a
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], 0xa0ea90
test eax, eax
je 0x4ef86d
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x40], 0
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0xa0ea90
test eax, eax
je 0x4ef890
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x48], 0
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], 0xa0ea90
test eax, eax
je 0x4ef8b3
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], 0xa0ea90
test eax, eax
je 0x4ef8d6
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x58], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], 0xa0ea90
test eax, eax
je 0x4ef8f9
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x60], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], 0xa0ea90
test eax, eax
je 0x4ef91c
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x78], 0
jmp 0x4ef07f
mov eax, dword [ebp - 0x78]
movsx edx, byte [eax + 0xc]
push edx
call fcn.00898f5e
pop ecx
movsx ebx, al
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2c], 0xa0ea90
test edi, edi
je 0x4ef952
push edi
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], 0xa0ea90
test eax, eax
je 0x4ef975
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0xa0ea90
test eax, eax
je 0x4ef998
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], 0xa0ea90
test eax, eax
je 0x4ef9bb
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x40], 0
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0xa0ea90
test eax, eax
je 0x4ef9de
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x48], 0
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], 0xa0ea90
test eax, eax
je 0x4efa01
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], 0xa0ea90
test eax, eax
je 0x4efa24
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x58], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], 0xa0ea90
test eax, eax
je 0x4efa47
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x60], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], 0xa0ea90
test eax, eax
je 0x4efa6a
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x78], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc90]
test eax, eax
je 0x4efa93
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc90], 0
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffff
jmp 0x4ef7d0
mov ebx, 0xffffffff
jmp 0x4ef7ba
mov esi, 0xffffffff
jmp 0x4ef7a2
xor edx, edx
jmp 0x4ef22d
mov ecx, dword [ebp - 0x68]
jmp 0x4efaca
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc90]
test eax, eax
je 0x4efaf8
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc90], 0
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret