Function at 0x140018b20
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x348
mov r15, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.140002fc3
test rax, rax
jne 0x140018b66
lea rsi, [rsp + 0x180]
mov rcx, rsi
mov rdx, r15
call fcn.140002f38
cmp byte [rsi], 0
je 0x140018b82
mov rax, qword [rsp + 0x188]
mov qword [rdi], rax
and qword [rdi + 8], 0
add rsp, 0x348
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rsp + 0x181], 0
je 0x1400197f9
cmp byte [rsp + 0x182], 0x5b
jne 0x14001980a
dec byte [r15 + 0x30]
je 0x140019826
mov qword [rsp + 0x30], rdi
inc qword [r15 + 0x10]
lea rax, [rsp + 0x150]
and qword [rax], 0
mov qword [rax + 8], 8
and qword [rax + 0x10], 0
mov r14b, 1
mov eax, 8
mov qword [rsp + 0x80], rax
xor r12d, r12d
lea rbx, [rsp + 0x88]
lea rdi, [rsp + 0x60]
lea rcx, [rsp + 0x180]
mov rdx, r15
call fcn.140002f38
cmp byte [rsp + 0x180], 0
je 0x140018c14
mov r13b, reloc.WS2_32.dll_recvfrom
mov rbp, qword [rsp + 0x188]
jmp 0x1400194e3
cmp byte [rsp + 0x181], 0
je 0x140019196
mov al, byte [rsp + 0x182]
movzx ecx, al
cmp ecx, 0x2c
je 0x140018c53
mov r13b, reloc.WS2_32.dll_recv
cmp ecx, 0x5d
je 0x1400194e3
test r14b, r14b
jne 0x140018c5c
mov qword [rsp + 0x88], 7
jmp 0x1400191a2
test r14b, r14b
je 0x14001911f
cmp al, 0x5d
je 0x1400198b7
lea rcx, [rsp + 0x180]
mov rdx, r15
call fcn.140002f38
cmp byte [rsp + 0x180], 0
jne 0x140019794
cmp byte [rsp + 0x181], 0
je 0x1400198a6
movzx eax, byte [rsp + 0x182]
cmp eax, 0x7b
jne 0x140019876
dec byte [r15 + 0x30]
je 0x1400198e4
inc qword [r15 + 0x10]
and qword [rsp + 0x170], 0
and qword [rsp + 0x118], 0
mov qword [rsp + 0x60], r15
and qword [rsp + 0x130], 0
mov byte [rsp + 0x68], 1
mov byte [rsp + 0x1e8], 2
mov al, 1
mov dword [rsp + 0x5c], eax
mov r13b, 2
xor eax, eax
mov qword [rsp + 0x140], rax
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x50], rcx
mov rcx, rbx
mov rdx, rdi
call fcn.14001cac5
cmp qword [rsp + 0x88], 0
mov rbp, qword [rsp + 0x90]
jne 0x1400193d1
test rbp, rbp
je 0x140019084
mov rsi, qword [rsp + 0x98]
mov r9d, 6
mov rcx, rbp
mov rdx, rsi
lea r8, [0x1404117db]
call fcn.14007dcaf
test al, al
jne 0x140018ee8
mov r9d, 6
mov rcx, rbp
mov rdx, rsi
lea r8, [0x140411d17]
call fcn.14007dcaf
test al, al
jne 0x140018f2b
mov r9d, 3
mov rcx, rbp
mov rdx, rsi
lea r8, [0x14033cc08]
call fcn.14007dcaf
test al, al
jne 0x140018f69
mov r9d, 4
mov rcx, rbp
mov rdx, rsi
lea r8, [0x14033dd33]
call fcn.14007dcaf
test al, al
jne 0x140018fd9
mov r9d, 8
mov rcx, rbp
mov rdx, rsi
lea r8, [0x14033dd37]
call fcn.14007dcaf
test al, al
jne 0x140018e0e
mov r9d, 4
mov rcx, rbp
mov rdx, rsi
lea r8, str.typetext_entitiesexplanation_entities
call fcn.14007dcaf
mov rcx, rbx
test al, al
jne 0x140018e80
mov rdx, rdi
call fcn.14001cc46
mov rcx, rbx
call fcn.1400092d1
jmp 0x140018d07
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140019b66
mov rbp, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
test r14, r14
je 0x1400193d1
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x48], rcx
mov rsi, r15
lea rcx, [rsp + 0x128]
call fcn.1400c2f77
mov qword [rsp + 0x1f0], rbp
mov qword [rsp + 0x128], rbp
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x130], r14
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x138], rax
jmp 0x140018d07
mov rsi, r15
mov rdx, qword [rsp + 0x60]
call fcn.140019b66
mov rbp, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
test r14, r14
je 0x140019642
mov r15, qword [rsp + 0x98]
lea rcx, [rsp + 0x168]
call fcn.1400c2f77
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x168], rbp
mov rax, r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x170], r14
mov qword [rsp + 0x178], r15
mov r15, rsi
jmp 0x140018d07
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140019c92
cmp qword [rsp + 0x88], 0
jne 0x1400193c9
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x208], rax
mov eax, 1
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x50]
jmp 0x140018d02
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140019c92
cmp qword [rsp + 0x88], 0
jne 0x1400193c9
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x200], rax
mov dword [rsp + 0x5c], 0
mov rcx, qword [rsp + 0x50]
jmp 0x140018d02
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140019b66
mov rbp, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
test r14, r14
je 0x1400193d1
mov rsi, qword [rsp + 0x98]
lea rcx, [rsp + 0x110]
call fcn.1400c2f77
mov qword [rsp + 0x1f8], rbp
mov qword [rsp + 0x110], rbp
mov rax, r14
mov qword [rsp + 0x140], r14
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x120], rsi
mov rcx, qword [rsp + 0x50]
jmp 0x140018d02
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14001998e
mov r13b, byte [rsp + 0xf0]
mov rbp, qword [rsp + 0x88]
cmp r13b, 2
je 0x1400193d1
mov ecx, ntohs
mov r14, rbp
lea rbp, [rsp + 0x228]
mov rdi, rbp
lea rdx, [rsp + 0x90]
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov eax, dword [rdx + 0x61]
mov ecx, dword [rdx + 0x64]
mov dword [rsp + 0x3b], ecx
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x180]
call fcn.14000bc54
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x180], r14
mov ecx, ntohs
lea rdx, [rsp + 0x188]
mov rdi, rdx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov byte [rsp + 0x1e8], r13b
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3b]
mov dword [rdx + 0x64], ecx
mov dword [rdx + 0x61], eax
lea rdi, [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
jmp 0x140018d02
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140019591
mov rsi, qword [rsp + 0x178]
mov r9d, recvfrom
mov rcx, rdi
mov rdx, rsi
lea r8, str.text_mentiontext_linkmentionhashtagcashtagbot_commandbolditalicunderlinestrikethrough
call fcn.14007dcaf
mov byte [rsp + 0x48], al
test al, al
je 0x140019146
cmp r13b, 2
je 0x140019629
mov rbp, qword [rsp + 0x188]
mov r8, qword [rsp + 0x190]
mov ecx, 0xa
lea rax, [rsp + 0x228]
mov rdi, rax
lea rsi, [rsp + 0x198]
rep movsq qword [rdi], qword [rsi]
lea rdx, [rsp + 0x188]
mov ecx, dword [rdx + 0x61]
mov edx, dword [rdx + 0x64]
mov dword [rsp + 0x3b], edx
mov dword [rsp + 0x38], ecx
mov rcx, rbp
mov r14b, 1
mov rbp, qword [rsp + 0x28]
mov dl, 1
mov dword [rsp + 0x28], edx
jmp 0x1400192d5
inc qword [r15 + 0x10]
mov rcx, rbx
mov rdx, r15
call fcn.140002f38
cmp byte [rsp + 0x88], 0
je 0x1400193af
mov rbp, qword [rsp + 0x90]
jmp 0x1400191b0
mov r9d, 9
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033de94]
call fcn.14007dcaf
test al, al
je 0x1400191b8
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x140019653
mov r14b, 1
mov r13b, reloc.WS2_32.dll_ntohs
mov r8, qword [rsp + 0x120]
mov dword [rsp + 0x28], 0
mov rbp, qword [rsp + 0x1f8]
jmp 0x1400192cd
mov qword [rsp + 0x88], 2
mov rcx, r15
mov rdx, rbx
call fcn.140331a00
mov rbp, rax
mov r13b, reloc.WS2_32.dll_recvfrom
jmp 0x1400194e3
mov r9d, 7
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033de9d]
call fcn.14007dcaf
mov r13b, 2
test al, al
jne 0x1400192c4
mov r9d, 7
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033dea4]
call fcn.14007dcaf
mov r13b, 3
test al, al
jne 0x1400192c4
mov r9d, 7
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033deab]
call fcn.14007dcaf
mov r13b, 4
test al, al
jne 0x1400192c4
mov r9d, ntohs
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033deb2]
call fcn.14007dcaf
mov r13b, 5
test al, al
jne 0x1400192c4
mov r9d, 3
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033cc08]
call fcn.14007dcaf
mov r13b, 6
test al, al
jne 0x1400192c4
mov r9d, 5
mov rcx, rdi
mov rdx, rsi
lea r8, [0x140411d49]
call fcn.14007dcaf
mov r13b, 7
test al, al
jne 0x1400192c4
mov r9d, recvfrom
mov rcx, rdi
mov rdx, rsi
lea r8, [0x140411a05]
call fcn.14007dcaf
mov r13b, 8
test al, al
jne 0x1400192c4
mov r9d, 4
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033debd]
call fcn.14007dcaf
mov r13b, 9
test al, al
je 0x140019687
mov al, 1
mov dword [rsp + 0x28], eax
mov r14b, 1
lea rax, [rsp + 0x228]
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], r8
mov ecx, 0xa
lea rdi, [rsp + 0xa0]
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov byte [rsp + 0xf0], r13b
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3b]
lea rdx, [rsp + 0x90]
mov dword [rdx + 0x64], ecx
mov dword [rdx + 0x61], eax
cmp qword [rsp + 0x148], 0
je 0x1400195b2
test byte [rsp + 0x5c], 1
jne 0x1400195c0
mov ecx, ntohs
lea rdi, [rsp + 0x288]
lea rsi, [rsp + 0x90]
rep movsq qword [rdi], qword [rsi]
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3b]
mov dword [rsp + 0x7b], ecx
mov dword [rsp + 0x78], eax
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x40]
call fcn.14007ab60
test r14b, r14b
je 0x140019381
lea rcx, [rsp + 0x128]
call fcn.1400c2f77
cmp byte [rsp + 0x48], 0
jne 0x140019395
lea rcx, [rsp + 0x180]
call fcn.14000bc54
cmp byte [rsp + 0x28], 0
je 0x140019420
lea rcx, [rsp + 0x110]
call fcn.1400c2f77
jmp 0x140019420
cmp byte [rsp + 0x89], 0
je 0x1400198a6
mov al, byte [rsp + 0x8a]
jmp 0x140018c5c
mov rbp, qword [rsp + 0x90]
mov r13b, 1
mov r14b, 1
mov dil, 1
lea rcx, [rsp + 0x128]
call fcn.1400c2f77
test r13b, r13b
je 0x1400193f9
lea rcx, [rsp + 0x180]
call fcn.14000bc54
test r14b, r14b
je 0x14001940b
lea rcx, [rsp + 0x110]
call fcn.1400c2f77
test dil, dil
je 0x14001941d
lea rcx, [rsp + 0x168]
call fcn.1400c2f77
mov r13b, reloc.WS2_32.dll_recv
inc byte [r15 + 0x30]
mov rcx, r15
call fcn.140003072
mov r14, rax
mov qword [rsp + 0x88], rbp
mov ecx, ntohs
lea rdi, [rsp + 0x90]
lea rsi, [rsp + 0x288]
rep movsq qword [rdi], qword [rsi]
mov byte [rsp + 0xf0], r13b
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x7b]
lea rdx, [rsp + 0x90]
mov dword [rdx + 0x64], ecx
mov dword [rdx + 0x61], eax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], r14
cmp r13b, 0x10
je 0x140019903
test r14, r14
jne 0x14001990f
mov ecx, ntohs
lea rdi, [rsp + 0x2e8]
lea rsi, [rsp + 0x288]
rep movsq qword [rdi], qword [rsi]
lea rcx, [rsp + 0x90]
mov rax, qword [rcx + 0x70]
mov qword [rsp + 0x21f], rax
movups xmm0, xmmword [rcx + 0x61]
movaps xmmword [rsp + 0x210], xmm0
xor r14d, r14d
cmp r13b, 0x10
je 0x14001977d
movzx eax, r13b
cmp eax, 0x11
je 0x14001979c
cmp r12, qword [rsp + 0x150]
jne 0x140019526
lea rcx, [rsp + 0x150]
mov rdx, r12
call fcn.1401b8d08
mov rax, qword [rsp + 0x158]
mov r12, qword [rsp + 0x160]
jmp 0x14001952e
mov rax, qword [rsp + 0x80]
shl r12, 7
mov qword [rsp + 0x80], rax
add rax, r12
add rax, 8
mov qword [rax - 8], rbp
mov ecx, ntohs
mov rdi, rax
lea rsi, [rsp + 0x2e8]
rep movsq qword [rdi], qword [rsi]
mov byte [rax + 0x60], r13b
movaps xmm0, xmmword [rsp + 0x210]
movups xmmword [rax + 0x61], xmm0
mov rcx, qword [rsp + 0x21f]
mov qword [rax + 0x70], rcx
mov r12, qword [rsp + 0x160]
inc r12
mov qword [rsp + 0x160], r12
lea rdi, [rsp + 0x60]
jmp 0x140018bea
mov edx, 4
lea rcx, str.typetext_entitiesexplanation_entities
call fcn.1403320e3
mov rbp, rax
mov r13b, 1
xor edi, edi
mov r14b, 1
jmp 0x1400193da
mov edx, 6
lea rcx, [0x1404117db]
jmp 0x1400195cc
mov edx, 6
lea rcx, [0x140411d17]
call fcn.1403320e3
mov rbp, rax
mov rcx, rbx
call fcn.14000b90b
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x40]
call fcn.14007ab60
test r14b, r14b
je 0x1400195fd
lea rcx, [rsp + 0x128]
call fcn.1400c2f77
cmp byte [rsp + 0x48], 0
jne 0x140019611
lea rcx, [rsp + 0x180]
call fcn.14000bc54
cmp byte [rsp + 0x28], 0
je 0x14001941d
lea rcx, [rsp + 0x110]
jmp 0x140019418
mov edx, 4
lea rcx, [0x14033dd33]
call fcn.1403320e3
mov rbp, rax
mov r14b, 1
jmp 0x14001966a
mov r13b, 1
mov r14b, 1
mov dil, 1
mov r15, rsi
jmp 0x1400193da
mov edx, 3
lea rcx, [0x14033cc08]
call fcn.1403320e3
mov rbp, rax
xor r14d, r14d
mov r13b, byte [rsp + 0x48]
xor r13b, 1
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
call fcn.14007ab60
xor edi, edi
jmp 0x1400193da
mov al, 1
mov dword [rsp + 0x28], eax
mov r9d, 6
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033dec1]
call fcn.14007dcaf
mov r13b, 0xa
test al, al
jne 0x1400192ca
mov r9d, 9
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033dec7]
call fcn.14007dcaf
mov r13b, listen
test al, al
jne 0x1400192ca
mov r9d, reloc.WS2_32.dll_listen
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
lea r8, [0x14033ded0]
call fcn.14007dcaf
mov r13b, listen
test al, al
jne 0x1400192ca
mov r9d, 4
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
lea r8, [0x140408e06]
call fcn.14007dcaf
mov r13b, reloc.WS2_32.dll_listen
test al, al
jne 0x1400192ca
mov r9d, 3
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
lea r8, [0x1403a8863]
call fcn.14007dcaf
test al, al
je 0x14001975b
mov r13b, ntohs
mov r8, qword [rsp + 0x138]
xor r14d, r14d
mov rbp, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x50]
jmp 0x1400192cd
mov r9d, reloc.WS2_32.dll_ntohs
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
lea r8, [0x14033dee0]
call fcn.1403322b3
jmp 0x14001963a
mov rbp, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x80]
jmp 0x1400197b0
mov rbp, qword [rsp + 0x188]
mov rdi, qword [rsp + 0x30]
lea rcx, [rsp + 0x150]
call fcn.14000c16a
xor esi, esi
inc byte [r15 + 0x30]
mov rcx, r15
call fcn.1400030e7
mov r14, rax
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], r12
mov qword [rsp + 0xa0], rax
test rsi, rsi
je 0x140019842
test r14, r14
jne 0x140019856
mov qword [rdi], rbp
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r12
jmp 0x140018b6e
lea rdx, [rsp + 0x88]
mov qword [rdx], 5
jmp 0x140019835
lea r8, [0x14033e628]
lea rdx, [rsp + 0x180]
mov rcx, r15
call fcn.140331c90
mov rbp, rax
jmp 0x140019866
lea rdx, [rsp + 0x88]
mov qword [rdx], 0x18
mov rcx, r15
call fcn.140331a00
jmp 0x140018b66
test r14, r14
je 0x140019866
lea rcx, [rsp + 0xa0]
call fcn.14000aae6
jmp 0x140019866
lea rcx, [rsp + 0x88]
call fcn.14000c16a
mov rbp, r14
mov rcx, r15
mov rdx, rbp
call fcn.140331a38
jmp 0x140018b66
cmp eax, 0x5b
jne 0x1400198c8
dec byte [r15 + 0x30]
mov rdi, qword [rsp + 0x30]
jne 0x140019926
lea rdx, [rsp + 0x88]
mov qword [rdx], 0x18
mov rcx, r15
call fcn.140331a00
jmp 0x140019986
lea rdx, [rsp + 0x88]
mov qword [rdx], 5
jmp 0x1400198f3
lea rdx, [rsp + 0x88]
mov qword [rdx], reloc.WS2_32.dll_setsockopt
jmp 0x1400198f3
lea r8, [0x14033d220]
lea rdx, [rsp + 0x180]
mov rcx, r15
call fcn.140331c90
mov rbp, rax
jmp 0x14001991f
lea rdx, [rsp + 0x88]
mov qword [rdx], 0x18
mov rcx, r15
call fcn.140331a00
mov rbp, rax
jmp 0x14001979c
test r14, r14
mov rdi, qword [rsp + 0x30]
jne 0x14001996e
jmp 0x14001997b
lea rcx, [rsp + 0x88]
call fcn.14000b90b
mov rbp, r14
mov rdi, qword [rsp + 0x30]
jmp 0x14001997b
inc qword [r15 + 0x10]
lea rsi, [rsp + 0x88]
mov byte [rsi], 0xa
lea r8, [0x14033d220]
lea rdx, [rsp + 0x180]
mov rcx, rsi
call fcn.14033704f
mov rbp, rax
inc byte [r15 + 0x30]
mov rcx, r15
call fcn.1400030e7
mov qword [rsi], rbp
mov byte [rsi + 0x68], reloc.WS2_32.dll_recv
mov qword [rsi + 0x80], rax
test rax, rax
je 0x14001997b
lea rcx, [rsp + 0x108]
call fcn.14000aae6
mov rcx, r15
mov rdx, rbp
call fcn.140331a38
mov rbp, rax
jmp 0x1400197a1