Function at 0x417c10
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47e546
mov eax, dword fs:[0]
push eax
mov eax, 0x10140
call fcn.00457320
mov eax, dword [0x49ffb8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov eax, ecx
mov dword [ebp - 0x100fc], eax
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x100f4], 0
xor ecx, ecx
mov dword [ebp - 0x1001c], 7
mov dword [ebp - 0x10020], 0
mov word [ebp - 0x10030], cx
mov dword [ebp - 4], ecx
mov edx, eax
lea ecx, [ebp - 0x10114]
call fcn.0041c500
lea ecx, [ebp - 0x10030]
push ecx
lea edx, [ebp - 0x100f4]
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00416ee0
add esp, 4
test al, al
sete al
mov byte [ebp - 4], 0
cmp dword [ebp - 0x10100], 8
mov byte [ebp - 0x100ed], al
jb 0x417ccd
push dword [ebp - 0x10114]
call fcn.0043d98b
mov al, byte [ebp - 0x100ed]
add esp, 4
test al, al
jne 0x417dae
cmp dword [ebp - 0x1001c], 8
lea ecx, [ebp - 0x100e8]
push ecx
push 0x20019
lea eax, [ebp - 0x10030]
cmovae eax, dword [ebp - 0x10030]
push 0
push eax
push dword [ebp - 0x100f4]
mov dword [ebp - 0x10018], 0x10000
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
je 0x417dcc
cmp dword [0x4a1a34], 3
jl 0x417dae
lea ecx, [ebp - 0x100f8]
call fcn.0041de50
mov byte [ebp - 4], 2
mov ecx, dword [eax + 4]
mov dword [ecx + 8], 3
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
test eax, eax
je 0x417d4d
add eax, 0x10
jmp 0x417d4f
xor eax, eax
push esi
push ecx
push str.__error_
push ecx
push edi
push ecx
push 0x490054
push ecx
push dword [ebp - 0x100fc]
push ecx
push str.Failed_to_RegGetValue_
push eax
call fcn.00407740
add esp, 0xc
push eax
call fcn.004079f0
add esp, 0xc
push eax
call fcn.00407740
add esp, 0xc
push eax
call fcn.004079f0
add esp, 0xc
push eax
call fcn.00407740
add esp, 0xc
mov ecx, eax
call fcn.004185b0
lea ecx, [ebp - 0x100f8]
mov byte [ebp - 4], 0
call fcn.0041dee0
cmp dword [ebp - 0x1001c], 8
jb 0x417dc5
push dword [ebp - 0x10030]
call fcn.0043d98b
add esp, 4
xor al, al
jmp 0x4180ff
mov edx, edi
lea ecx, [ebp - 0x10114]
call fcn.0041c500
cmp dword [eax + 0x14], 8
jb 0x417de1
mov eax, dword [eax]
lea ecx, [ebp - 0x10018]
push ecx
lea ecx, [ebp - 0x10014]
push ecx
lea ecx, [ebp - 0x100ec]
push ecx
push 0
push eax
push dword [ebp - 0x100e8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [ebp - 0x10100], 8
mov esi, eax
jb 0x417e1e
push dword [ebp - 0x10114]
call fcn.0043d98b
add esp, 4
push dword [ebp - 0x100e8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x417e4f
cmp dword [0x4a1a34], 3
jl 0x417dae
lea ecx, [ebp - 0x100f8]
call fcn.0041de50
mov byte [ebp - 4], 3
jmp 0x417d34
mov eax, dword [ebp - 0x10018]
cmp eax, 0x10000
jae 0x417e73
add eax, eax
cmp eax, 0x10000
jae 0x417f9e
xor ecx, ecx
mov word [ebp + eax - 0x10014], cx
mov eax, dword [ebp - 0x100ec]
cmp eax, 7
jne 0x417fa3
lea edi, [ebp - 0x10014]
mov esi, edi
lea ecx, [esi + 2]
lea ecx, [ecx]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x417e90
sub esi, ecx
sar esi, 1
je 0x4180e6
jmp 0x417eb0
push edi
lea ecx, [ebp - 0x10114]
call fcn.004134f0
lea edx, [ebp - 0x10114]
lea ecx, [ebp - 0x1012c]
mov byte [ebp - 4], 5
call fcn.0041c490
push 0x48fa7c
mov edx, eax
lea ecx, [ebp - 0x10144]
mov byte [ebp - 4], 6
call fcn.0040bfc0
add esp, 4
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
mov byte [ebp - 4], 7
call fcn.00406250
cmp dword [ebp - 0x10130], 0x10
jb 0x417f11
push dword [ebp - 0x10144]
call fcn.0043d98b
add esp, 4
cmp dword [ebp - 0x10118], 0x10
mov dword [ebp - 0x10130], 0xf
mov dword [ebp - 0x10134], 0
mov byte [ebp - 0x10144], 0
jb 0x417f43
push dword [ebp - 0x1012c]
call fcn.0043d98b
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x10100], 8
mov dword [ebp - 0x10118], 0xf
mov dword [ebp - 0x1011c], 0
mov byte [ebp - 0x1012c], 0
jb 0x417f79
push dword [ebp - 0x10114]
call fcn.0043d98b
add esp, 4
lea edi, [edi + esi*2]
add edi, 2
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x417f84
sub esi, ecx
sar esi, 1
jne 0x417eb0
jmp 0x4180e6
call fcn.0043e1fe
cmp eax, 4
jne 0x418095
push ecx
lea ecx, [ebp - 0x100e4]
call fcn.00418140
mov dword [ebp - 0x100e4], 0x49011c
mov dword [ebp - 0x100d4], 0x490124
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
push ecx
lea eax, [ebp - 0x100cc]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x100e4]
mov dword [ebp - 0x100f4], 1
call fcn.004190a0
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x100e4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x100e4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x100e8], eax
lea ecx, [ebp - 0x100cc]
call fcn.004067e0
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x10094], 0
mov dword [ebp - 0x10090], 0
mov byte [ebp - 4], 0xb
push dword [ebp - 0x10014]
lea ecx, [ebp - 0x100d4]
call fcn.00404210
lea eax, [ebp - 0x10114]
push eax
lea ecx, [ebp - 0x100e4]
call fcn.00418a00
push eax
mov ecx, ebx
call fcn.00409e60
lea ecx, [ebp - 0x10114]
call fcn.00404080
lea ecx, [ebp - 0x100e4]
call fcn.00418120
jmp 0x4180e6
lea eax, [ebp - 0x10014]
push eax
lea ecx, [ebp - 0x10114]
call fcn.004134f0
lea edx, [ebp - 0x10114]
lea ecx, [ebp - 0x1012c]
mov byte [ebp - 4], 0xc
call fcn.0041c490
mov byte [ebp - 4], 0xd
cmp ebx, eax
je 0x4180d0
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
call fcn.00405240
lea ecx, [ebp - 0x1012c]
call fcn.00404080
lea ecx, [ebp - 0x10114]
call fcn.0040be60
cmp dword [ebp - 0x1001c], 8
jb 0x4180fd
push dword [ebp - 0x10030]
call fcn.0043d98b
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043cee8
mov esp, ebp
pop ebp
ret