Function at 0x1007af10
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10082eec
mov eax, dword fs:[0]
push eax
sub esp, 0xa48
mov eax, dword [0x100b221c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x938], 0
mov dword [0x100b4ee4], 0
mov dword [0x100b4ee8], 0
call fcn.1000ade0
mov dword [0x100b4ee4], eax
lea eax, [ebp - 0x920]
mov dword [ebp - 4], 0
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionFonts
push 0x80000002
call esi
test eax, eax
jne 0x1007be1c
lea eax, [ebp - 0x934]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionFontLinkSystemLink
push 0x80000002
call esi
test eax, eax
je 0x1007afbe
push dword [ebp - 0x920]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1007be1c
mov dword [ebp - 0x8f8], 0
mov dword [ebp - 0x8f4], 0
call fcn.1000ae10
mov dword [ebp - 0x8f8], eax
push 0
push 0
lea eax, [ebp - 0x904]
mov byte [ebp - 4], 1
push eax
push 0
lea eax, [ebp - 0x900]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x920]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp dword [ebp - 0x900], 0
jne 0x1007b02a
mov eax, dword [ebp - 0x8f8]
push eax
push dword [eax]
lea eax, [ebp - 0xa44]
jmp 0x1007be02
push dword [ebp - 0x904]
push 4
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
xor esi, esi
mov edi, eax
cmp dword [ebp - 0x900], esi
jbe 0x1007b258
mov dword [ebp - 0x964], 0x28
nop
mov eax, dword [ebp - 0x904]
mov dword [ebp - 0x980], eax
lea eax, [ebp - 0x980]
push eax
push edi
push 0
push 0
lea eax, [ebp - 0x970]
mov dword [ebp - 0x970], 0x400
push eax
lea eax, [ebp - 0x810]
push eax
push esi
push dword [ebp - 0x920]
call ebx
xor eax, eax
mov dword [ebp - 0x814], 7
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
cmp word [ebp - 0x810], ax
jne 0x1007b0c3
xor ecx, ecx
jmp 0x1007b0df
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007b0d0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x828]
call fcn.100075f0
mov byte [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x864], 7
mov dword [ebp - 0x868], 0
mov word [ebp - 0x878], ax
cmp word [edi], ax
jne 0x1007b11c
xor ecx, ecx
jmp 0x1007b130
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007b121
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x878]
call fcn.100075f0
sub esp, 8
mov byte [ebp - 4], 3
lea eax, [ebp - 0x964]
lea ecx, [ebp - 0x828]
push eax
call fcn.10006360
dec eax
push eax
push ecx
lea eax, [ebp - 0x8f0]
push eax
lea ecx, [ebp - 0x828]
call fcn.10005380
mov ebx, eax
lea eax, [ebp - 0x828]
cmp eax, ebx
je 0x1007b1b7
cmp dword [ebp - 0x814], 8
jb 0x1007b18e
push dword [ebp - 0x828]
call fcn.1001b9e0
add esp, 4
xor eax, eax
mov dword [ebp - 0x814], 7
push ebx
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
call fcn.10006300
cmp dword [ebp - 0x8dc], 8
jb 0x1007b1ce
push dword [ebp - 0x8f0]
call fcn.1001b9e0
add esp, 4
lea eax, [ebp - 0x878]
push eax
lea ecx, [ebp - 0x8f8]
call fcn.10005440
lea ecx, [ebp - 0x828]
cmp eax, ecx
je 0x1007b1f6
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.100074d0
cmp dword [ebp - 0x864], 8
jb 0x1007b20d
push dword [ebp - 0x878]
call fcn.1001b9e0
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x814], 8
mov dword [ebp - 0x864], 7
mov dword [ebp - 0x868], 0
mov word [ebp - 0x878], ax
jb 0x1007b245
push dword [ebp - 0x828]
call fcn.1001b9e0
add esp, 4
mov ebx, dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
inc esi
cmp esi, dword [ebp - 0x900]
jb 0x1007b060
push 0
push 0
lea eax, [ebp - 0x904]
push eax
push 0
lea eax, [ebp - 0x900]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x934]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp dword [ebp - 0x900], 0
jne 0x1007b2a1
mov eax, dword [ebp - 0x8f8]
push eax
push dword [eax]
lea eax, [ebp - 0x954]
jmp 0x1007be02
push dword [ebp - 0x904]
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
xor ecx, ecx
mov edi, eax
mov dword [ebp - 0x94c], edi
mov dword [ebp - 0x940], ecx
cmp dword [ebp - 0x900], ecx
jbe 0x1007bdcd
mov dword [ebp - 0x98c], ecx
mov dword [ebp - 0x988], ecx
mov dword [ebp - 0x984], ecx
jmp 0x1007b2f0
mov eax, dword [ebp - 0x904]
mov dword [ebp - 0x930], eax
lea eax, [ebp - 0x930]
push eax
push edi
push 0
push 0
lea eax, [ebp - 0x96c]
mov dword [ebp - 0x96c], 0x400
push eax
lea eax, [ebp - 0x810]
push eax
push ecx
push dword [ebp - 0x934]
call ebx
xor eax, eax
mov dword [ebp - 0x894], 7
mov dword [ebp - 0x898], 0
mov word [ebp - 0x8a8], ax
cmp word [ebp - 0x810], ax
jne 0x1007b353
xor ecx, ecx
jmp 0x1007b36f
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007b360
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x8a8]
call fcn.100075f0
lea eax, [ebp - 0x8a8]
mov byte [ebp - 4], 5
push eax
call fcn.100053c0
mov esi, eax
lea eax, [ebp - 0x98c]
cmp esi, eax
je 0x1007b3e5
mov ecx, dword [esi]
test ecx, ecx
je 0x1007b3d1
push dword [ebp - 0x954]
mov edx, dword [esi + 4]
push ecx
call fcn.1000c3c0
push dword [esi]
call fcn.1001b9e0
add esp, 0xc
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x894], 8
jb 0x1007b400
push dword [ebp - 0x8a8]
call fcn.1001b9e0
add esp, 4
xor ebx, ebx
mov dword [ebp - 0x918], ebx
mov dword [ebp - 0x914], ebx
call fcn.1000ae40
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x930]
add eax, 0xfffffffe
je 0x1007bd76
jmp 0x1007b430
xor eax, eax
mov dword [ebp - 0x84c], 7
mov dword [ebp - 0x850], 0
mov word [ebp - 0x860], ax
fld1
lea eax, [ebx + edi]
mov ecx, eax
mov dword [ebp - 0x92c], eax
fstp qword [ebp - 0x848]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007b463
sub ecx, edx
xor esi, esi
sar ecx, 1
xor edi, edi
mov dword [ebp - 0x90c], esi
mov dword [ebp - 0x908], edi
lea ebx, [ebx + ecx*2]
add ebx, 2
mov dword [ebp - 0x974], ebx
xor ebx, ebx
mov dword [ebp - 0x910], ebx
mov ecx, dword [ebp - 0x92c]
mov byte [ebp - 4], 8
add ecx, 0xfffffffe
je 0x1007b602
lea esp, [esp]
lea eax, [ecx + 2]
push 0x2c
push eax
call fcn.100638ba
mov ecx, eax
add esp, 8
mov dword [ebp - 0x924], ecx
test ecx, ecx
je 0x1007b602
xor eax, eax
lea edx, [ebp - 0x91c]
mov word [ecx], ax
lea eax, [ecx + 2]
mov dword [ebp - 0x91c], eax
cmp edx, esi
jae 0x1007b577
cmp ebx, edx
ja 0x1007b577
mov eax, edx
sub eax, ebx
sar eax, 2
mov dword [ebp - 0x93c], eax
cmp esi, edi
jne 0x1007b56e
mov eax, edi
sub eax, esi
sar eax, 2
cmp eax, 1
jae 0x1007b568
sub esi, ebx
mov eax, 0x3fffffff
sar esi, 2
sub eax, esi
cmp eax, 1
jb 0x1007bdc3
sub edi, ebx
mov eax, 0x3fffffff
sar edi, 2
inc esi
mov ecx, edi
shr ecx, 1
sub eax, ecx
cmp eax, edi
jae 0x1007b53d
xor edi, edi
jmp 0x1007b53f
add edi, ecx
cmp edi, esi
lea ecx, [ebp - 0x910]
cmovb edi, esi
push edi
call fcn.10007ae0
mov edi, dword [ebp - 0x908]
mov esi, dword [ebp - 0x90c]
mov ebx, dword [ebp - 0x910]
mov ecx, dword [ebp - 0x924]
mov eax, dword [ebp - 0x93c]
test esi, esi
je 0x1007b5f1
mov eax, dword [ebx + eax*4]
jmp 0x1007b5ef
cmp esi, edi
jne 0x1007b5eb
mov eax, edi
sub eax, esi
sar eax, 2
cmp eax, 1
jae 0x1007b5e8
sub esi, ebx
mov eax, 0x3fffffff
sar esi, 2
sub eax, esi
cmp eax, 1
jb 0x1007bdc3
sub edi, ebx
mov eax, 0x3fffffff
sar edi, 2
inc esi
mov ecx, edi
shr ecx, 1
sub eax, ecx
cmp eax, edi
jae 0x1007b5b5
xor edi, edi
jmp 0x1007b5b7
add edi, ecx
cmp edi, esi
lea ecx, [ebp - 0x910]
cmovb edi, esi
push edi
call fcn.10007ae0
mov edi, dword [ebp - 0x908]
mov esi, dword [ebp - 0x90c]
mov ebx, dword [ebp - 0x910]
mov ecx, dword [ebp - 0x924]
mov eax, dword [ebp - 0x91c]
jmp 0x1007b5eb
lea eax, [ecx + 2]
test esi, esi
je 0x1007b5f1
mov dword [esi], eax
add esi, 4
mov dword [ebp - 0x90c], esi
test ecx, ecx
jne 0x1007b4b0
mov eax, esi
sub eax, ebx
sar eax, 2
mov dword [ebp - 0x924], eax
mov edi, eax
cmp ebx, esi
je 0x1007b77b
mov eax, dword [ebx]
movzx eax, word [eax]
push eax
call fcn.100640ad
add esp, 4
test eax, eax
je 0x1007b77b
mov eax, dword [ebx]
movzx eax, word [eax]
push eax
call fcn.100640ad
add esp, 4
test eax, eax
je 0x1007b8dd
mov esi, dword [ebp - 0x92c]
xor eax, eax
mov dword [ebp - 0x87c], 7
mov dword [ebp - 0x880], 0
mov word [ebp - 0x890], ax
cmp word [esi], ax
jne 0x1007b671
xor ecx, ecx
jmp 0x1007b685
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007b676
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x890]
call fcn.100075f0
mov edi, dword [ebp - 0x8f8]
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x8f8]
call fcn.100078e0
mov esi, eax
mov eax, dword [ebp - 0x8f8]
cmp esi, eax
je 0x1007b6f7
cmp dword [esi + 0x24], 8
lea ecx, [esi + 0x10]
jb 0x1007b6c1
mov ecx, dword [ecx]
cmp dword [ebp - 0x87c], 8
lea eax, [ebp - 0x890]
push ecx
cmovae eax, dword [ebp - 0x890]
push eax
call fcn.100639f0
add esp, 8
test eax, eax
js 0x1007b6f1
mov dword [ebp - 0x948], esi
lea eax, [ebp - 0x948]
jmp 0x1007b703
mov eax, dword [ebp - 0x8f8]
mov dword [ebp - 0x950], eax
lea eax, [ebp - 0x950]
cmp dword [eax], edi
setne al
cmp dword [ebp - 0x87c], 8
mov byte [ebp - 0x8f9], al
jb 0x1007b72b
push dword [ebp - 0x890]
call fcn.1001b9e0
mov al, byte [ebp - 0x8f9]
add esp, 4
test al, al
je 0x1007b771
mov edx, dword [ebx]
cmp word [edx], 0
jne 0x1007b750
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0x860]
call fcn.100075f0
mov edi, 1
jmp 0x1007b8dd
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007b755
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x860]
call fcn.100075f0
mov edi, 1
jmp 0x1007b8dd
mov esi, dword [ebp - 0x92c]
xor eax, eax
mov dword [ebp - 0x82c], 7
mov dword [ebp - 0x830], 0
mov word [ebp - 0x840], ax
cmp word [esi], ax
jne 0x1007b7a7
xor ecx, ecx
jmp 0x1007b7bf
mov ecx, esi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007b7b0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x840]
call fcn.100075f0
mov eax, dword [ebp - 0x8f8]
mov edi, eax
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x1007b877
jmp 0x1007b7f0
cmp dword [ebp - 0x82c], 8
lea ecx, [ebp - 0x840]
lea eax, [esi + 0x10]
cmovae ecx, dword [ebp - 0x840]
cmp dword [eax + 0x14], 8
jb 0x1007b80f
mov eax, dword [eax]
push ecx
push eax
call fcn.100639f0
add esp, 8
test eax, eax
jns 0x1007b822
mov esi, dword [esi + 8]
jmp 0x1007b826
mov edi, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x1007b7f0
mov eax, dword [ebp - 0x8f8]
cmp edi, eax
je 0x1007b877
cmp dword [edi + 0x24], 8
lea ecx, [edi + 0x10]
jb 0x1007b841
mov ecx, dword [ecx]
cmp dword [ebp - 0x82c], 8
lea eax, [ebp - 0x840]
push ecx
cmovae eax, dword [ebp - 0x840]
push eax
call fcn.100639f0
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x8f8]
js 0x1007b877
mov dword [ebp - 0x958], edi
lea esi, [ebp - 0x958]
jmp 0x1007b883
mov dword [ebp - 0x95c], eax
lea esi, [ebp - 0x95c]
cmp dword [ebp - 0x82c], 8
mov esi, dword [esi]
jb 0x1007b8a2
push dword [ebp - 0x840]
call fcn.1001b9e0
mov eax, dword [ebp - 0x8f8]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x82c], 7
mov dword [ebp - 0x830], 0
mov word [ebp - 0x840], cx
cmp esi, eax
je 0x1007b8db
add esi, 0x28
lea eax, [ebp - 0x860]
cmp eax, esi
je 0x1007b8db
push 0xffffffffffffffff
push ecx
push esi
mov ecx, eax
call fcn.100074d0
xor edi, edi
lea eax, [edi + 2]
cmp eax, dword [ebp - 0x924]
jne 0x1007bc2a
mov dword [ebp - 0xa3c], 0x100a8378
mov dword [ebp - 0xa2c], 0x100a840c
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x9d4]
or dword [ebp - 0x938], 1
push 0
push 0
mov dword [ebp - method.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov dword [ebp - 0x9d8], 0x50
mov dword [ebp - 0xa34], 0
mov dword [ebp - 0xa30], 0
mov dword [ebp - 0x9a4], 0
mov dword [ebp - 0x9cc], 0
mov dword [ebp - 0x9c4], 0
mov dword [ebp - 0x9c0], 0x201
mov dword [ebp - 0x9bc], 6
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x9b0], 0
mov dword [ebp - 0x9ac], 0
mov dword [ebp - 0x9a8], 0
call fcn.10004b00
push 4
call fcn.10063869
mov esi, eax
add esp, 4
test esi, esi
je 0x1007b9c4
push 1
call fcn.1005f4f9
add esp, 4
mov dword [esi], eax
jmp 0x1007b9c6
xor esi, esi
lea eax, [ebp - 0xa24]
mov dword [ebp - 0x9a4], esi
mov dword [ebp - 0x99c], eax
lea ecx, [ebp - 0x9d4]
lea eax, [ebp - 0x960]
mov dword [ebp - 0x998], 0
push eax
call fcn.10004bb0
push eax
mov dword [ebp - 4], 0xc
call fcn.1000ae70
mov byte [ebp - 4], 0xb
add esp, 4
mov ecx, dword [ebp - 0x960]
mov esi, eax
test ecx, ecx
je 0x1007ba25
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x1007ba25
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [esi]
mov ecx, esi
push 0x20
call dword [eax + 0x30]
cmp dword [ebp - 0x99c], 0
mov word [ebp - 0x994], ax
jne 0x1007ba55
mov eax, dword [ebp - 0x9c8]
lea ecx, [ebp - 0x9d4]
or eax, 4
push 0
push eax
call fcn.10004b00
mov eax, dword [ebp - 0xa2c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0xa2c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xa30], eax
mov eax, dword [ebp - 0xa3c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0xa3c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0xa40], eax
mov dword [ebp - 4], 0xf
mov eax, dword [ebp - 0xa3c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0xa3c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xa40], eax
lea ecx, [ebp - 0xa24]
call fcn.10007440
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x9ec], 0
mov dword [ebp - 0x9e8], 0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xa2c]
mov edx, dword [ebx + edi*4]
call fcn.1000af90
lea eax, [ebp - 0x978]
push eax
lea ecx, [ebp - 0xa3c]
call fcn.10004dd0
mov eax, dword [ebp - 0xa3c]
lea ecx, [ebp - 0xa3c]
mov edx, 4
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
cmove eax, edx
push eax
call fcn.10004b00
xor eax, eax
mov dword [ebp - 0x8ac], 7
push eax
push 0x100a2c0c
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8b0], 0
mov word [ebp - 0x8c0], ax
call fcn.100075f0
lea eax, [ebp - 0x8c0]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0xa24]
call fcn.100064b0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x8ac], 8
jb 0x1007bba3
push dword [ebp - 0x8c0]
call fcn.1001b9e0
add esp, 4
mov edx, dword [ebx + edi*4 + 4]
lea ecx, [ebp - 0xa2c]
call fcn.1000af90
lea eax, [ebp - 0x968]
push eax
lea ecx, [ebp - 0xa3c]
call fcn.10004dd0
fild dword [ebp - 0x968]
lea ecx, [ebp - 0x9d4]
fstp qword [ebp - 0x928]
fld qword [ebp - 0x928]
fdivr qword [0x100a8460]
fild dword [ebp - 0x978]
fstp qword [ebp - 0x928]
fld qword [ebp - 0x928]
fmul qword [0x100a8440]
mov byte [ebp - 4], 8
fmulp st(1)
fstp qword [ebp - 0x848]
call fcn.100055c0
lea eax, [ebp - 0x9d4]
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
push eax
call fcn.1005f6f2
mov ebx, dword [ebp - 0x910]
add esp, 4
cmp dword [ebp - 0x850], 0
je 0x1007bd17
mov edi, dword [ebp - 0x918]
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x918]
call fcn.100078e0
mov esi, eax
cmp esi, dword [ebp - 0x918]
je 0x1007bc94
cmp dword [esi + 0x24], 8
lea ecx, [esi + 0x10]
jb 0x1007bc64
mov ecx, dword [ecx]
cmp dword [ebp - 0x84c], 8
lea eax, [ebp - 0x860]
push ecx
cmovae eax, dword [ebp - 0x860]
push eax
call fcn.100639f0
add esp, 8
test eax, eax
js 0x1007bc94
mov dword [ebp - 0x944], esi
lea eax, [ebp - 0x944]
jmp 0x1007bca6
mov eax, dword [ebp - 0x918]
mov dword [ebp - 0x97c], eax
lea eax, [ebp - 0x97c]
cmp dword [eax], edi
jne 0x1007bd17
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x8d8]
call fcn.10005320
lea eax, [ebp - 0x860]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x8d8]
push eax
call fcn.100053c0
mov ecx, eax
call fcn.10005500
mov byte [ebp - 4], 8
cmp dword [ebp - 0x8c4], 8
jb 0x1007bcf5
push dword [ebp - 0x8d8]
call fcn.1001b9e0
add esp, 4
movzx eax, byte [0x100b4f61]
push eax
lea eax, [ebp - 0x860]
push eax
push ecx
lea eax, [ebp - 0xa50]
push eax
lea ecx, [ebp - 0x918]
call fcn.1000b480
test ebx, ebx
je 0x1007bd42
push ebx
call fcn.1001b9e0
add esp, 4
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x90c], 0
mov dword [ebp - 0x908], 0
cmp dword [ebp - 0x84c], 8
jb 0x1007bd59
push dword [ebp - 0x860]
call fcn.1001b9e0
add esp, 4
mov eax, dword [ebp - 0x930]
mov ebx, dword [ebp - 0x974]
add eax, 0xfffffffe
mov edi, dword [ebp - 0x94c]
cmp ebx, eax
jb 0x1007b430
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x918]
mov eax, dword [ebp - 0x918]
push eax
push dword [eax]
lea eax, [ebp - 0xa48]
push eax
call fcn.10007a20
push dword [ebp - 0x918]
call fcn.1001b9e0
mov ecx, dword [ebp - 0x940]
add esp, 4
inc ecx
mov dword [ebp - 0x940], ecx
cmp ecx, dword [ebp - 0x900]
jae 0x1007bdcd
mov ebx, dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
jmp 0x1007b2f0
push str.vector_T__too_long
call fcn.1005f1f4
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [ebp - 0x920]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x934]
call esi
mov eax, dword [ebp - 0x8f8]
push eax
push dword [eax]
lea eax, [ebp - 0xa40]
push eax
lea ecx, [ebp - 0x8f8]
call fcn.10007820
push dword [ebp - 0x8f8]
call fcn.1001b9e0
add esp, 4
mov eax, 0x100b4ee4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006302b
mov esp, ebp
pop ebp
ret