Function at 0x407c90
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43acb2
mov eax, dword fs:[0]
push eax
sub esp, 0x324
mov eax, dword [0x468fc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x278]
push ecx
push 0x20019
xor esi, esi
push esi
push str.SOFTWAREATI_TechnologiesLog
mov dword [ebp - 0x284], esi
xor eax, eax
push 0x80000002
mov byte [0x461a20], 0
mov word [ebp - 0x218], ax
call dword [0x44102c]
test eax, eax
jne 0x407f5f
lea edx, [ebp - 0x27c]
push edx
mov edx, dword [ebp - 0x278]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x280]
push ecx
push esi
push str.File
push edx
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x27c], 0x208
call dword [0x441030]
lea ebx, [esi + 1]
test eax, eax
jne 0x407d9e
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x274]
call fcn.0040e0b0
lea ecx, [ebp - 0x234]
push ecx
lea ecx, [ebp - 0x274]
mov dword [ebp - 4], esi
mov byte [0x461a20], bl
call fcn.0040e4f0
push eax
mov ecx, 0x461958
mov byte [ebp - 4], bl
call fcn.00402b30
cmp dword [ebp - 0x220], 8
jb 0x407d8c
mov edx, dword [ebp - 0x234]
push edx
call fcn.004399fe
add esp, 4
lea ecx, [ebp - 0x274]
mov dword [ebp - 4], 0xffffffff
call fcn.0040e0e0
mov eax, dword [ebp - 0x278]
push eax
call dword [0x441034]
cmp byte [0x461a20], 0
je 0x407f5f
mov ecx, dword [0x441230]
mov dword [ebp - 0x32c], 0x448814
mov dword [ebp - 0x31c], 0x44a100
mov dword [ebp - 0x2cc], ecx
push esi
lea edx, [ebp - 0x314]
push edx
lea ecx, [ebp - 0x32c]
mov dword [ebp - 4], 2
mov dword [ebp - 0x284], ebx
call dword [0x441238]
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 4]
mov dword [ebp + ecx - method.std::basic_stringstream_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__.virtual_0], vtable.std::basic_stringstream_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__.0
lea ecx, [ebp - 0x314]
mov dword [ebp - 4], 3
call dword [0x4411fc]
mov dword [ebp - method.std::basic_stringbuf_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__.virtual_0], vtable.std::basic_stringbuf_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__.0
mov dword [ebp - 0x2d8], esi
mov dword [ebp - 0x2d4], esi
cmp dword [0x46196c], 8
mov eax, dword [0x461958]
mov dword [ebp - 4], 5
jae 0x407e50
mov eax, 0x461958
push str.SetupCD.txt
push eax
call fcn.00410aa0
push eax
push 0x461958
lea edx, [ebp - 0x31c]
push edx
call fcn.00405620
push eax
call fcn.00405110
push eax
call fcn.00405110
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x32c]
call fcn.00407af0
push eax
lea ecx, [ebp - 0x250]
push ecx
mov byte [ebp - 4], 6
call fcn.00410430
mov ebx, 0x10
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], ebx
jb 0x407eac
mov eax, dword [eax]
push 0x40
push 0xa
push eax
mov ecx, 0x46197c
call fcn.00404f80
push esi
test eax, eax
jne 0x407ed9
mov edx, dword [0x461978]
mov ecx, dword [edx + 4]
push 2
add ecx, 0x461978
call dword [0x441208]
jmp 0x407eee
mov eax, dword [0x461978]
mov ecx, dword [eax + 4]
push esi
add ecx, 0x461978
call dword [0x44121c]
cmp dword [ebp - 0x23c], ebx
jb 0x407f05
mov ecx, dword [ebp - 0x250]
push ecx
call fcn.004399fe
add esp, 4
cmp dword [ebp - 0x220], 8
mov dword [ebp - 0x23c], 0xf
mov dword [ebp - 0x240], esi
mov byte [ebp - 0x250], 0
jb 0x407f34
mov edx, dword [ebp - 0x234]
push edx
call fcn.004399fe
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], esi
mov word [ebp - 0x234], ax
mov dword [ebp - 4], 0xffffffff
call fcn.00406030
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00439a1c
mov esp, ebp
pop ebp
ret