Function at 0x140027a20
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1402ca088]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r15, rdx
mov rsi, rcx
mov qword [rsp + 0x70], rdx
xor ebx, ebx
mov dword [rsp + 0x40], ebx
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1402a03f0]
mov qword [rbp - 0x70], rax
lea rax, [0x1402a0348]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x40], 2
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x70]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
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 qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x10], rbx
mov dword [rbp + 0x18], ebx
lea r9, [rsi + 0x120]
mov rcx, qword [r9 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 2
jb 0x1400283da
cmp qword [r9 + 0x18], 0x10
jb 0x140027b1b
mov r9, qword [r9]
mov qword [rsp + 0x30], 2
lea rax, [0x14029f14c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x90]
call fcn.140013360
nop
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.14000fdc0
mov r14, rax
mov qword [rsp + 0x48], rax
mov edi, 0x55555555
mov r12, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140027b73
add r12, qword [rax]
mov r13, qword [rax]
jmp 0x140027b79
add r12, r14
mov r13, r14
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov r8, rbx
mov qword [rbp - 0x78], rbx
sub r12, r13
je 0x140027bbc
mov rdx, r12
lea rcx, [rsp + 0x78]
call fcn.140032ad0
mov rbx, qword [rsp + 0x78]
mov r8, r12
mov rdx, r13
mov rcx, rbx
call fcn.140158f16
lea r10, [r12 + rbx]
mov qword [rbp - 0x80], r10
mov r8, qword [rbp - 0x78]
jmp 0x140027bc0
mov r10, qword [rbp - 0x80]
mov r9, qword [rsp + 0x78]
mov rdx, r9
cmp r9, r10
je 0x140027be7
nop dword [rax]
mov ecx, edi
shr ecx, 0x1b
shl edi, 5
add edi, ecx
movzx eax, byte [rdx]
add edi, eax
inc rdx
cmp rdx, r10
jne 0x140027bd0
test r9, r9
je 0x140027c23
sub r8, r9
mov rax, r9
cmp r8, 0x1000
jb 0x140027c17
add r8, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140027c17
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r8
mov rcx, r9
call fcn.140158050
nop
mov rcx, r14
call fcn.140010100
lea rbx, [rsi + 8]
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140027c40
mov rcx, qword [rbx]
test r8, r8
jne 0x140027c59
lea rdx, [0x14018c1f8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140027cf3
lea r14, [rsi + 0x28]
mov r8, qword [r14 + 0x10]
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140027c6e
mov rcx, qword [r14]
test r8, r8
jne 0x140027c83
lea rdx, [0x14018c1f8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140027cf3
lea rdx, str.tankIDName
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140027ca1
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.tankIDPass
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov r8, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x140027cd9
mov r14, qword [r14]
mov rdx, r14
mov rcx, rax
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.requestedName
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rcx, rax
lea rdx, str.WiggleDuck
call fcn.1400105f0
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, [0x14029f190]
lea rcx, [rbp - 0x60]
call fcn.1400105f0
movzx edx, byte [rsi + 0xd0]
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___bool____ptr64]
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.protocol
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov edx, 0xb3
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.game_version
lea rcx, [rbp - 0x60]
call fcn.1400105f0
movss xmm1, dword [rsi + 0xb4]
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___float____ptr64]
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.lmode
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov edx, dword [rsi + 0xb8]
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.cbits
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov r8, rax
movzx ecx, byte [rsi + 0xd8]
add ecx, ecx
movzx eax, byte [rsi + 0xd7]
or ecx, eax
add ecx, ecx
movzx eax, byte [rsi + 0xd5]
or ecx, eax
add ecx, ecx
movzx eax, byte [rsi + 0xd4]
or ecx, eax
add ecx, ecx
movzx eax, byte [rsi + 0xd2]
or ecx, eax
shl ecx, 2
movzx eax, byte [rsi + 0xd9]
or ecx, eax
add ecx, ecx
movzx eax, byte [rsi + 0xd6]
or ecx, eax
add ecx, ecx
movzx eax, byte [rsi + 0xd3]
or ecx, eax
add ecx, ecx
movzx edx, byte [rsi + 0xda]
shl edx, 4
or edx, ecx
mov rcx, r8
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.player_age
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov edx, Ordinal_26
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.GDPR
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov edx, 1
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.categorywotd_world
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.totalPlaytime
lea rcx, [rbp - 0x60]
call fcn.1400105f0
xor edx, edx
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, [0x14029f0ac]
call fcn.1400105f0
lea rbx, [rsi + 0xe0]
lea rdx, [0x14029f208]
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140027f31
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.fhash
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov edx, 0xd5448bfc
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, [0x14029f0ac]
call fcn.1400105f0
lea rbx, [rsi + 0x100]
lea rdx, str.rid
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140027f9d
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.platformID
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rcx, rax
lea rdx, str.0_1_1
call fcn.1400105f0
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.deviceVersion
lea rcx, [rbp - 0x60]
call fcn.1400105f0
xor edx, edx
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.country
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rcx, rax
lea rdx, [0x14029f248]
call fcn.1400105f0
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.hash2
lea rcx, [rbp - 0x60]
call fcn.1400105f0
movzx edx, di
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.hash
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov edx, 0xbd4dea0
mov rcx, rbx
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___unsigned_int____ptr64]
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.mac
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.1400564d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400280ca
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
nop
lea rcx, [rsp + 0x50]
call fcn.140010100
lea rdx, str.fz7134376
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.zf_1331849031
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
cmp dword [rsi + 0x140], 0
je 0x14002819b
cmp dword [rsi + 0x144], 0
je 0x14002819b
lea rdx, str.user
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov edx, dword [rsi + 0x140]
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, [0x14029f0ac]
call fcn.1400105f0
lea rdx, str.token
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov edx, dword [rsi + 0x144]
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, [0x14029f0ac]
call fcn.1400105f0
lea rbx, [rsi + 0x148]
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400281b3
mov rcx, qword [rbx]
test r8, r8
jne 0x1400281c8
lea rdx, [0x14018c1f8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140028200
lea rdx, str.UUIDToken
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x1400281e6
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rbx, [rsi + 0x168]
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140028218
mov rcx, qword [rbx]
test r8, r8
jne 0x14002822d
lea rdx, [0x14018c1f8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140028265
lea rdx, str.doorID
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x14002824b
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
lea rdx, [0x14029f2c0]
lea rcx, [rbp - 0x60]
call fcn.1400105f0
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.1400563f0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140028291
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.140013b90
mov rcx, rax
lea rdx, [0x14029f0ac]
call fcn.1400105f0
nop
lea rcx, [rsp + 0x50]
call fcn.140010100
nop
xorps xmm0, xmm0
movups xmmword [r15], xmm0
xor eax, eax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r15], al
mov dword [rsp + 0x40], reloc.WLDAP32.dll_Ordinal_22
movups xmmword [rsp + 0x78], xmm0
mov ecx, dword [rbp + 0x18]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140028308
mov rax, qword [rbp - 0x18]
mov r8, qword [rax]
test r8, r8
je 0x140028308
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x10]
cmovb r8, qword [rbp + 0x10]
sub r8, rdx
jmp 0x140028338
test cl, 4
jne 0x14002832f
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
test rcx, rcx
je 0x14002832f
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax]
mov rax, qword [rbp - 8]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
jmp 0x140028338
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140028346
mov rcx, r15
call fcn.140010160
nop
lea rcx, [rbp + 0x90]
call fcn.140010100
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 rcx, qword [rbp - 0x70]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x98]
mov dword [rbp + rdx - 0x74], r8d
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x58]
call fcn.140031320
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
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]
mov rax, r15
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.140157bf0
mov rbx, qword [rsp + 0x210]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001c20
nop