Function at 0x1021031
Capabilities:
Get geographical location

Disassembly:
push 0x2c
mov eax, 0x102d0c8
call fcn.01024458
xor ebx, ebx
mov dword [ebp - 0x38], ebx
xor eax, eax
lea edi, [ebp - 0x34]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
stosd dword es:[edi], eax
call fcn.01023754
push dword [ebp + 0x10]
lea eax, [ebp - 0x14]
push dword [ebp + 0xc]
mov dword [ebp - 4], ebx
push 0x100442c
push eax
call sub.MFC42u.dll_CString::Format
mov esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
add esp, 0x10
push ebx
push ebx
push 0x12
push ebx
mov dword [ebp - 0x38], ebx
call esi
mov dword [ebp + 0x10], eax
cmp eax, ebx
jne 0x10210af
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jg 0x10210a3
mov dword [ebp - 0x10], eax
jmp 0x1021301
and eax, 0xffff
or eax, 0x80070000
jmp 0x102109b
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01023eb1
mov edi, eax
pop ecx
cmp edi, ebx
jne 0x10210d6
mov dword [ebp - 0x10], 0x8007000e
jmp 0x10212cc
push dword [ebp + 0x10]
push edi
push 0x12
push ebx
call esi
test eax, eax
je 0x102112f
push 0xa
push ebx
push edi
call dword [sym.imp.msvcrt.dll_wcstoul]
push edi
mov dword [ebp - 0x34], eax
call fcn.01023ea0
add esp, 0x10
push ebx
push ebx
push 0x10
push ebx
call esi
mov dword [ebp + 0x10], eax
cmp eax, ebx
je 0x1021091
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01023eb1
mov edi, eax
pop ecx
cmp edi, ebx
je 0x10210ca
push dword [ebp + 0x10]
push edi
push 0x10
push ebx
call esi
test eax, eax
jne 0x102114b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x1021143
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x10], eax
jmp 0x10212cc
push 0xa
push ebx
push edi
call dword [sym.imp.msvcrt.dll_wcstoul]
push edi
mov dword [ebp - 0x30], eax
call fcn.01023ea0
add esp, 0x10
push ebx
push ebx
push 0xe
push ebx
call esi
mov edi, eax
cmp edi, ebx
je 0x1021091
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01023eb1
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, ebx
jne 0x102119a
mov dword [ebp - 0x10], 0x8007000e
jmp 0x10212d7
push edi
push eax
push 0xe
push ebx
call esi
test eax, eax
jne 0x10211c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jg 0x10211b7
mov dword [ebp - 0x10], eax
jmp 0x10212d7
and eax, 0xffff
or eax, 0x80070000
jmp 0x10211af
mov eax, dword [ebp - 0x18]
push ebx
push ebx
push 0xf
push ebx
mov dword [ebp - 0x2c], eax
call esi
mov edi, eax
cmp edi, ebx
je 0x10211a5
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01023eb1
pop ecx
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x102118e
push edi
push eax
push 0xf
push ebx
call esi
test eax, eax
je 0x10211a5
mov eax, dword [ebp - 0x1c]
push ebx
push ebx
push 0x1010
push ebx
mov dword [ebp - 0x28], eax
call esi
mov dword [ebp + 0x10], eax
cmp eax, ebx
je 0x10211a5
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01023eb1
mov edi, eax
pop ecx
cmp edi, ebx
je 0x10210ca
push dword [ebp + 0x10]
push edi
push 0x1010
push ebx
call esi
test eax, eax
je 0x102112f
push 0xa
push ebx
push edi
call dword [sym.imp.msvcrt.dll_wcstoul]
mov esi, dword [sym.imp.KERNEL32.dll_GetNumberFormatEx]
add esp, 0xc
push ebx
push ebx
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x14]
push ebx
push ebx
call esi
mov dword [ebp + 0x10], eax
cmp eax, ebx
jne 0x1021296
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x1021285
and eax, 0xffff
or eax, 0x80070000
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
call fcn.01023778
jmp 0x10212cc
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01023eb1
pop ecx
push dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
push eax
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x14]
push ebx
push ebx
call esi
test eax, eax
je 0x1021271
push dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
call fcn.01023784
cmp edi, ebx
je 0x10212d7
push edi
call fcn.01023ea0
pop ecx
cmp dword [ebp - 0x18], ebx
je 0x10212e5
push dword [ebp - 0x18]
call fcn.01023ea0
pop ecx
cmp dword [ebp - 0x1c], ebx
je 0x10212f3
push dword [ebp - 0x1c]
call fcn.01023ea0
pop ecx
cmp dword [ebp - 0x20], ebx
je 0x1021301
push dword [ebp - 0x20]
call fcn.01023ea0
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call sub.MFC42u.dll_CString::CString
mov eax, dword [ebp - 0x10]
call fcn.01024506
ret 0xc