Function at 0x10007d40
Capabilities:
Get geographical location

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010d1c1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x30
mov eax, dword [0x1018100c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov esi, dword [0x101885ec]
mov edi, dword [0x101885f0]
mov eax, dword [0x10125454]
mov dword [ebp - 0x1c], 0xc
mov dword [ebp - 0x18], 0xf
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], eax
movq xmm0, qword [str.Menu_Opacity]
movq qword [ebp - 0x2c], xmm0
mov byte [ebp - 0x20], 0
cmp esi, edi
je 0x10007ded
cmp dword [esi + 0x18], 0x10
lea ecx, [esi + 4]
jb 0x10007dd1
mov ecx, dword [ecx]
mov edx, dword [esi + 0x14]
lea eax, [ebp - 0x2c]
push 0xc
push eax
call fcn.10003510
add esp, 8
test al, al
jne 0x10007def
add esi, 0x68
cmp esi, edi
jne 0x10007dc6
xor esi, esi
movss xmm0, dword [esi + 0x5c]
push ecx
mov edi, esp
movss dword [ebp - 0x38], xmm0
sub esp, 0xc
lea ecx, [ebx + 8]
mov esi, esp
call dword [sym.imp.Geode.dll_public:_class_std::vector_class_matjson::Value__class_std::allocator_class_matjson::Value______thiscall_matjson::Value::as_array_void_]
push eax
mov ecx, esi
call fcn.10002340
mov ecx, edi
call dword [sym.imp.Geode.dll_public:_void___thiscall_matjson::Value::constructor_class_std::vector_class_matjson::Value__class_std::allocator_class_matjson::Value___]
lea ecx, [ebx + 8]
call dword [sym.imp.Geode.dll_public:_class_matjson::Value____thiscall_matjson::Value::operator_class_matjson::Value_]
mov esi, dword [sym.imp.Geode.dll_public:_class_matjson::Value____thiscall_matjson::Value::operator___unsigned_int_]
lea ecx, [ebx + 8]
push 3
call esi
mov ecx, eax
call dword [sym.imp.Geode.dll_public:_double___thiscall_matjson::Value::as_double_void_const]
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
ucomiss xmm0, dword [0x1015ac50]
lahf
test ah, 0x44
jnp 0x10007e5a
divss xmm0, dword [0x1015ac08]
movss dword [ebp - 0x38], xmm0
push 2
lea ecx, [ebx + 8]
call esi
mov ecx, eax
call dword [sym.imp.Geode.dll_public:_double___thiscall_matjson::Value::as_double_void_const]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x30]
lea ecx, [ebx + 8]
fdiv dword [0x1015ac08]
push 1
fstp dword [ebp - 0x34]
call esi
mov ecx, eax
call dword [sym.imp.Geode.dll_public:_double___thiscall_matjson::Value::as_double_void_const]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x30]
lea ecx, [ebx + 8]
fdiv dword [0x1015ac08]
push 0
fstp dword [ebp - 0x40]
call esi
mov ecx, eax
call dword [sym.imp.Geode.dll_public:_double___thiscall_matjson::Value::as_double_void_const]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x30]
lea ecx, [ebx + 8]
fdiv dword [0x1015ac08]
mov esi, dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x40]
movss dword [esi + 4], xmm0
movss xmm0, dword [ebp - 0x34]
movss dword [esi + 8], xmm0
movss xmm0, dword [ebp - 0x38]
fstp dword [esi]
movss dword [esi + 0xc], xmm0
call dword [sym.imp.Geode.dll_public:_void___thiscall_matjson::Value::destructor_void_]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1010a62a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret