Function at 0x14017beb0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x360
mov rax, qword [0x14020cc58]
xor rax, rsp
mov qword [rsp + 0x350], rax
cmp edx, 1
mov rbx, r8
mov rsi, rcx
jne 0x14017bf25
xor edi, edi
lea rax, [rsp + 0x40]
lea rcx, [rsp + 0x30]
mov rdx, rbx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x34], 0x104
call fcn.140179d70
test rdi, rdi
mov r8, qword [rsp + 0x38]
mov rcx, rsi
je 0x14017c218
lea rdx, str._s__s
mov r9, rdi
call fcn.1401789a0
jmp 0x14017c224
cmp edx, 2
jne 0x14017bf45
mov rax, qword [0x140200708]
add rbx, 0x3ff
mov rdi, qword [rax + 0x390]
shr rbx, 0xa
jmp 0x14017bee1
cmp edx, 3
jne 0x14017bf68
mov rax, qword [0x140200708]
add rbx, 0xfffff
mov rdi, qword [rax + 0xda8]
shr rbx, 0x14
jmp 0x14017bee1
cmp edx, 4
jne 0x14017bf8b
mov rax, qword [0x140200708]
add rbx, 0x3fffffff
mov rdi, qword [rax + 0xdb0]
shr rbx, 0x1e
jmp 0x14017bee1
lea r8, [rsp + 0x150]
mov r9d, 0x100
mov edx, recv
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x14017bfbf
mov word [rsp + 0x150], gethostbyname
mov word [rsp + 0x152], ax
cmp rbx, 0x3e8
jae 0x14017bfed
mov r9, qword [0x140200708]
lea rdx, str._I64u__s
mov r8, rbx
mov r9, qword [r9 + 0x2498]
mov rcx, rsi
call fcn.1401789a0
jmp 0x14017c238
mov rax, rbx
and rax, 0xfffffffffffffc00
cmp rax, 0xfa000
jae 0x14017c019
mov rax, qword [0x140200708]
imul rbx, rbx, 0x64
mov rdi, qword [rax + 0x390]
shr rbx, 0xa
jmp 0x14017c0a4
mov rax, rbx
and rax, 0xfffffffffff00000
cmp rax, 0x3e800000
jae 0x14017c042
mov rax, qword [0x140200708]
imul rbx, rbx, 0x64
mov rdi, qword [rax + 0xda8]
shr rbx, 0x14
jmp 0x14017c0a4
mov rax, rbx
movabs rcx, 0xfa00000000
and rax, 0xffffffffc0000000
cmp rax, rcx
jae 0x14017c072
mov rax, qword [0x140200708]
imul rbx, rbx, 0x64
mov rdi, qword [rax + 0xdb0]
shr rbx, 0x1e
jmp 0x14017c0a4
mov rax, rbx
imul rbx, rbx, 0x64
shr rax, 0x28
cmp rax, 0x3e8
mov rax, qword [0x140200708]
jae 0x14017c099
mov rdi, qword [rax + 0x2760]
shr rbx, 0x28
jmp 0x14017c0a4
mov rdi, qword [rax + 0x2768]
shr rbx, 0x32
test rbx, rbx
jne 0x14017c0c0
lea rdx, str.0__s
mov r8, rdi
mov rcx, rsi
call fcn.1401789a0
jmp 0x14017c238
cmp rbx, 0xa
jae 0x14017c0ea
lea r8, [rsp + 0x150]
lea rdx, str.0_S0_I64u__s
mov r9, rbx
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call fcn.1401789a0
jmp 0x14017c238
cmp rbx, 0x64
jae 0x14017c114
lea r8, [rsp + 0x150]
lea rdx, str.0_S_I64u__s
mov r9, rbx
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call fcn.1401789a0
jmp 0x14017c238
cmp rbx, 0x3e8
jae 0x14017c16a
mov r8, rbx
movabs rax, 0x47ae147ae147ae15
lea r9, [rsp + 0x150]
mov rcx, rsi
mov qword [rsp + 0x28], rdi
mul rbx
sub r8, rdx
shr r8, 1
add r8, rdx
lea rdx, str._I64u_S_02I64u__s
shr r8, 6
mov rax, r8
imul rax, rax, 0x64
sub rbx, rax
mov qword [rsp + 0x20], rbx
call fcn.1401789a0
jmp 0x14017c238
cmp rbx, 0x2710
jae 0x14017c1dc
movabs r8, 0xcccccccccccccccd
mov qword [rsp + 0x28], rdi
lea r9, [rsp + 0x150]
mov rax, r8
mul rbx
mov rax, r8
mov rcx, rdx
shr rcx, 3
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
movabs rax, 0x47ae147ae147ae15
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mul rbx
sub rbx, rdx
shr rbx, 1
lea r8, [rdx + rbx]
lea rdx, str._I64u_S_I64u__s
shr r8, 6
call fcn.1401789a0
jmp 0x14017c238
cmp rbx, 0x186a0
jae 0x14017bee1
movabs rax, 0x47ae147ae147ae15
mov r9, rdi
mov rcx, rsi
mul rbx
sub rbx, rdx
shr rbx, 1
lea r8, [rdx + rbx]
lea rdx, str._I64u__s
shr r8, 6
call fcn.1401789a0
jmp 0x14017c238
lea rdx, [0x1401b4760]
call fcn.1401789a0
cmp dword [rsp + 0x34], 0x104
jle 0x14017c238
mov rcx, qword [rsp + 0x38]
call fcn.1400cf780
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.1401a8fb0
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret