Function at 0x180189410
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2b8]
sub rsp, 0x390
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rbp + 0x260], rax
xor r14d, r14d
lea rdx, [0x180578480]
cmp qword [0x180578498], 0xf
cmova rdx, qword [0x180578480]
lea r15, [0x180575580]
mov rcx, r15
mov rdi, qword [0x180575580]
mov rsi, qword [0x180575598]
cmp rsi, 0xf
cmova rcx, rdi
mov rbx, qword [0x180575590]
cmp rbx, qword [0x180578490]
jne 0x1801894a9
mov r8, rbx
call fcn.18038de00
test eax, eax
je 0x180189b55
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], r14b
movabs rax, 0x7fffffffffffffff
sub rax, rbx
cmp rax, 0x11
jb 0x180189b97
mov rax, r15
cmp rsi, 0xf
cmova rax, rdi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x11
lea r9, str.https:__ipapi.co_
lea rcx, [rbp - 0x80]
call fcn.18006a4c0
nop
mov r8d, 5
lea rdx, str._json
lea rcx, [rbp - 0x80]
call fcn.18006a3c0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x18018956d
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180189568
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180189b9d
call fcn.180357650
movups xmmword [rbp - 0x60], xmm6
movups xmmword [rbp - 0x50], xmm7
lea rcx, [rbp - 0x80]
call fcn.18006b8d0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movdqa xmm1, xmmword [0x180509df0]
movdqu xmmword [rbp + 0x30], xmm1
mov word [rbp + 0x20], r14w
mov edi, dword [rbp - 0x50]
lea r8, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova r8, qword [rbp - 0x60]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
mov r8, rbx
xor edx, edx
lea rcx, [rbp - 0x40]
call fcn.180085170
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova rcx, qword [rbp - 0x40]
lea r8, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova r8, qword [rbp - 0x60]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
mov r9d, edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop
mov rbx, qword [rbp - 0x30]
lea r9, [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova r9, qword [rbp - 0x40]
lea rcx, [rbp + 0x20]
cmp rbx, 7
ja 0x180189646
mov qword [rbp + 0x30], rbx
lea r8, [rbx + rbx]
mov rdx, r9
call fcn.18038d320
mov word [rbp + rbx*2 + 0x20], r14w
jmp 0x18018964e
mov rdx, rbx
call fcn.18008ab00
mov r9d, 8
lea r8, str.geossUsers
mov edx, 0xff
lea rcx, [rbp + 0x60]
call fcn.180360384
mov byte [rbp + 0x25e], 0
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x40]
call fcn.18008a780
mov r9, rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x60]
call fcn.18008a8b0
nop
mov rdi, qword [rbp - 0x10]
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], 7
cmova r8, qword [rbp - 0x20]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
mov rdx, rbx
xor r8d, r8d
lea rcx, [rbp]
call fcn.180085040
lea rcx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rcx, qword [rbp]
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], 7
cmova r8, qword [rbp - 0x20]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
mov r9d, edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
nop
lea rdx, [rbp]
lea rsi, [0x18058c2c8]
mov r8, qword [rbp + 0x10]
lea rbx, [0x1805784c0]
mov rcx, rbx
cmp qword [rbp + 0x18], 0xf
jbe 0x18018973b
mov rdx, qword [rbp]
call fcn.180068770
jmp 0x180189745
call fcn.180068770
cmp rsi, rbx
je 0x180189767
cmp qword [0x1805784d8], 0xf
cmova rbx, qword [0x1805784c0]
mov r8, qword [0x1805784d0]
mov rdx, rbx
mov rcx, rsi
call fcn.180068770
xor r8d, r8d
lea rdx, [0x18043ad70]
lea rcx, [0x18058c3a8]
call fcn.180068770
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], 1
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x7f], 0
mov rbx, r15
cmp qword [0x180575598], 0xf
cmova rbx, qword [0x180575580]
mov rax, qword [0x180575590]
cmp rax, 1
jb 0x180189806
lea rdi, [rbx + rax]
mov r8, rdi
sub r8, rbx
mov edx, 0x2e
mov rcx, rbx
call fcn.18038d9a0
test rax, rax
je 0x180189806
cmp byte [rax], 0x2e
jne 0x1801897de
mov ecx, r14d
jmp 0x1801897e3
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1801898fa
inc rax
mov r8, rdi
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call fcn.18038d9a0
test rax, rax
jne 0x1801897d4
mov rax, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
setne byte [0x1805b11fd]
call fcn.180306bd0
call fcn.180306cf0
call fcn.180306e00
call fcn.180306f40
xor r8d, r8d
lea rdx, [0x18043ad70]
mov rcx, rsi
call fcn.180068770
cmp byte [0x1805b11fd], 0
je 0x180189a51
cmp byte [0x1805b2f07], 0
jne 0x180189a38
cmp byte [0x1805b2f05], 0
jne 0x180189a51
cmp byte [0x1805b2f06], 0
jne 0x180189a51
cmp byte [0x1805b2f04], 0
jne 0x180189a51
mov qword [rsp + 0x78], r14
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 7
cmova rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x10]
lea r8, [rdx + rax*2]
lea rdx, [rbp - 0x20]
cmova rdx, qword [rbp - 0x20]
lea r9, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.18018c1c0
nop
movzx r12d, byte [rbp - 0x80]
cmp r12b, 1
sete r13b
jne 0x180189a22
mov r14, qword [rbp - 0x78]
mov rsi, qword [r14]
mov rbx, qword [rsi + 8]
mov rdi, rsi
cmp byte [rbx + 0x19], 0
jne 0x18018990e
nop dword [rax]
lea rcx, [rbx + 0x20]
lea rdx, str.latitude
call fcn.1800688d0
test al, al
je 0x180189902
mov rbx, qword [rbx + 0x10]
jmp 0x180189908
sub rax, rbx
jmp 0x18018980d
mov rdi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x1801898e0
cmp byte [rdi + 0x19], 0
jne 0x180189a1f
lea rdx, [rdi + 0x20]
lea rcx, str.latitude
call fcn.180068940
test al, al
jne 0x180189a1f
cmp rdi, rsi
je 0x180189a1f
test r13b, r13b
je 0x180189a1f
mov rbx, qword [rsi + 8]
mov rdi, rsi
cmp byte [rbx + 0x19], al
jne 0x180189976
nop
lea rcx, [rbx + 0x20]
lea rdx, str.longitude
call fcn.1800688d0
test al, al
je 0x18018996a
mov rbx, qword [rbx + 0x10]
jmp 0x180189970
mov rdi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x180189950
cmp byte [rdi + 0x19], 0
jne 0x180189990
lea rdx, [rdi + 0x20]
lea rcx, str.longitude
call fcn.180068940
test al, al
je 0x180189993
mov rdi, rsi
cmp rdi, rsi
je 0x180189a1f
lea rdx, str.latitude
lea rcx, [rbp - 0x80]
call fcn.18018bef0
mov rcx, rax
call fcn.1801969b0
movaps xmm6, xmm0
lea rdx, str.longitude
lea rcx, [rbp - 0x80]
call fcn.18018bef0
mov rcx, rax
call fcn.1801969b0
movaps xmm7, xmm0
movaps xmm1, xmm6
lea rcx, [rbp + 0x40]
call fcn.180189340
mov rdx, rax
lea rcx, [0x18058c368]
call fcn.18006afe0
lea rcx, [rbp + 0x40]
call fcn.18006b8d0
movaps xmm1, xmm7
lea rcx, [rbp + 0x40]
call fcn.180189340
mov rdx, rax
lea rcx, [0x18058c388]
call fcn.18006afe0
lea rcx, [rbp + 0x40]
call fcn.18006b8d0
movzx r12d, byte [rbp - 0x80]
xor r14d, r14d
mov byte [0x1805b11fc], 0
movzx edx, r12b
lea rcx, [rbp - 0x78]
call fcn.18006b970
jmp 0x180189a51
mov r8d, 0x13
lea rdx, str.Reserved_IP_Address
lea rcx, [0x18058c3a8]
call fcn.180068770
cmp qword [0x180575598], 0xf
cmova r15, qword [0x180575580]
mov r8, qword [0x180575590]
mov rdx, r15
lea rcx, [0x180578480]
call fcn.180068770
nop
lea rcx, [rbp]
call fcn.18006b8d0
nop
lea rcx, [rbp - 0x20]
call fcn.18008cc80
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x180189acc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180189ac7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180189ba3
call fcn.180357650
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r14w
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x180189b1e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180189b18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180189ba9
call fcn.180357650
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x180189b55
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180189b50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180189b91
call fcn.180357650
xor eax, eax
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.180357630
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18035e820
nop
call fcn.18035e820
int3