Function at 0x453150
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xca4
mov eax, dword [0x4a86f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push edi
push 0x7fe
push eax
mov word [ebp - 0x818], ax
lea eax, [ebp - 0x816]
push eax
call fcn.0046a330
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0xa9c], ax
lea eax, [ebp - 0xa9a]
push eax
call fcn.0046a330
push esi
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0046befa
push 0
push 0x4b5558
push str._WINDOWS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b5760
push str._SYSTEM_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x4c
lea eax, [ebp - 0x818]
push 0
push 0x4b5968
push str._SYSTEM16_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b5b70
push str._SYSTEM32_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b5350
push str._SENDTO_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4c3268
push str._CURRENTDIR_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4b5d78
push str._PROGRAMFILES_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b5f80
push str._PROGRAM_FILES_COMMON_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b6188
push str._TEMPPATH_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b6188
push str._TEMP_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4b67a0
push str._VIDEO_USER_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b69a8
push str._VIDEO_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b6bb0
push str._MUSIC_USER_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b6db8
push str._MUSIC_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4b6fc0
push str._PICTURES_USER_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b71c8
push str._PICTURES_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b73d0
push str._PROGRAMS_USER_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b75d8
push str._PROGRAMS_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4b77e0
push str._STARTMENU_USER_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b79e8
push str._STARTMENU_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b7bf0
push str._STARTUP_USER_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b7df8
push str._STARTUP_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4c3060
push str._APPDATA_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b8000
push str._COMMON_APPDATA_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b8208
push str._LOCAL_APPDATA_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b8618
push str._DOCUMENTS_USER_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4b8410
push str._DOCUMENTS_ALLUSERS_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b8820
push str._DESKTOP_USER_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b8a28
push str._DESKTOP_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b6390
push str._DOWNLOAD_USER_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
push 0
push 0x4b6598
push str._DOWNLOAD_ALLUSERS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4c3678
push str._TEMPFCW_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ba5a4
push str._TARGETDIR_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ac008
push str._SRCDIR_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4ac008
push str._MODULEPATH_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ac210
push str._MODULEFILE_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ac418
push str._MODULEFILENAME_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ac620
push str._CONFIGFILE_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4c2e60
push str._DISPLAYNAME_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4c2e60
push 0x4935bc
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
mov ecx, dword [0x4c38bc]
xor eax, eax
mov edi, dword [0x4c38b8]
xorps xmm0, xmm0
mov word [ebp - 0x18], ax
sub ecx, edi
mov word [ebp - 6], ax
add esp, 0x28
mov eax, 0x5397829d
imul ecx
movdqu xmmword [ebp - 0x16], xmm0
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4536fd
imul eax, dword [0x4bfdbd], 0x620
push dword [eax + edi + 0x618]
lea eax, [ebp - 0x18]
push 0x4935c8
push 0xa
push eax
call fcn.0046982e
push 0
lea eax, [ebp - 0x18]
push eax
push str._LANG_ID_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
imul ecx, dword [0x4bfdbd], 0x620
mov eax, dword [0x4c38b8]
add eax, 0x408
push 0
add eax, ecx
push eax
push str._LANG_ISO3_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x38
jmp 0x453765
push dword [0x4bfdb9]
lea eax, [ebp - 0x18]
push 0x4935c8
push 0xa
push eax
call fcn.0046982e
push 0
lea eax, [ebp - 0x18]
push eax
push str._LANG_ID_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x24
lea eax, [ebp - 0x18]
push 0xa
push eax
push 3
push dword [0x4bfdb9]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push 0
lea eax, [ebp - 0x18]
push eax
push str._LANG_ISO3_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x14
lea eax, [ebp - 0x818]
push str._EXECUTERETCODE_
push eax
call fcn.004694c0
add esp, 8
test eax, eax
je 0x4537d3
xor eax, eax
push 0x80
push eax
mov word [ebp - 0x89c], ax
lea eax, [ebp - 0x89a]
push eax
call fcn.0046a330
push dword [0x4a80cc]
lea eax, [ebp - 0x89c]
push 0x4935c8
push 0x41
push eax
call fcn.0046982e
push 0
lea eax, [ebp - 0x89c]
push eax
push str._EXECUTERETCODE_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x30
push 0
push 0x4abf60
push str._FUNCTIONRETCODE_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b9f8c
push str._PRODUCTEXE_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b8c38
push str._PRODUCTGUID_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4c2400
push str._PRODUCTNAME_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4c25e6
push str._PRODUCTVERSION_
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4c24a2
push str._COMPANYNAME_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ac828
push str._PARAMS_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
lea eax, [ebp - 0x818]
push str._HWND__FCW_
push eax
call fcn.004694c0
add esp, 0x44
test eax, eax
je 0x4538f7
push dword [0x4c2e4c]
lea eax, [ebp - 0xa9c]
push 0x493704
push 0x100
push eax
call fcn.0046982e
push 0
lea eax, [ebp - 0xa9c]
push eax
push str._HWND_FCW_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x24
push 0
push 0x4ac008
push str._PATH_FCW_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ac210
push str._FILE_FCW_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4ac418
push str._FILENAME_FCW_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
push 0
push 0x4b8c38
push str._GUID_FCW_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x50
lea eax, [ebp - 0x818]
push 0
push 0x4b5148
push str._NEW_GUID_
push 0x400
push eax
call fcn.0042f2e0
lea eax, [ebp - 0x818]
push str._SETUPAQ_
push eax
call fcn.004694c0
add esp, 0x1c
test eax, eax
je 0x453a11
push 0
call fcn.0042e0f0
add esp, 4
test eax, eax
je 0x4539f1
push dword [0x4c2e4c]
lea eax, [ebp - 0xa9c]
push str._SETUPAQ:_u
push 0x100
push eax
call fcn.0046982e
push 0
lea eax, [ebp - 0xa9c]
push eax
push str._SETUPAQ_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x24
jmp 0x453a11
push 0
push 0x487854
push str._SETUPAQ_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x14
lea eax, [ebp - 0x818]
push str._TRAKING_EXE_ID_
push eax
call fcn.004694c0
add esp, 8
test eax, eax
je 0x453a7c
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xca4], ax
lea eax, [ebp - 0xca2]
push eax
call fcn.0046a330
push 0x104
lea eax, [ebp - 0xca4]
push eax
push 0x4ac418
call fcn.0042da50
push 0
lea eax, [ebp - 0xca4]
push eax
push str._TRAKING_EXE_ID_
lea eax, [ebp - 0x818]
push 0x400
push eax
call fcn.0042f2e0
add esp, 0x2c
lea ecx, [ebp - 0x818]
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x453aaa
test dx, dx
je 0x453aa6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x453aaa
add eax, 4
add ecx, 4
test dx, dx
jne 0x453a84
xor eax, eax
jmp 0x453aaf
sbb eax, eax
or eax, 1
test eax, eax
je 0x453adb
lea eax, [ebp - 0x818]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0046befa
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046984a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.0046984a
mov esp, ebp
pop ebp
ret