Function at 0x1400086b4
Capabilities:
Get geographical location

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
xor ebp, ebp
mov rbx, rcx
mov eax, 0x8000
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x58], ebp
mov r8d, 0x1388
mov dword [rsp + 0x5c], r8d
mov dword [rcx + 0xcc], r8d
mov ecx, 0x1000
mov dword [rbx + 0x54], ecx
mov dword [rbx + 0xb4], ecx
mov ecx, 0x400
mov dword [r11 - 0x70], ecx
mov dword [rbx + 0x50], eax
mov dword [rbx + 0xb0], eax
mov eax, 0x100
mov dword [r11 - 0x6c], eax
mov dword [rsp + 0x68], ebp
mov dword [rsp + 0x6c], ebp
mov qword [r11 - 0x80], rbp
mov qword [r11 - 0x78], rbp
mov dword [r11 - 0x68], ebp
mov dword [rsp + 0x70], ebp
mov dword [r11 - 0x40], ecx
mov dword [r11 - 0x3c], eax
mov dword [r11 - 0x60], ebp
mov dword [r11 - 0x5c], ebp
mov qword [r11 - 0x50], rbp
mov qword [r11 - 0x48], rbp
mov dword [r11 - 0x38], ebp
mov dword [r11 - 0x58], ebp
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x60], ebp
call fcn.140008370
cmp eax, ebp
je 0x14000894f
lea edi, [rbp + 1]
lea rdx, str.geoname_id
lea rcx, [rsp + 0x68]
mov r8d, edi
call fcn.14000c79c
lea rdx, str.country_name
lea rcx, [rsp + 0x68]
mov r8d, edi
mov r15d, eax
call fcn.14000c79c
lea rdx, str.city_name
lea rcx, [rsp + 0x68]
mov r8d, edi
mov esi, eax
mov dword [rsp + 0x100], eax
call fcn.14000c79c
lea rdx, str.country_iso_code
lea rcx, [rsp + 0x68]
mov r8d, edi
mov r12d, eax
call fcn.14000c79c
lea rdx, str.subdivision_1_name
lea rcx, [rsp + 0x68]
mov r8d, edi
mov r14d, eax
call fcn.14000c79c
lea rcx, [rsp + 0x50]
xor edx, edx
mov r13d, eax
call fcn.140008570
cmp eax, ebp
je 0x14000894f
or dword [rsp + 0x34], 0xffffffff
or dword [rsp + 0x38], 0xffffffff
or dword [rsp + 0x3c], 0xffffffff
lea rcx, [rsp + 0x50]
mov edx, r15d
mov byte [rsp + 0x40], bpl
mov byte [rsp + 0x41], bpl
call fcn.140008688
mov rcx, rax
call sub.msvcrt.dll_atoi
lea rcx, [rsp + 0x50]
mov edx, esi
mov dword [rsp + 0x30], eax
call fcn.140008688
cmp byte [rax], bpl
mov rsi, rax
je 0x14000886a
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.14000c79c
cmp eax, 0xffffffff
jne 0x140008866
or r8d, eax
mov rdx, rsi
mov rcx, rbx
call fcn.14000c668
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x50]
mov edx, r12d
call fcn.140008688
cmp byte [rax], bpl
je 0x14000888f
lea rcx, [rbx + 0x30]
xor r8d, r8d
mov rdx, rax
call fcn.14000c734
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x50]
mov edx, r13d
call fcn.140008688
cmp byte [rax], bpl
je 0x1400088b7
lea rcx, [rbx + 0x90]
xor r8d, r8d
mov rdx, rax
call fcn.14000c734
mov dword [rsp + 0x3c], eax
lea rcx, [rsp + 0x50]
mov edx, r14d
call fcn.140008688
mov cl, byte [rax]
test cl, cl
je 0x1400088d5
mov al, byte [rax + 1]
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x41], al
movsxd rsi, dword [rbx + 0xd0]
mov eax, dword [rbx + 0xcc]
lea r8, [rbx + 0xc8]
lea rcx, [rbx + 0xc0]
mov edx, esi
mov r9d, 0x14
mov dword [rsp + 0x20], eax
call fcn.14000b7b8
lea r11d, [rsi + 1]
cmp dword [rbx + 0xd0], r11d
jge 0x140008915
mov dword [rbx + 0xd0], r11d
mov rax, qword [rbx + 0xc0]
lea rcx, [rsi + rsi*4]
lea rdx, [rsp + 0x30]
lea rcx, [rax + rcx*4]
mov r8d, 0x14
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.140008570
mov esi, dword [rsp + 0x100]
test eax, eax
jne 0x1400087ff
lea rcx, [rsp + 0x50]
call fcn.140008338
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret