Function at 0x10051050
Capabilities:
Get geographical location

Disassembly:
push 0xc4
mov eax, 0x100d4c21
call fcn.100c745c
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc4], ebx
cmp dword [eax + 0x10], ebx
jne 0x10051086
xor eax, eax
inc eax
jmp 0x1005181e
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], bl
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], ebx
push ecx
push eax
call fcn.100c8a78
pop ecx
pop ecx
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x28]
rep stosd dword es:[edi], eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.10054044
push 8
pop ecx
xor eax, eax
mov byte [ebp - 4], 1
lea edi, [ebp - 0x78]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x78]
call fcn.10053b49
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], bl
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 3
call fcn.100570f0
mov ebx, eax
mov dword [ebp - 0xd0], ebx
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x58]
mov esi, dword [ebx]
lea ecx, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 4
mov esi, dword [esi + 4]
push eax
mov eax, dword [ebp - 0x30]
add eax, ecx
push eax
push ecx
mov ecx, esi
call dword [0x100e97d8]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x90]
mov edi, 0x100eadb0
push edi
test al, al
jne 0x1005124e
mov dword [ebp - 0xc4], 0xc
call fcn.100c8a78
push edi
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 5
call fcn.100c8a78
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 6
push dword [eax + 8]
call fcn.100c8a78
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0xc0]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100090b6
test esi, esi
je 0x100517c5
push edi
lea ecx, [ebp - 0xc0]
call fcn.100c8a78
push edi
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 8
call fcn.100c8a78
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 9
push dword [eax + 8]
call fcn.100c8a78
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.100aa486
add esp, 0xc
mov esi, dword [eax]
push str.ParseIMSFetchAccessTokenResponse
push str._s_:_Parsing_Failed
push edi
mov ecx, dword [esi + 0x24]
push eax
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0x90]
call fcn.100090b6
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100090b6
jmp 0x100517c5
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xb
push eax
push dword [0x1016a0c4]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xc
push ecx
mov ecx, eax
call fcn.100556b6
mov esi, dword [ebp - 0xcc]
mov ecx, esi
push eax
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xd
push eax
push dword [0x1016a0c8]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xe
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0x18]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push 0
lea ecx, [ebp - 0x90]
call fcn.100c8a78
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xf
push eax
push dword [0x1016a120]
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.100557e8
lea ecx, [ebp - 0xa8]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edx
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x11
push eax
push dword [0x1016a124]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x12
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0x48]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x13
push eax
push dword [0x1016a148]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x14
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0x30]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x15
push eax
push dword [0x1016a128]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x16
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0x68]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x17
push eax
push dword [0x1016a12c]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x18
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0x80]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x19
push eax
push dword [0x1016a138]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x1a
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0xc8]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x1b
push eax
push dword [0x1016a134]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0xb0]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x1d
push eax
push dword [0x1016a130]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0x98]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x1f
push eax
push dword [0x1016a144]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x20
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0x110]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x21
push eax
push dword [0x1016a13c]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x22
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0xe0]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.100543b8
push edi
lea ecx, [ebp - 0x90]
call fcn.10053fad
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x23
push eax
push dword [0x1016a140]
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x28]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x24
push ecx
mov ecx, eax
call fcn.100556b6
push eax
lea ecx, [esi + 0xf8]
call fcn.100c8a78
lea ecx, [ebp - 0xa8]
call fcn.100090b6
lea ecx, [ebp - 0xc0]
call fcn.100543b8
lea ecx, [ebp - 0x90]
call fcn.100543b8
push ebx
lea ecx, [ebp - 0xd0]
call fcn.100c8a78
mov eax, dword [ebp - 0x44]
cmp eax, 0x10
jb 0x100517e5
inc eax
push eax
push dword [ebp - 0x58]
call fcn.100c8a78
pop ecx
pop ecx
and dword [ebp - 0x48], 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.100542df
lea ecx, [ebp - 0x28]
call fcn.100543b8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x10051818
inc ecx
push ecx
push dword [ebp - 0x40]
call fcn.100c8a78
pop ecx
pop ecx
mov eax, dword [ebp - 0xc4]
call fcn.100c7406
ret 8