Function at 0x6da56ecc
Capabilities:
Check os version
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x6d0]
sub esp, 0x750
mov eax, dword [0x6da6df10]
xor eax, ebp
mov dword [ebp + 0x6cc], eax
mov eax, dword [ebp + 0x6d8]
push ebx
mov dword [ebp - 0x7c], eax
push esi
lea eax, [ebp + 0x1f8]
mov dword [ebp - 0x6c], eax
push edi
lea eax, [ebp + 0x160]
mov esi, ecx
xor ebx, ebx
push eax
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp + 0x160], 0x94
call dword [sym.imp.kernel32.dll_GetVersionExA]
cmp dword [ebp + 0x164], 6
sbb edi, edi
inc edi
je 0x6da57027
lea eax, [ebp - 0x50]
push eax
call fcn.6da56e98
pop ecx
cmp eax, 0xffffffff
je 0x6da572e1
cmp eax, 0xffffff80
je 0x6da57027
cmp word [ebp + 0x5c], bx
je 0x6da56f84
cmp byte [ebp + 0x15c], bl
je 0x6da56f6c
mov eax, dword [ebp - 0x50]
push esi
call fcn.6da56e4c
pop ecx
push 3
pop eax
jmp 0x6da5734d
push 0x100
lea eax, [ebp + 0x5c]
push eax
push esi
call dword [sym.imp.msvcr100.dll_wcstombs]
add esp, 0xc
jmp 0x6da5734a
cmp word [ebp - 0x4c], bx
jne 0x6da57027
lea eax, [ebp - 0x54]
push eax
push 0x20019
push ebx
push str.SystemCurrentControlSetControlTimeZoneInformation
push 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x6da572e1
mov edi, dword [sym.imp.advapi32.dll_RegQueryValueExA]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x64]
push eax
push ebx
push str.DynamicDaylightTimeDisabled
push dword [ebp - 0x54]
mov dword [ebp - 0x58], 4
call edi
test eax, eax
jne 0x6da572e1
cmp dword [ebp - 0x68], 1
jne 0x6da56fff
mov eax, dword [ebp - 0x50]
push esi
call fcn.6da56e4c
pop ecx
push 3
pop esi
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, esi
jmp 0x6da5734d
lea eax, [ebp - 0x58]
push eax
push esi
lea eax, [ebp - 0x64]
push eax
push ebx
push str.TimeZoneKeyName
push dword [ebp - 0x54]
mov dword [ebp - 0x58], 0x100
call edi
test eax, eax
jne 0x6da572e1
xor esi, esi
inc esi
jmp 0x6da56fef
lea eax, [ebp + 0x1f4]
push eax
call dword [sym.imp.kernel32.dll_GetTimeZoneInformation]
cmp eax, 0xffffffff
je 0x6da572e1
lea eax, [ebp - 0x54]
push eax
mov esi, 0x20019
push esi
push ebx
push str.SystemCurrentControlSetControlTimeZoneInformation
push 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x6da5712e
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x64]
push eax
push ebx
push str.DynamicDaylightTimeDisabled
push dword [ebp - 0x54]
mov dword [ebp - 0x58], 4
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
cmp eax, ebx
je 0x6da570ac
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x64]
push eax
push ebx
push str.DisableAutoDaylightTimeSet
push dword [ebp - 0x54]
mov dword [ebp - 0x58], 4
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
cmp eax, ebx
jne 0x6da570ea
cmp dword [ebp - 0x60], 1
jne 0x6da570c0
cmp word [ebp + 0x28e], bx
je 0x6da570c0
xor eax, eax
inc eax
jmp 0x6da570c2
xor eax, eax
cmp edi, ebx
je 0x6da570cf
xor eax, eax
cmp dword [ebp - 0x60], 1
sete al
cmp eax, ebx
je 0x6da570ea
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegCloseKey]
push dword [ebp - 0x70]
mov eax, dword [ebp + 0x1f4]
jmp 0x6da56f5e
cmp word [ebp + 0x1f8], bx
jne 0x6da57125
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x2cc]
push eax
lea edi, [ebp - 0x64]
xor ecx, ecx
mov dword [ebp - 0x58], 0x200
call fcn.6da56d93
pop ecx
pop ecx
test eax, eax
jne 0x6da572e1
lea eax, [ebp + 0x2cc]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegCloseKey]
lea eax, [ebp - 0x54]
push eax
push esi
push ebx
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionTime_Zones
mov edi, 0x80000002
push edi
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
je 0x6da57166
lea eax, [ebp - 0x54]
push eax
push esi
push ebx
push str.SOFTWAREMicrosoftWindowsCurrentVersionTime_Zones
push edi
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
je 0x6da57166
xor eax, eax
jmp 0x6da5734d
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x74]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegQueryInfoKeyA]
test eax, eax
jne 0x6da572e1
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x74], ebx
jbe 0x6da57309
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x5cc]
push eax
push dword [ebp - 0x58]
mov edi, 0x100
push dword [ebp - 0x54]
mov dword [ebp - 0x60], edi
call dword [sym.imp.advapi32.dll_RegEnumKeyExA]
test eax, eax
jne 0x6da572e1
lea eax, [ebp - 0x5c]
push eax
push esi
push ebx
lea eax, [ebp + 0x5cc]
push eax
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x6da572e1
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x4cc]
push eax
mov dword [ebp - 0x60], edi
push 2
lea edi, [ebp - 0x64]
pop ecx
call fcn.6da56d93
pop ecx
pop ecx
test eax, eax
jne 0x6da572bb
push dword [ebp - 0x6c]
lea eax, [ebp + 0x4cc]
push eax
call dword [sym.imp.msvcr100.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
jne 0x6da572a1
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x2a0]
push eax
mov eax, edi
push eax
push ebx
push 0x6da654b8
push dword [ebp - 0x5c]
mov dword [ebp - 0x78], 0x2c
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
test eax, eax
jne 0x6da572f8
mov eax, dword [ebp + 0x1f4]
cmp eax, dword [ebp + 0x2a0]
jne 0x6da572a1
push 0x10
lea eax, [ebp + 0x2ac]
push eax
lea eax, [ebp + 0x238]
push eax
call sub.msvcr100.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6da572a1
mov eax, dword [ebp + 0x29c]
cmp eax, ebx
je 0x6da572f8
cmp eax, dword [ebp + 0x2a8]
jne 0x6da572a1
push 0x10
lea eax, [ebp + 0x2bc]
push eax
lea eax, [ebp + 0x28c]
push eax
call sub.msvcr100.dll_memcmp
add esp, 0xc
test eax, eax
je 0x6da572f8
push dword [ebp - 0x5c]
call dword [sym.imp.advapi32.dll_RegCloseKey]
inc dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x74]
jb 0x6da57194
jmp 0x6da57309
push dword [ebp - 0x5c]
call dword [sym.imp.advapi32.dll_RegCloseKey]
lea eax, [ebp - 0x5c]
push eax
push esi
push ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x68], 1
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegOpenKeyExW]
test eax, eax
je 0x6da57309
cmp dword [ebp - 0x54], ebx
je 0x6da5715f
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegCloseKey]
jmp 0x6da5715f
lea eax, [ebp + 0x5cc]
push eax
push dword [ebp - 0x70]
call sub.msvcr100.dll_strcpy
pop ecx
pop ecx
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0x64]
push eax
push ebx
push str.MapID
push dword [ebp - 0x5c]
mov dword [ebp - 0x80], 0x20
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
push dword [ebp - 0x5c]
mov esi, dword [sym.imp.advapi32.dll_RegCloseKey]
mov edi, eax
call esi
push dword [ebp - 0x54]
call esi
cmp edi, ebx
je 0x6da5734a
cmp dword [ebp - 0x68], 1
je 0x6da5715f
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x6cc]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6da62890
add ebp, 0x6d0
leave
ret