Function at 0x140086960
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1401f4040]
xor rax, rsp
mov qword [rbp + 0xb0], rax
movzx esi, r8b
mov r14, rdx
mov rbx, rcx
mov qword [rsp + 0x28], rdx
mov edx, 0x20
lea rcx, [rsp + 0x70]
call fcn.140121620
nop
lea rcx, [rbp + 0x90]
call fcn.1401217e0
nop
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp - 0x70]
call fcn.14008dec0
nop
lea rdi, [rbx + 0x28]
cmp qword [rbx + 0x38], 0
jne 0x140086a2e
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
lea rcx, [rsp + 0x50]
call fcn.140085f70
nop
lea rax, [rsp + 0x50]
cmp rdi, rax
je 0x140086a24
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1400069b0
nop
lea rcx, [rsp + 0x50]
call fcn.140006950
lea rcx, [rbp - 0x60]
test sil, sil
je 0x140086aa5
lea rsi, [rbx + 8]
lea rdx, str.tankIDName
call fcn.1400138b0
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0xf
jbe 0x140086a55
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rsi, [rbx + 0x48]
lea rdx, str.tankIDPass
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0xf
jbe 0x140086a91
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
jmp 0x140086abc
lea rdx, str.tankIDName_n
call fcn.1400138b0
lea rax, [rbp - 0x60]
lea rdx, str.tankIDPass_n
mov rcx, rax
call fcn.1400138b0
lea rdx, str.requestedName
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140086ae2
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdx, [0x1401c44b0]
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401c2020]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.protocol
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov edx, 0xd1
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.game_version
lea rcx, [rbp - 0x60]
call fcn.1400138b0
lea rdx, str.4.63
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rdx, qword [str.4.63]
mov r8, qword [reloc.WS2_32.dll_connect]
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdx, str.fz41745432_n
lea rcx, [rbp - 0x60]
call fcn.1400138b0
lea rdx, str.lmode
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov edx, dword [rbx + 0x1b4]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.cbits
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, str.1024
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.player_age
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov edx, dword [rbx + 0x1bc]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.GDPR
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401c2020]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.category
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401c4504]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.totalPlaytime
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401c201c]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.klv
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rdi, rax
lea rsi, [rbx + 0x200]
mov r9, rsi
lea rcx, [rsp + 0x30]
call fcn.140085a80
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x140086cf6
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
nop
lea rcx, [rsp + 0x30]
call fcn.140006950
lea rdi, [rbx + 0x240]
lea rdx, str.hash2
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140086d40
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdi, [rbx + 0x128]
lea rdx, str.meta
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140086d7f
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdx, str.fhash
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, str._716928004
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.rid
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0xf
jbe 0x140086de5
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdx, str.platformID
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, str.0_1_1
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, str.deviceVersion
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401c201c]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, [0x1401c4580]
lea rcx, [rbp - 0x60]
call fcn.1400138b0
lea rdx, [0x1401f41f0]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rdx, qword [0x1401f41f0]
mov r8, qword [reloc.WS2_32.dll_bind]
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdi, [rbx + 0x220]
lea rdx, str.hash
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140086ec5
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdi, [rbx + 0x1e0]
lea rdx, str.mac
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140086f04
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
cmp dword [rbx + 0x1d0], 0
je 0x140086f8c
cmp dword [rbx + 0x1d4], 0
je 0x140086f8c
lea rdx, str.user
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov edx, dword [rbx + 0x1d0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdx, [0x1401c45a4]
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov edx, dword [rbx + 0x1d4]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
lea rdi, [rbx + 0x168]
mov r8, qword [rdi + 0x10]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140086fa4
mov rcx, qword [rdi]
test r8, r8
jne 0x140086fb9
lea rdx, [0x140156438]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140086ff1
lea rdx, str.UUIDToken
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140086fd7
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
add rbx, 0x188
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140087009
mov rcx, qword [rbx]
test r8, r8
jne 0x14008701e
lea rdx, [0x140156438]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140087056
lea rdx, [0x1401c45c0]
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x14008703c
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdx, [0x1401c45c8]
lea rcx, [rbp - 0x60]
call fcn.1400138b0
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rdx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x80]
mov rcx, rax
call fcn.140080c30
lea rdx, [0x1401564c4]
mov rcx, rax
call fcn.1400138b0
lea rdx, str.zf617169524
lea rcx, [rbp - 0x60]
call fcn.1400138b0
mov rcx, rax
lea rdx, [0x1401564c4]
call fcn.1400138b0
mov rdx, r14
lea rcx, [rbp - 0x58]
call fcn.14008e7d0
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x58]
call fcn.140013060
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x90]
call fcn.140006950
nop
lea rcx, [rsp + 0x70]
call fcn.140006950
mov rax, r14
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.14012ada0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret