Function at 0x140010199
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2a8
mov rbx, rdx
mov rsi, rcx
movabs rdi, 0x8000000000000000
lea r14, [rsp + 0x218]
mov rcx, r14
call fcn.140002b50
cmp byte [r14], 0
je 0x1400101e6
mov rax, qword [rsp + 0x220]
mov qword [rsi + 8], rax
mov qword [rsi], rdi
jmp 0x14001103c
cmp byte [rsp + 0x219], 0
je 0x140010a8e
movzx eax, byte [rsp + 0x21a]
cmp eax, 0x5b
mov qword [rsp + 0x58], rsi
je 0x1400106aa
cmp eax, 0x7b
jne 0x140010b9f
dec byte [rbx + 0x30]
je 0x140010b66
inc qword [rbx + 0x28]
lea rax, [rdi + 1]
lea rcx, [rsp + 0x190]
mov qword [rsp + 0x20], rax
mov qword [rcx], rax
lea r12, [rbx + 0x18]
xor r13d, r13d
mov dword [rsp + 0x60], 2
mov r15, rdi
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x40], 0
lea rcx, [rsp + 0x1d0]
mov rdx, rbx
call fcn.140002b50
cmp byte [rsp + 0x1d0], 0
jne 0x1400108fb
cmp byte [rsp + 0x1d1], 0
je 0x140010c02
mov al, byte [rsp + 0x1d2]
movzx ecx, al
cmp ecx, 0x2c
je 0x1400102b2
cmp ecx, 0x7d
je 0x140010aa2
test r13b, 1
je 0x1400102e3
jmp 0x140010c38
test r13b, 1
je 0x1400102e3
inc qword [rbx + 0x28]
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.140002b50
cmp byte [rsp + 0x70], 0
jne 0x140010b95
cmp byte [rsp + 0x71], 0
je 0x140010cec
mov al, byte [rsp + 0x72]
cmp al, 0x22
jne 0x140010bd3
inc qword [rbx + 0x28]
and qword [rbx + 0x10], 0
lea rcx, [rsp + 0x70]
mov rdx, r12
mov r8, rbx
call fcn.140110b56
cmp dword [rsp + 0x70], 2
mov r14, qword [rsp + 0x78]
je 0x140010e35
mov r13, qword [rsp + 0x80]
mov r9d, 7
mov rcx, r14
mov rdx, r13
lea r8, [0x1403aff9e]
call fcn.14006436c
test al, al
je 0x14001038c
cmp r15, rdi
jne 0x140010c49
lea rcx, [rsp + 0x1e8]
mov rdx, rbx
call fcn.140018325
mov r15, qword [rsp + 0x1e8]
cmp r15, rdi
je 0x140010b82
mov rcx, rdi
mov rdx, qword [rsp + 0x48]
call fcn.140112200
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x48], rax
mov rbp, qword [rsp + 0x1f8]
mov r13b, 1
jmp 0x140010263
mov r9d, recvfrom
mov rcx, r14
mov rdx, r13
lea r8, [0x1403affa5]
call fcn.14006436c
test al, al
je 0x140010404
cmp qword [rsp + 0x28], rdi
jne 0x140010d05
lea rcx, [rsp + 0x200]
mov rdx, rbx
call fcn.1400183a3
mov rax, qword [rsp + 0x200]
cmp rax, rdi
je 0x140010bbe
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rdx, rsi
call fcn.140112200
mov rsi, qword [rsp + 0x208]
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xd8], rax
mov r13b, 1
jmp 0x140010263
mov r9d, 5
mov rcx, r14
mov rdx, r13
lea r8, [0x1403affb3]
call fcn.14006436c
test al, al
je 0x14001045e
cmp dword [rsp + 0x40], 0
jne 0x140010d3d
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.140018bc3
cmp dword [rsp + 0x70], 0
jne 0x140010b95
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0x40], 1
mov r13b, 1
jmp 0x140010263
mov r9d, 6
mov rcx, r14
mov rdx, r13
lea r8, [0x1403affb8]
call fcn.14006436c
test al, al
je 0x1400104b5
cmp dword [rsp + 0x38], 0
jne 0x140010d72
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.140018bc3
cmp dword [rsp + 0x70], 0
jne 0x140010b95
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x38], 1
mov r13b, 1
jmp 0x140010263
mov r9d, 8
mov rcx, r14
mov rdx, r13
lea r8, [0x1403affbe]
call fcn.14006436c
test al, al
je 0x14001050f
cmp dword [rsp + 0x34], 0
jne 0x140010e21
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.140018bc3
cmp dword [rsp + 0x70], 0
jne 0x140010b95
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0x34], 1
mov r13b, 1
jmp 0x140010263
mov r9d, 5
mov rcx, r14
mov rdx, r13
lea r8, [0x1403affc6]
call fcn.14006436c
test al, al
je 0x1400105b4
lea r14, [rdi + 1]
cmp qword [rsp + 0x190], r14
jne 0x140011079
lea rcx, [rsp + 0xe8]
mov rdx, rbx
call fcn.140018c40
cmp qword [rsp + 0xe8], r14
je 0x140010d16
lea rcx, [rsp + 0x190]
call fcn.1400086b0
movups xmm0, xmmword [rsp + 0xe8]
movups xmm1, xmmword [rsp + 0xf8]
movups xmm2, xmmword [rsp + 0x108]
movups xmm3, xmmword [rsp + 0x118]
movaps xmmword [rsp + 0x1c0], xmm3
movaps xmmword [rsp + 0x1b0], xmm2
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x190], xmm0
mov r13b, 1
jmp 0x140010263
mov r9d, 9
mov rcx, r14
mov rdx, r13
lea r8, [0x1403affcb]
call fcn.14006436c
test al, al
je 0x140010637
lea r14, [rdi + 1]
cmp qword [rsp + 0x20], r14
jne 0x14001109e
lea rcx, [rsp + 0xb8]
mov rdx, rbx
call fcn.1400193c2
mov rax, qword [rsp + 0xb8]
cmp rax, r14
je 0x140010d4e
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, qword [rsp + 0x68]
call fcn.140166e5b
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x1e0], rax
mov r13b, 1
jmp 0x140010263
mov r9d, 9
mov rcx, r14
mov rdx, r13
lea r8, [0x1403affd4]
call fcn.14006436c
test al, al
je 0x140010691
cmp dword [rsp + 0x60], 2
jne 0x1400110c2
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.1400184dd
cmp dword [rsp + 0x70], 0
jne 0x140010b95
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0xe4], eax
mov r13b, 1
jmp 0x140010263
mov rcx, rbx
call fcn.140018043
mov r13b, 1
test rax, rax
je 0x140010263
jmp 0x140010e32
dec byte [rbx + 0x30]
je 0x140010b66
inc qword [rbx + 0x28]
lea rdx, [rsp + 0xb8]
mov qword [rdx], rbx
mov byte [rdx + 8], 1
lea r14, [rsp + 0xe8]
mov rcx, r14
call fcn.14001995c
mov r15, qword [r14]
movabs rbp, 0x8000000000000001
cmp r15, rbp
je 0x1400108f1
movabs r12, 0x8000000000000000
cmp r15, r12
je 0x140010bec
lea r14, [rsp + 0xe8]
mov rax, qword [r14 + 8]
mov qword [rsp + 0x48], rax
mov r13, qword [r14 + 0x10]
lea rdx, [rsp + 0xb8]
mov rcx, r14
call fcn.140019de3
mov rsi, qword [r14]
cmp rsi, rbp
je 0x140010908
cmp rsi, r12
je 0x140010c1f
lea r12, [rsp + 0xe8]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x28], rax
mov r14, qword [r12 + 0x10]
lea rdx, [rsp + 0xb8]
mov rcx, r12
call fcn.140019cc7
cmp dword [r12], 0
jne 0x140010912
cmp dword [rsp + 0xec], 0
je 0x140010cdb
mov qword [rsp + 0x20], r14
lea r12, [rsp + 0xe8]
mov r14d, dword [r12 + 8]
lea rdx, [rsp + 0xb8]
mov rcx, r12
call fcn.140019cc7
cmp dword [r12], 0
jne 0x140010912
mov dword [rsp + 0x40], r14d
cmp dword [rsp + 0xec], 0
je 0x140010d61
lea r12, [rsp + 0xe8]
mov r14d, dword [r12 + 8]
lea rdx, [rsp + 0xb8]
mov rcx, r12
call fcn.140019cc7
cmp dword [r12], 0
jne 0x140010912
mov qword [rsp + 0x60], r13
cmp dword [rsp + 0xec], 0
je 0x140010e10
lea r12, [rsp + 0xe8]
mov eax, dword [r12 + 8]
mov dword [rsp + 0xd8], eax
lea rdx, [rsp + 0xb8]
mov rcx, r12
call fcn.1400195c6
mov rax, qword [r12]
movabs r13, 0x8000000000000002
cmp rax, r13
je 0x140010912
cmp rax, rbp
je 0x140011060
lea rcx, [rsp + 0xf0]
mov rdx, qword [rcx + 0x30]
mov qword [rsp + 0x1c8], rdx
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [rsp + 0x1b8], xmm2
movups xmmword [rsp + 0x1a8], xmm1
movups xmmword [rsp + 0x198], xmm0
mov qword [rsp + 0x190], rax
lea r12, [rsp + 0xe8]
lea rdx, [rsp + 0xb8]
mov rcx, r12
call fcn.14001a03d
mov rax, qword [r12]
cmp rax, r13
je 0x140010d23
mov qword [rsp + 0x38], rax
cmp rax, rbp
je 0x140011085
lea r12, [rsp + 0xe8]
mov r13, qword [r12 + 8]
mov rbp, qword [r12 + 0x10]
lea rdx, [rsp + 0xb8]
mov rcx, r12
call fcn.140019f24
cmp dword [r12], 0
je 0x140010d83
mov r14, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xf0]
jmp 0x140010934
mov r14, qword [rsp + 0x1d8]
jmp 0x140010e35
mov r14, qword [rsp + 0xf0]
jmp 0x140010927
mov r14, qword [rsp + 0xf0]
lea rdx, [rsp + 0xe8]
mov qword [rdx], 5
jmp 0x140010b75
cmp r15, rdi
setne r13b
je 0x140010c5a
cmp qword [rsp + 0x28], rdi
setne r12b
je 0x140010c76
cmp dword [rsp + 0x40], 0
je 0x140010c8c
cmp dword [rsp + 0x38], 0
je 0x140010c9a
cmp dword [rsp + 0x34], 0
je 0x140010ca8
mov qword [rsp + 0x40], rbp
mov r13, rdi
mov r12, rsi
mov rcx, qword [rsp + 0x190]
lea rax, [rdi + 1]
cmp rcx, rax
je 0x140010b3b
mov rdx, qword [rsp + 0x1c8]
mov qword [rsp + 0xa0], rdx
movups xmm0, xmmword [rsp + 0x198]
movups xmm1, xmmword [rsp + 0x1a8]
movups xmm2, xmmword [rsp + 0x1b8]
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov r13, rcx
mov rcx, qword [rsp + 0x20]
cmp rcx, rax
cmove rcx, rdi
mov qword [rsp + 0x20], rcx
xor ecx, ecx
mov eax, dword [rsp + 0x60]
cmp eax, 2
cmovne ecx, eax
mov dword [rsp + 0x38], ecx
mov rsi, qword [rsp + 0x48]
jmp 0x140010eb4
lea rdx, [rsp + 0xe8]
mov qword [rdx], reloc.WS2_32.dll_setsockopt
mov rcx, rbx
call fcn.1402e2afc
jmp 0x1400101da
mov r14, qword [rsp + 0x1f0]
xor r12d, r12d
mov r15, rdi
jmp 0x140010e38
mov r14, qword [rsp + 0x78]
jmp 0x140010e35
lea r8, [0x1402eae30]
lea rdx, [rsp + 0xe8]
mov rcx, rbx
call fcn.1402de729
mov rbp, rax
jmp 0x140011050
mov r14, qword [rsp + 0x208]
xor r12d, r12d
mov qword [rsp + 0x28], rdi
jmp 0x140010e38
movzx eax, al
lea rdx, [rsp + 0x70]
cmp eax, 0x7d
jne 0x140010c13
mov qword [rdx], reloc.WS2_32.dll_select
jmp 0x140010cf8
lea rdx, str.struct_Animation_with_8_elements
xor ecx, ecx
call fcn.1402dec7a
mov r14, rax
jmp 0x140010934
lea rdx, [rsp + 0x70]
mov qword [rdx], 3
jmp 0x140010cf8
mov qword [rdx], reloc.WS2_32.dll_recv
jmp 0x140010cf8
lea rdx, str.struct_Animation_with_8_elements
mov ecx, 1
call fcn.1402dec7a
mov r14, rax
jmp 0x140010927
lea rdx, [rsp + 0x70]
mov qword [rdx], 8
jmp 0x140010cf8
lea rcx, [0x1403aff9e]
mov edx, 7
jmp 0x140010e2d
lea rcx, [0x1403aff9e]
mov edx, 7
call fcn.1402dec24
mov r14, rax
xor r12d, r12d
jmp 0x140010e3b
lea rcx, [0x1403affa5]
mov edx, recvfrom
call fcn.1402dec24
mov r14, rax
jmp 0x140010cc9
lea rcx, [0x1403affb3]
mov edx, 5
jmp 0x140010cb4
lea rcx, [0x1403affb8]
mov edx, 6
jmp 0x140010cb4
lea rcx, [0x1403affbe]
mov edx, 8
call fcn.1402dec24
mov r14, rax
mov rcx, qword [rsp + 0x28]
mov rdx, rsi
call fcn.1400a3a56
mov rcx, r15
mov rdx, qword [rsp + 0x48]
call fcn.1400a3a56
jmp 0x140010e3b
lea rdx, str.struct_Animation_with_8_elements
mov ecx, 2
jmp 0x14001106c
lea rdx, [rsp + 0x70]
mov qword [rdx], 5
mov rcx, rbx
call fcn.1402e2afc
jmp 0x140010e32
lea rcx, [0x1403affa5]
mov edx, recvfrom
jmp 0x140010e2d
mov r14, qword [rsp + 0xf0]
jmp 0x140010e35
mov r14, qword [rsp + 0xf0]
lea rcx, [0x1403affb3]
mov edx, 5
jmp 0x140010e2d
mov r14, qword [rsp + 0xc0]
xor r13d, r13d
xor r12d, r12d
jmp 0x140010e53
lea rdx, str.struct_Animation_with_8_elements
mov ecx, 3
jmp 0x14001106c
lea rcx, [0x1403affb8]
mov edx, 6
jmp 0x140010e2d
mov qword [rsp + 0xb0], r13
mov r8d, dword [rsp + 0xec]
cmp r8d, 2
je 0x1400110d3
mov rdx, rbp
mov ecx, r14d
mov r13d, r8d
mov r8d, dword [rsp + 0xf0]
mov dword [rsp + 0x34], r8d
movups xmm0, xmmword [rsp + 0x190]
movups xmm1, xmmword [rsp + 0x1a0]
movups xmm2, xmmword [rsp + 0x1b0]
movups xmm3, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0xa0], xmm3
mov r14, qword [rsp + 0x48]
mov qword [rsp + 0xd0], rsi
mov rbp, qword [rsp + 0x60]
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x68], rdx
jmp 0x140010937
lea rdx, str.struct_Animation_with_8_elements
mov ecx, 4
jmp 0x14001106c
lea rcx, [0x1403affbe]
mov edx, 8
call fcn.1402decf1
mov r14, rax
xor r12d, r12d
xor r13d, r13d
mov rcx, qword [rsp + 0x20]
lea rax, [rdi + 1]
cmp rcx, rax
je 0x140010e53
mov rdx, qword [rsp + 0x68]
call fcn.140112200
mov qword [rsp + 0x40], rbp
lea rax, [rdi + 1]
cmp qword [rsp + 0x190], rax
je 0x140010e73
lea rcx, [rsp + 0x190]
call fcn.14000b3ca
mov rbp, rdi
cmp qword [rsp + 0x28], rdi
sete al
or r12b, al
jne case.0x140008ce0.167
mov rcx, qword [rsp + 0x28]
mov rdx, rsi
call fcn.1400a3a56
mov r12, rsi
mov rdi, rbp
cmp r15, rbp
sete al
or r13b, al
jne 0x140010eae
mov rcx, r15
mov rdx, qword [rsp + 0x48]
call fcn.1400a3a56
mov rsi, r14
mov r15, rdi
inc byte [rbx + 0x30]
mov rcx, rbx
call fcn.140002cd1
mov r14, rax
mov qword [rsp + 0xe8], r15
mov rbp, rsi
mov qword [rsp + 0xf0], rsi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], r12
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], r13
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x150], rax
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
nop
add byte [rax], al
add byte [rdi], cl
adc dword [rsp + 0x120], eax
movups xmmword [rsp + 0x130], xmm1
movups xmmword [rsp + 0x140], xmm2
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x168], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x178], eax
and al, 0x78
add dword [rax], eax
add byte [rbx - 0x76abdbbc], cl
test byte [rsp + rdi*2], ah
add dword [rax], eax
add byte [rbx + 0xd02484], cl
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x180], eax
mov qword [rsp + 0x188], r14
cmp r15, rdi
jne 0x140010fdf
test r14, r14
mov rsi, qword [rsp + 0x58]
je 0x140010fda
lea rcx, [rsp + 0x188]
call fcn.140009c2e
mov r15, rdi
jmp 0x140011019
test r14, r14
mov rsi, qword [rsp + 0x58]
je 0x140010ffe
lea rcx, [rsp + 0xe8]
call fcn.140009dd6
mov r15, rdi
mov rbp, r14
jmp 0x140011019
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x218]
mov r8d, 0x90
call sub.VCRUNTIME140.dll_memcpy
cmp r15, rdi
je 0x140011050
lea rcx, [rsi + 0x10]
lea rdx, [rsp + 0x218]
mov r8d, 0x90
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi], r15
mov qword [rsi + 8], rbp
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
mov rdx, rbp
call fcn.1402de4b0
jmp 0x1400101da
lea rdx, str.struct_Animation_with_8_elements
mov ecx, 5
call fcn.1402dec7a
mov r14, rax
jmp 0x14001091a
lea rcx, [0x1403affc6]
jmp 0x140010d44
lea rdx, str.struct_Animation_with_8_elements
mov ecx, 6
call fcn.1402dec7a
mov r14, rax
jmp 0x140010d2b
lea rcx, [0x1403affcb]
mov edx, 9
call fcn.1402decf1
mov rcx, qword [rsp + 0x20]
mov r14, rax
xor r13d, r13d
xor r12d, r12d
jmp 0x140010e49
lea rcx, [0x1403affd4]
mov edx, 9
jmp 0x140010e2d
lea rdx, str.struct_Animation_with_8_elements
mov ecx, 7
call fcn.1402dec7a
fld xword [rax + rax]