Function at 0x6f9890
Capabilities:
Get geographical location

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
push 0
push dword [edi + 0x18]
push 0x16
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.006ef27c
add esp, 0x10
mov dword [edi + 0x18], eax
push esi
push eax
push 0x16
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
setne byte [esp + 0xb]
push 0
push dword [edi + 0x14]
push 0x17
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.006ef27c
add esp, 0x10
mov dword [edi + 0x14], eax
push esi
push eax
push 0x17
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
setne bl
push 0
push dword [edi + 0x1c]
push 0x14
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.006ef27c
add esp, 0x10
mov dword [edi + 0x1c], eax
push esi
push eax
push 0x14
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
setne bh
and bh, bl
push 0
push dword [edi + 0x20]
push 0x15
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.006ef27c
add esp, 0x10
mov dword [edi + 0x20], eax
push esi
push eax
push 0x15
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
setne bl
and bl, bh
push 0
push dword [edi + 0x24]
push 0x18
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.006ef27c
add esp, 0x10
mov dword [edi + 0x24], eax
push esi
push eax
push 0x18
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
setne bh
and bh, bl
push 0
push dword [edi + 0x28]
push 0x50
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.006ef27c
add esp, 0x10
mov dword [edi + 0x28], eax
push esi
push eax
push 0x50
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
setne bl
and bl, bh
push 0
push dword [edi + 0x2c]
push 0x51
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
mov esi, eax
inc esi
sub esp, 0xc
push esi
call fcn.006ef27c
add esp, 0x10
mov dword [edi + 0x2c], eax
push esi
push eax
push 0x51
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
test eax, eax
setne al
and al, bl
and al, byte [esp + 0xb]
movzx edi, al
sub esp, 0xc
push 4
call fcn.006ef27c
add esp, 0x10
mov esi, eax
test esi, esi
je 0x6f9a3c
push 4
push esi
push 0x19
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9a4b
push esi
call fcn.006fbd24
add esp, 0x10
mov ebx, dword [esp + 0x24]
mov word [ebx], ax
sub esp, 0xc
push esi
call fcn.006ef28c
add esp, 0x10
mov esi, 1
jmp 0x6f9a5a
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9a54
push esi
call fcn.006ef28c
add esp, 0x10
xor esi, esi
mov ebx, dword [esp + 0x24]
and esi, edi
sub esp, 0xc
push 4
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9aa1
push 4
push edi
push 0x1a
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9ab0
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 2], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9abb
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9ab9
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 3
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9b02
push 3
push edi
push 0x1b
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9b11
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 4], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9b1c
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9b1a
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 4
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9b63
push 4
push edi
push 0x1c
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9b72
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 6], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9b7d
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9b7b
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 3
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9bc4
push 3
push edi
push 0x52
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9bd3
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 8], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9bde
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9bdc
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 4
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9c25
push 4
push edi
push 0x53
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9c34
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 0xa], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9c3f
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9c3d
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 3
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9c86
push 3
push edi
push 0x54
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9c95
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 0xc], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9ca0
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9c9e
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 3
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9ce7
push 3
push edi
push 0x55
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9cf6
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 0xe], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9d01
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9cff
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 3
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9d48
push 3
push edi
push 0x56
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9d57
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 0x10], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9d62
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9d60
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
sub esp, 0xc
push 3
call fcn.006ef27c
add esp, 0x10
mov edi, eax
test edi, edi
je 0x6f9da9
push 3
push edi
push 0x57
push ebp
call sub.KERNEL32.DLL_GetLocaleInfoA
sub esp, 0xc
test eax, eax
je 0x6f9db8
push edi
call fcn.006fbd24
add esp, 0x10
mov word [ebx + 0x12], ax
sub esp, 0xc
push edi
call fcn.006ef28c
add esp, 0x10
mov eax, 1
jmp 0x6f9dc3
sub esp, 0xc
push 0xe
call sub.KERNEL32.DLL_SetLastError
add esp, 0xc
jmp 0x6f9dc1
push edi
call fcn.006ef28c
add esp, 0x10
xor eax, eax
and esi, eax
movsx eax, word [ebx + 6]
sub esp, 0xc
push dword [eax*4 + 0x726178]
call fcn.006ef898
add esp, 0x10
mov dword [ebx + 0x30], eax
mov eax, esi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret