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

Disassembly:
push ebp
lea ebp, [esp - 0x520]
sub esp, 0x5a0
mov eax, dword [0x6d38bb70]
xor eax, ebp
mov dword [ebp + 0x51c], eax
mov eax, dword [ebp + 0x528]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x52c]
push ebx
mov dword [ebp - 0x78], eax
push esi
lea eax, [ebp + 0x48]
mov dword [ebp - 0x6c], eax
push edi
lea eax, [ebp + 0x44]
xor ebx, ebx
push eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x60], ebx
call dword [sym.imp.kernel32.dll_GetTimeZoneInformation]
cmp eax, 0xffffffff
je 0x6d37bbf2
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x50], 0x94
call dword [sym.imp.kernel32.dll_GetVersionExA]
xor eax, eax
cmp dword [ebp - 0x40], 2
mov esi, 0x20019
sete al
mov edi, 0x80000002
mov dword [0x6d38bca8], eax
lea eax, [ebp - 0x54]
push eax
push esi
push ebx
push str.SystemCurrentControlSetControlTimeZoneInformation
push edi
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x6d37ba3e
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
push eax
push ebx
push str.DisableAutoDaylightTimeSet
push dword [ebp - 0x54]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], 4
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
cmp eax, ebx
je 0x6d37b98a
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x5c]
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
jne 0x6d37b9ad
cmp dword [ebp - 0x64], 1
jne 0x6d37b9ad
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegCloseKey]
push dword [ebp - 0x68]
mov eax, dword [ebp + 0x44]
call fcn.6d37b85b
pop ecx
push 3
pop eax
jmp 0x6d37bc5e
cmp dword [0x6d38bca8], ebx
je 0x6d37b9f5
cmp dword [ebp - 0x4c], 6
jb 0x6d37b9f5
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x68]
lea eax, [ebp - 0x5c]
push eax
push ebx
push str.TimeZoneKeyName
push dword [ebp - 0x54]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], 0x100
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
test eax, eax
jne 0x6d37bbf2
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegCloseKey]
jmp 0x6d37bc5b
cmp word [ebp + 0x48], bx
jne 0x6d37ba35
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp + 0x11c]
lea esi, [ebp - 0x5c]
xor edi, edi
mov dword [ebp - 0x58], 0x200
call fcn.6d37b7a5
pop ecx
test eax, eax
jne 0x6d37bbf2
lea eax, [ebp + 0x11c]
mov dword [ebp - 0x6c], eax
mov esi, 0x20019
mov edi, 0x80000002
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
push edi
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
je 0x6d37ba71
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 0x6d37ba71
xor eax, eax
jmp 0x6d37bc5e
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 0x6d37bbf2
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x74], ebx
jbe 0x6d37bc1a
jmp 0x6d37baa6
mov esi, 0x20019
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x41c]
push eax
push dword [ebp - 0x58]
mov edi, 0x100
push dword [ebp - 0x54]
mov dword [ebp - 0x64], edi
call dword [sym.imp.advapi32.dll_RegEnumKeyExA]
test eax, eax
jne 0x6d37bbf2
lea eax, [ebp - 0x60]
push eax
push esi
push ebx
lea eax, [ebp + 0x41c]
push eax
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x6d37bbf2
mov edx, dword [ebp - 0x60]
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0x64], edi
push 2
lea ecx, [ebp + 0x31c]
lea esi, [ebp - 0x5c]
pop edi
call fcn.6d37b7a5
pop ecx
test eax, eax
jne 0x6d37bbc8
push dword [ebp - 0x6c]
lea eax, [ebp + 0x31c]
push eax
call dword [sym.imp.msvcr100.dll_wcscmp]
pop ecx
pop ecx
test eax, eax
jne 0x6d37bbae
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp + 0xf0]
push eax
mov eax, esi
push eax
push ebx
push 0x6d38507c
push dword [ebp - 0x60]
mov dword [ebp - 0x80], 0x2c
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
test eax, eax
jne 0x6d37bc09
mov eax, dword [ebp + 0x44]
cmp eax, dword [ebp + 0xf0]
jne 0x6d37bbae
push 0x10
lea eax, [ebp + 0xfc]
push eax
lea eax, [ebp + 0x88]
push eax
call sub.msvcr100.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x6d37bbae
mov eax, dword [ebp + 0xec]
cmp eax, ebx
je 0x6d37bc09
cmp eax, dword [ebp + 0xf8]
jne 0x6d37bbae
push 0x10
lea eax, [ebp + 0x10c]
push eax
lea eax, [ebp + 0xdc]
push eax
call sub.msvcr100.dll_memcmp
add esp, 0xc
test eax, eax
je 0x6d37bc09
push dword [ebp - 0x60]
call dword [sym.imp.advapi32.dll_RegCloseKey]
inc dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x74]
jb 0x6d37baa1
jmp 0x6d37bc1a
push dword [ebp - 0x60]
call dword [sym.imp.advapi32.dll_RegCloseKey]
lea eax, [ebp - 0x60]
push eax
push 0x20019
push ebx
push dword [ebp - 0x6c]
mov dword [ebp - 0x70], 1
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegOpenKeyExW]
test eax, eax
je 0x6d37bc1a
cmp dword [ebp - 0x54], ebx
je 0x6d37ba6a
push dword [ebp - 0x54]
call dword [sym.imp.advapi32.dll_RegCloseKey]
jmp 0x6d37ba6a
lea eax, [ebp + 0x41c]
push eax
push dword [ebp - 0x68]
call sub.msvcr100.dll_strcpy
pop ecx
pop ecx
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x78]
lea eax, [ebp - 0x5c]
push eax
push ebx
push str.MapID
push dword [ebp - 0x60]
mov dword [ebp - 0x7c], 0x20
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
push dword [ebp - 0x60]
mov esi, dword [sym.imp.advapi32.dll_RegCloseKey]
mov edi, eax
call esi
push dword [ebp - 0x54]
call esi
cmp edi, ebx
je 0x6d37bc5b
cmp dword [ebp - 0x70], 1
je 0x6d37ba6a
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x51c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6d381820
add ebp, 0x520
leave
ret