Function at 0x40f885
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1078
call fcn.0043daa0
mov eax, dword [ebp + 0x14]
push ebx
push esi
xor ebx, ebx
mov esi, ecx
mov edx, 0x1ff
push edi
mov dword [eax], ebx
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x876]
mov word [ebp - 0x878], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x1076]
mov word [ebp - 0x1078], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0x400
lea eax, [ebp - 0x878]
push edi
push eax
push 0x1001
push edi
mov dword [ebp - 0x14], esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 0x1078]
push eax
call sub.MSVCRT.dll_wcscpy
pop ecx
lea eax, [ebp - 0x878]
pop ecx
push edi
push eax
push 0x1002
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [ebp - 0x878]
push eax
call sub.MSVCRT.dll_wcslen
test eax, eax
pop ecx
je 0x40f94a
lea eax, [ebp - 0x1078]
push 0x443cec
push eax
call sub.MSVCRT.dll_wcscat
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 0x1078]
push eax
call sub.MSVCRT.dll_wcscat
add esp, 0x10
lea eax, [ebp - 0x878]
push edi
push eax
push 0x1004
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [ebp - 0x878]
push eax
call sub.MSVCRT.dll_wcslen
test eax, eax
pop ecx
je 0x40f99a
lea eax, [ebp - 0x1078]
push 0x443ce8
push eax
call sub.MSVCRT.dll_wcscat
lea eax, [ebp - 0x878]
push eax
lea eax, [ebp - 0x1078]
push eax
call sub.MSVCRT.dll_wcscat
add esp, 0x10
lea eax, [ebp - 0x1078]
push eax
push ebx
call sub.MSVCRT.dll__wsetlocale
pop ecx
add esi, 4
pop ecx
push ebx
mov ecx, esi
call fcn.0040165b
lea eax, [ebp + 0x14]
push 0x6591
push eax
call fcn.00428fb5
pop ecx
pop ecx
push dword [eax]
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea ecx, [ebp + 0x14]
call fcn.004017ee
push 0x3f3
push dword [esi]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 0x47ec04
push ecx
push ecx
push eax
call fcn.00411533
mov edi, dword [0x47ec38]
add esp, 0xc
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0xc
call ebx
push eax
push 0xb
call ebx
push eax
push 1
push 0x128
push edi
call dword [sym.imp.USER32.dll_LoadImageW]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 1
push 0x80
push dword [esi]
call edi
mov eax, dword [0x47ec38]
push 0
push 0x32
mov dword [ebp + 0x14], eax
call ebx
push eax
push 0x31
call ebx
push eax
push 1
push 0x128
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_LoadImageW]
xor ebx, ebx
push eax
push ebx
push 0x80
push dword [esi]
call edi
push 0x3f3
push dword [esi]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp + 0x14], eax
mov word [ebp - 0x10], 0x7b2
mov word [ebp - 0xe], 1
mov word [ebp - 0xc], 1
mov word [ebp - 0xa], 1
mov word [ebp - 8], bx
mov word [ebp - 6], bx
mov word [ebp - 4], bx
mov word [ebp - 2], bx
lea eax, [ebp - 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLocalTime]
push eax
call ebx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push 0xffffffffffffffff
lea eax, [ebp - 0x1c]
push 0xff12b200
push eax
call fcn.0040f80a
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [ebp - 0x10]
push eax
push 0
push 0x1002
push dword [ebp + 0x14]
call edi
lea eax, [ebp - 0x10]
push eax
call ebx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x1002
push dword [ebp + 0x14]
call edi
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
mov ebx, eax
push 0x5c
lea eax, [ebp - 0x78]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x78]
push eax
push 0x5c
push ebx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ebx, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
and byte [ebp - 0x64], 0
lea eax, [ebp - 0x78]
mov byte [ebp - 0x61], 1
push eax
mov byte [ebp - 0x5e], 2
call ebx
fild dword [ebp - 0x78]
fmul qword [0x43ec80]
call sub.MSVCRT.dll__ftol
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call ebx
push 0
push eax
mov ebx, 0x409
push 0x30
push ebx
push dword [esi]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call edi
lea eax, [ebp + 0x14]
push 0x2230e
push eax
call fcn.00428fb5
pop ecx
pop ecx
push dword [eax]
push ebx
push dword [esi]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea ecx, [ebp + 0x14]
call fcn.004017ee
mov ecx, dword [ebp - 0x14]
call fcn.0040fbbf
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0x10