Function at 0x180021dc0
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1800e92b0]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r12, rdx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp - 0x60]
call fcn.180081920
mov dword [rbp - 0x70], 0x104
lea r9, [rbp - 0x70]
lea r8, [rbp - 0x60]
lea edx, [r13 + 0x40]
lea rcx, str.aHR0cDovL2t5cG9zaXRpb24uZGZ0b3V0aWFvLmNvbS9wb3NpdGlvbi9nZXQwMg
call fcn.1800089d0
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x80], r13
mov byte [rsp + 0x70], r13b
xor r8d, r8d
lea rdx, [0x1800ce742]
lea rcx, [rsp + 0x70]
call fcn.180006b10
nop
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], r13b
cmp byte [rbp - 0x60], r13b
jne 0x180021e7f
mov r8d, r13d
jmp 0x180021e9a
lea rax, [rbp - 0x60]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180021e90
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x50]
call fcn.180006b10
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.180015c90
movzx ebx, al
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x180021f13
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x180021f0e
test cl, 0x1f
je 0x180021ee1
call fcn.180083e00
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180021ef0
call fcn.180083e00
int3
sub rcx, rax
cmp rcx, 8
jae 0x180021eff
call fcn.180083e00
int3
cmp rcx, 0x27
jbe 0x180021f0b
call fcn.180083e00
int3
mov rcx, rax
call fcn.180060d7c
test bl, bl
je 0x1800221ea
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.180001b60
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.180002740
mov rax, qword [rsp + 0x48]
cmp rax, 0x10
jb 0x180021f9a
inc rax
mov rcx, qword [rsp + 0x30]
cmp rax, 0x1000
jb 0x180021f95
test cl, 0x1f
je 0x180021f68
call fcn.180083e00
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180021f77
call fcn.180083e00
int3
sub rcx, rax
cmp rcx, 8
jae 0x180021f86
call fcn.180083e00
int3
cmp rcx, 0x27
jbe 0x180021f92
call fcn.180083e00
int3
mov rcx, rax
call fcn.180060d7c
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], 0
mov r8d, Ordinal_14
lea rdx, str.cityname_:_
lea rcx, [rsp + 0x50]
call fcn.180006b10
nop
mov r15, qword [rsp + 0x60]
lea r14, [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
cmovae r14, rcx
test r15, r15
jne 0x180021fee
mov rdi, r13
jmp 0x180022086
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x18002219a
cmp r15, rbx
ja 0x18002219a
sub rbx, r15
inc rbx
lea rsi, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rsi, qword [rsp + 0x70]
nop word [rax + rax]
test rbx, rbx
je 0x180022190
movsx edx, byte [r14]
mov r8, rbx
mov rcx, rsi
call fcn.180082358
mov rdi, rax
test rax, rax
je 0x180022190
mov r8, r15
mov rdx, r14
mov rcx, rax
call fcn.180082290
test eax, eax
je 0x180022065
sub rsi, rdi
dec rsi
add rbx, rsi
lea rsi, [rdi + 1]
jmp 0x180022020
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rax, qword [rsp + 0x70]
sub rdi, rax
cmp edi, 0xffffffff
je 0x180022190
mov r15, qword [rsp + 0x60]
movsxd rbx, edi
lea r8, [rbx + r15]
mov r9d, 1
lea rdx, [0x1800ce630]
lea rcx, [rsp + 0x70]
call fcn.180002de0
cmp eax, 0xffffffff
cmove eax, dword [rbp - 0x80]
sub eax, edi
movsxd r9, eax
mov rax, qword [rsp + 0x60]
sub r9, rax
lea r8, [rbx + rax]
mov rdx, r12
lea rcx, [rsp + 0x70]
call fcn.1800025c0
nop
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x180022122
inc rax
mov rcx, qword [rsp + 0x50]
cmp rax, 0x1000
jb 0x18002211d
test cl, 0x1f
je 0x1800220f0
call fcn.180083e00
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800220ff
call fcn.180083e00
int3
sub rcx, rax
cmp rcx, 8
jae 0x18002210e
call fcn.180083e00
int3
cmp rcx, 0x27
jbe 0x18002211a
call fcn.180083e00
int3
mov rcx, rax
call fcn.180060d7c
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x50], 0
mov rax, qword [rbp - 0x78]
cmp rax, 0x10
jb 0x180022263
inc rax
mov rcx, qword [rsp + 0x70]
cmp rax, 0x1000
jb 0x18002225e
test cl, 0x1f
je 0x180022162
call fcn.180083e00
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180022171
call fcn.180083e00
int3
sub rcx, rax
cmp rcx, 8
jae 0x180022180
call fcn.180083e00
int3
cmp rcx, 0x27
jbe 0x18002225b
call fcn.180083e00
nop
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
cmp rax, 0x10
jb 0x1800221ea
inc rax
cmp rax, 0x1000
jb 0x1800221e5
test byte [rsp + 0x50], 0x1f
je 0x1800221b8
call fcn.180083e00
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800221c7
call fcn.180083e00
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800221d6
call fcn.180083e00
int3
cmp rcx, 0x27
jbe 0x1800221e2
call fcn.180083e00
int3
mov rcx, rax
call fcn.180060d7c
mov qword [r12 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r12 + 0x10], r13
cmp qword [r12 + 0x18], 0x10
jb 0x180022206
mov rax, qword [r12]
jmp 0x180022209
mov rax, r12
mov byte [rax], 0
mov rax, qword [rbp - 0x78]
cmp rax, 0x10
jb 0x180022263
inc rax
mov rcx, qword [rsp + 0x70]
cmp rax, 0x1000
jb 0x18002225e
test cl, 0x1f
je 0x180022231
call fcn.180083e00
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180022240
call fcn.180083e00
int3
sub rcx, rax
cmp rcx, 8
jae 0x18002224f
call fcn.180083e00
int3
cmp rcx, 0x27
jbe 0x18002225b
call fcn.180083e00
int3
mov rcx, rax
call fcn.180060d7c
mov rax, r12
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1800612f0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret