Function at 0x450b40
Capabilities:
Get geographical location
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x4511cf
sub rsp, 0xd0
mov qword [rsp + 0xc8], rbp
lea rbp, [rsp + 0xc8]
mov qword [rsp + 0xd8], rax
mov rdx, qword [rax]
mov esi, dword [rdx]
mov dword [rsp + 0x1c], esi
nop word [rax + rax]
cmp esi, 0xfffffffa
jne 0x4510dd
cmp byte [rdx + 4], 0
jne 0x4510dd
cmp byte [rdx + 5], 0
jne 0x4510dd
cmp byte [rdx + 6], 1
jne 0x4510dd
cmp byte [rdx + 7], 8
jne 0x4510dd
mov rdx, qword [rax + 0x80]
mov rcx, qword [rax + 0x88]
lea rsi, [rcx - 1]
xor ebx, ebx
jmp 0x450bca
mov rbx, r10
cmp rbx, rsi
jge 0x450dd1
mov rdi, rbx
shl rbx, 4
mov r8, qword [rbx + rdx]
lea r9, [rdi + 1]
cmp rcx, r9
jbe 0x4510d5
mov r10, r9
shl r9, 4
mov r11, qword [rdx + r9]
cmp r11, r8
jae 0x450bc7
mov rcx, qword [rax + 0x70]
mov r8, qword [rax + 0x68]
mov r11, qword [rdx + rbx + 8]
cmp r11, rcx
jae 0x4510cd
add r11, r8
mov rdx, qword [rdx + r9 + 8]
nop dword [rax]
cmp rdx, rcx
jae 0x4510c5
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], r9
lea rcx, [rdx + r8]
cmp r10, rsi
jl 0x450c54
mov ecx, 3
lea rdx, [0x00abc317]
jmp 0x450c7d
mov qword [rsp + 0x98], r11
mov rbx, rax
mov rax, rcx
call fcn.00451bc0
mov r11, qword [rsp + 0x98]
mov rcx, rbx
mov rdx, rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x78], rdx
mov rbx, rax
mov rax, r11
call fcn.00451bc0
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x88]
mov rsi, qword [rcx + 0x80]
mov rdi, qword [rsp + 0x70]
cmp rdi, rdx
jae 0x4510b7
mov r8, qword [rsp + 0x60]
mov r8, qword [r8 + rsi]
mov r9, qword [rsp + 0x68]
cmp rdx, r9
jbe 0x4510ac
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + rsi]
mov qword [rsp + 0x48], rax
call fcn.004392e0
lea rax, [0x00adbeb9]
mov ebx, 0x34
nop
call fcn.00439be0
mov rax, qword [rsp + 0x50]
call fcn.00439a40
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x68]
nop dword [rax]
call fcn.00439be0
lea rax, [0x00abbfd9]
mov ebx, 1
call fcn.00439be0
mov rax, qword [rsp + 0x48]
nop dword [rax + rax]
call fcn.00439a40
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x20]
call fcn.00439be0
call fcn.00439360
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + 0x190]
mov rdx, qword [rax + 0x188]
test rcx, rcx
je 0x450dae
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x90], rdx
call fcn.004392e0
lea rax, [0x00abdc10]
mov ebx, 9
call fcn.00439be0
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x68]
call fcn.00439be0
call fcn.00439360
call fcn.004392e0
call fcn.00439540
call fcn.00439360
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xd8]
xor edx, edx
jmp 0x451006
mov rdi, qword [rax + 0xa0]
nop dword [rax + rax]
test rcx, rcx
jbe 0x450f8c
cmp qword [rdx], rdi
jne 0x450f7b
mov rdi, qword [rax + 0xa8]
shl rsi, 4
mov rdx, qword [rsi + rdx]
cmp rdx, rdi
jne 0x450f7b
mov rdx, qword [rax + 0x1c8]
mov rsi, qword [rax + 0x1c0]
test rdx, rdx
jle 0x450e26
mov qword [rsp + 0x70], rdx
xor ecx, ecx
jmp 0x450e55
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rdi, qword [rsp + 0x88]
add rdi, 0x28
mov rax, qword [rsp + 0xd8]
mov rsi, rdi
mov rcx, rdx
mov rdx, qword [rsp + 0x70]
mov rdi, qword [rsi]
mov qword [rsp + 0xa0], rdi
movups xmm0, xmmword [rsi + 8]
movups xmmword [rsp + 0xa8], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rsp + 0xb8], xmm0
mov rdi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xb0]
mov rbx, qword [rdi]
cmp qword [rdi + 8], r8
jne 0x450ed0
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x88], rsi
mov rax, r9
mov rcx, r8
call fcn.00402e20
test al, al
je 0x450ed0
mov rdx, qword [rsp + 0x68]
inc rdx
mov rsi, qword [rsp + 0x70]
cmp rsi, rdx
jg 0x450e36
jmp 0x450e26
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + 0x1b0]
mov qword [rsp + 0x90], rcx
mov rax, qword [rax + 0x1b8]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rdx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rbx
call fcn.004392e0
lea rax, [0x00acedaf]
mov ebx, 0x1e
call fcn.00439be0
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x70]
call fcn.00439be0
lea rax, [0x00abc74e]
mov ebx, 5
call fcn.00439be0
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x68]
call fcn.00439be0
nop dword [rax + rax]
call fcn.00439540
call fcn.00439360
lea rax, [0x00abf76e]
mov ebx, 0xc
call fcn.00437b60
lea rax, [0x00ac7340]
mov ebx, 0x16
call fcn.00437b60
xor eax, eax
call fcn.00465b60
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + rsi]
mov qword [rsp + 0x50], rax
call fcn.004392e0
lea rax, [0x00c278e8]
mov ebx, 1
nop
call fcn.00439be0
mov rax, qword [rsp + 0x50]
call fcn.00439a40
call fcn.00439500
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x58]
call fcn.00439be0
call fcn.00439540
call fcn.00439360
mov rax, qword [rsp + 0x60]
lea rdx, [rax + 1]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xd8]
cmp rdx, rax
jg 0x45109b
mov rsi, qword [rcx + 0x70]
mov rdi, qword [rcx + 0x68]
mov r8, qword [rcx + 0x88]
mov r9, qword [rcx + 0x80]
cmp rdx, r8
jae 0x451090
mov r8, rdx
shl rdx, 4
mov r9, qword [rdx + r9 + 8]
cmp rsi, r9
jbe 0x451085
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], r8
lea rax, [rdi + r9]
mov rbx, rcx
call fcn.00451bc0
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x88]
mov rsi, qword [rcx + 0x80]
mov rdi, qword [rsp + 0x60]
cmp rdi, rdx
jb 0x450f93
mov rax, rdi
mov rcx, rdx
nop dword [rax + rax]
call fcn.00465b60
mov rax, r9
mov rcx, rsi
call fcn.00465b80
mov rax, rdx
mov rcx, r8
call fcn.00465b60
lea rax, [0x00acd29f]
mov ebx, 0x1c
call fcn.00437b60
mov rax, r9
mov rcx, rdx
call fcn.00465b60
mov rax, rdi
mov rcx, rdx
nop dword [rax]
call fcn.00465b60
mov rax, rdx
call fcn.00465b80
mov rax, r11
call fcn.00465b80
mov rax, r9
call fcn.00465b60
movzx eax, byte [rdx + 4]
mov qword [rsp + 0x40], rax
movzx ecx, byte [rdx + 5]
mov qword [rsp + 0x38], rcx
movzx ebx, byte [rdx + 6]
mov qword [rsp + 0x30], rbx
movzx edx, byte [rdx + 7]
mov qword [rsp + 0x28], rdx
call fcn.004392e0
lea rax, [0x00ad56f5]
mov ebx, 0x26
call fcn.00439be0
mov eax, dword [rsp + 0x1c]
nop dword [rax + rax]
call fcn.00439a40
mov rax, qword [rsp + 0x40]
call fcn.00439a40
mov rax, qword [rsp + 0x38]
call fcn.00439a40
mov rax, qword [rsp + 0x30]
nop
call fcn.00439a40
mov rax, qword [rsp + 0x28]
call fcn.00439a40
call fcn.00439360
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rax + 0x190]
mov rax, qword [rax + 0x188]
test rcx, rcx
jne 0x45118f
call fcn.004392e0
call fcn.00439540
call fcn.00439360
lea rax, [0x00acef8f]
mov ebx, 0x1e
call fcn.00437b60
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x90], rax
nop dword [rax]
call fcn.004392e0
lea rax, [0x00abdc10]
mov ebx, 9
call fcn.00439be0
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x70]
call fcn.00439be0
call fcn.00439360
jmp 0x45116f
mov qword [rsp + 8], rax
call fcn.00463440
mov rax, qword [rsp + 8]
nop
jmp fcn.00450b40