Function at 0x140037456
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov rbx, rdx
mov rbp, rcx
movabs r12, 0x8000000000000000
lea rdi, [rsp + 0xe0]
mov rcx, rdi
call fcn.140002e30
cmp byte [rdi], 0
je 0x1400374a3
mov rax, qword [rsp + 0xe8]
mov qword [rbp + 8], rax
mov qword [rbp], r12
jmp 0x140037e18
cmp byte [rsp + 0xe1], 0
je 0x14003787b
movzx eax, byte [rsp + 0xe2]
cmp eax, 0x5b
mov qword [rsp + 0x30], rbp
je 0x140037799
cmp eax, 0x7b
jne 0x140037936
dec byte [rbx + 0x30]
je 0x1400378e5
inc qword [rbx + 0x28]
lea r13, [rbx + 0x18]
mov sil, 1
mov qword [rsp + 0x88], 0
mov rax, r12
lea r12, [rsp + 0x40]
lea rbp, [0x1403b9a3b]
mov r14, rax
mov qword [rsp + 0x20], rax
xor eax, eax
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0xd0]
mov rdx, rbx
call fcn.140002e30
cmp byte [rsp + 0xd0], 0
jne 0x140037864
cmp byte [rsp + 0xd1], 0
je 0x140037a2b
mov al, byte [rsp + 0xd2]
movzx ecx, al
cmp ecx, 0x2c
je 0x14003755d
cmp ecx, 0x7d
je 0x140037889
test sil, 1
jne 0x140037563
jmp 0x140037ac8
test sil, 1
je 0x140037567
xor esi, esi
jmp 0x140037590
inc qword [rbx + 0x28]
mov rcx, r12
mov rdx, rbx
call fcn.140002e30
cmp byte [rsp + 0x40], 0
jne 0x140037952
cmp byte [rsp + 0x41], 0
je 0x140037cc1
mov al, byte [rsp + 0x42]
cmp al, 0x22
jne 0x1400379c4
inc qword [rbx + 0x28]
and qword [rbx + 0x10], 0
mov rcx, r12
mov rdx, r13
mov r8, rbx
call fcn.140111d47
cmp dword [rsp + 0x40], 2
mov r15, qword [rsp + 0x48]
je 0x140037cd8
mov rdi, qword [rsp + 0x50]
mov r9d, 2
mov rcx, r15
mov rdx, rdi
lea r8, [0x1403b9759]
call fcn.140063a63
test al, al
jne 0x140037652
mov r9d, 9
mov rcx, r15
mov rdx, rdi
lea r8, [0x1403b9a32]
call fcn.140063a63
test al, al
jne 0x1400376bb
mov r9d, 4
mov rcx, r15
mov rdx, rdi
mov r8, rbp
call fcn.140063a63
test al, al
jne 0x140037725
mov r9d, 4
mov rcx, r15
mov rdx, rdi
lea r8, [0x1403b9953]
call fcn.140063a63
test al, al
jne 0x14003775b
mov rcx, rbx
call fcn.140017a79
test rax, rax
je 0x14003750e
jmp 0x140037cd5
movabs rdi, 0x8000000000000000
cmp r14, rdi
jne 0x140037ebb
lea rcx, [rsp + 0xb8]
mov rdx, rbx
call case.0x1400113e7.102
mov r14, qword [rsp + 0xb8]
cmp r14, rdi
je 0x140037af1
mov rcx, rdi
mov rdx, qword [rsp + 0x90]
call fcn.14000a0f9
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x98], rax
jmp 0x14003750e
movabs rdi, 0x8000000000000000
cmp qword [rsp + 0x20], rdi
jne 0x140037ed6
lea rcx, [rsp + 0xa0]
mov rdx, rbx
call fcn.140017f99
mov rax, qword [rsp + 0xa0]
cmp rax, rdi
je 0x140037b0d
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, qword [rsp + 0x28]
call fcn.14000a0f9
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x120], rax
jmp 0x14003750e
test byte [rsp + 0x38], 1
jne 0x140037f05
mov rcx, rbx
call fcn.140019358
mov r15, rdx
test rax, rax
jne 0x140037cd8
mov eax, 1
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x118], r15
jmp 0x14003750e
test byte [rsp + 0x88], 1
jne 0x140037f24
mov rcx, rbx
call fcn.140017f32
mov r15, rdx
test rax, rax
jne 0x140037cd8
mov al, 1
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x110], r15
mov rax, qword [rsp + 0x38]
jmp 0x140037509
dec byte [rbx + 0x30]
je 0x1400378e5
inc qword [rbx + 0x28]
lea rdx, [rsp + 0xb8]
mov qword [rdx], rbx
mov byte [rdx + 8], 1
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.140019896
mov r14, qword [rdi]
movabs r13, 0x8000000000000001
cmp r14, r13
je 0x14003785a
mov rax, r14
neg rax
jo 0x1400379ee
lea rdi, [rsp + 0x40]
mov r15, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
lea rdx, [rsp + 0xb8]
mov rcx, rdi
call fcn.140019b18
mov rcx, qword [rdi]
cmp rcx, r13
je 0x140037871
mov rax, rcx
neg rax
jo 0x140037a9b
mov qword [rsp + 0x20], rcx
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xb8]
lea rdi, [rsp + 0xa0]
mov rcx, rdi
mov rdx, rbp
call fcn.140002e30
cmp byte [rdi], 0
je 0x1400378fe
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
jmp 0x140037bea
mov r15, qword [rsp + 0x48]
jmp 0x140037c14
mov r15, qword [rsp + 0xd8]
jmp 0x140037cd8
mov rbp, qword [rsp + 0x48]
jmp 0x140037bfc
lea rdx, [rsp + 0x40]
mov qword [rdx], 5
jmp 0x1400378f1
movabs r12, 0x8000000000000000
cmp r14, r12
setne dil
mov rcx, qword [rsp + 0x38]
je 0x140037ad9
cmp qword [rsp + 0x20], r12
setne sil
mov r13, qword [rsp + 0x28]
je 0x140037b2e
mov rax, qword [rsp + 0x88]
and al, cl
test al, 1
je 0x140037b89
mov r15, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x98]
jmp 0x140037d31
lea rdx, [rsp + 0x40]
mov qword [rdx], 0x15
mov rcx, rbx
call fcn.1402e70a0
jmp 0x140037496
cmp byte [rsp + 0xa1], 0
je 0x140037b70
mov al, byte [rsp + 0xa2]
movzx ecx, al
cmp ecx, 0x2c
mov qword [rsp + 0x38], r12
je 0x14003795c
cmp ecx, 0x5d
je 0x140037e72
mov r12, r13
mov r13b, byte [rsp + 0xc0]
jmp 0x140037970
lea r8, [0x1402f3aa8]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1402e711e
mov r15, rax
jmp 0x140037e2c
mov r15, qword [rsp + 0x48]
jmp 0x140037cd8
mov r12, r13
mov r13b, byte [rsp + 0xc0]
test r13b, r13b
je 0x140037a04
test r13b, 1
je 0x140037a8a
xor r13d, r13d
cmp al, 0x5d
je 0x140037bce
mov rcx, rbp
call fcn.14003490d
mov qword [rsp + 0x28], rdx
test rax, rax
jne 0x140037be7
lea rdi, [rsp + 0xa0]
mov rcx, rdi
mov rdx, rbp
call fcn.140002e30
cmp byte [rdi], 0
je 0x140037a57
mov rax, qword [rsp + 0xa8]
jmp 0x140037be2
movzx eax, al
cmp eax, 0x7d
mov rbp, qword [rsp + 0x30]
movabs r12, 0x8000000000000000
mov r13, qword [rsp + 0x28]
lea rdx, [rsp + 0x40]
jne 0x140037a3c
mov qword [rdx], 0x12
jmp 0x140037a43
lea rdx, str.struct_File_with_4_elements
xor ecx, ecx
call fcn.1402e786b
mov r15, rax
jmp 0x140037c0a
inc qword [rbp + 0x28]
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rbp
call fcn.140002e30
cmp byte [rdi], 0
je 0x140037ab4
mov rax, qword [rsp + 0x48]
jmp 0x140037be2
lea rdx, [rsp + 0x40]
mov qword [rdx], 3
jmp 0x140037ccd
mov qword [rdx], 0x10
mov rcx, rbx
call fcn.1402e70a0
mov r15, rax
xor esi, esi
xor edi, edi
jmp 0x140037cf0
cmp byte [rsp + 0xa1], 0
je 0x140037e88
mov al, byte [rsp + 0xa2]
movzx ecx, al
cmp ecx, 0x2c
je 0x140037b44
cmp ecx, 0x5d
je 0x140037f0e
test r13b, r13b
jne 0x140037b4d
lea rdx, [rsp + 0x40]
mov qword [rdx], 7
jmp 0x140037bda
lea rdx, str.struct_File_with_4_elements
mov ecx, 1
call fcn.1402e786b
mov rbp, rax
jmp 0x140037bfc
cmp byte [rsp + 0x41], 0
je 0x140037e99
mov al, byte [rsp + 0x42]
jmp 0x14003797d
lea rdx, [rsp + 0x40]
mov qword [rdx], 8
jmp 0x140037ccd
lea rcx, [0x1403b9759]
mov edx, 2
call fcn.1402e7815
mov r15, rax
xor esi, esi
jmp 0x140037b03
mov r15, qword [rsp + 0xc0]
xor esi, esi
mov r14, rdi
mov r12, rdi
xor edi, edi
mov rbp, qword [rsp + 0x30]
jmp 0x140037ceb
mov r15, qword [rsp + 0xa8]
mov r12, rdi
xor edi, edi
mov qword [rsp + 0x20], r12
mov rbp, qword [rsp + 0x30]
mov r13, qword [rsp + 0x28]
jmp 0x140037d0b
lea rcx, [0x1403b9a32]
mov edx, 9
call fcn.1402e7815
mov r15, rax
jmp 0x140037bb4
test r13b, r13b
je 0x140037e3c
mov r13, r12
cmp al, 0x5d
je 0x140037eaa
mov rcx, rbp
call fcn.1400167d2
test rax, rax
je 0x140037ca2
mov qword [rsp + 0x28], rdx
jmp 0x140037bea
lea rdx, [rsp + 0x40]
mov qword [rdx], 2
mov rcx, rbp
call fcn.1402e70a0
jmp 0x140037850
test cl, 1
lea rax, [0x1403b9953]
cmovne rbp, rax
mov edx, 4
mov rcx, rbp
call fcn.1402e7815
mov r15, rax
mov rcx, qword [rsp + 0x20]
mov rdx, r13
call fcn.14018159d
mov rcx, r14
mov rdx, qword [rsp + 0x90]
call fcn.14018159d
mov rbp, qword [rsp + 0x30]
jmp 0x140037cf0
lea rdx, [rsp + 0x40]
mov qword [rdx], 0x12
mov rcx, rbp
call fcn.1402e70a0
mov qword [rsp + 0x28], rax
mov r13, r12
mov rcx, qword [rsp + 0x20]
mov rdx, r13
call fcn.14018159d
mov rbp, qword [rsp + 0x28]
mov rcx, r14
mov rdx, r15
call fcn.14018159d
mov r15, rbp
movabs r12, 0x8000000000000000
mov r14, r12
inc byte [rbx + 0x30]
mov rcx, rbx
call fcn.140003026
mov r13, rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], rsi
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], r13
cmp r14, r12
jne 0x140037c7f
test r13, r13
mov rbp, qword [rsp + 0x30]
jne 0x140037d96
jmp 0x140037da3
test r13, r13
mov rbp, qword [rsp + 0x30]
je 0x140037dbf
lea rcx, [rsp + 0x40]
call fcn.14000a781
mov r14, r12
mov r15, r13
jmp 0x140037de7
movabs r12, 0x8000000000000000
mov qword [rsp + 0x88], r13
mov rbp, qword [rsp + 0x28]
mov rdi, rdx
jmp 0x140037c17
lea rdx, [rsp + 0x40]
mov qword [rdx], 5
mov rcx, rbx
call fcn.1402e70a0
mov r15, rax
xor esi, esi
xor edi, edi
mov rbp, qword [rsp + 0x30]
movabs r12, 0x8000000000000000
mov r13, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
cmp rcx, r12
setne al
not sil
test sil, al
je 0x140037d0b
mov rdx, r13
call fcn.14018159d
mov rsi, qword [rsp + 0x98]
cmp r14, r12
sete al
or al, dil
jne 0x140037d2e
mov rcx, r14
mov rdx, qword [rsp + 0x90]
call fcn.14018159d
mov r14, r12
inc byte [rbx + 0x30]
mov rcx, rbx
call fcn.140002fb1
mov rdi, rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], rsi
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r13
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdi
cmp r14, r12
jne 0x140037da8
test rdi, rdi
je 0x140037da3
lea rcx, [rsp + 0x80]
call fcn.140009e9b
mov r14, r12
jmp 0x140037de7
test rdi, rdi
je 0x140037dbf
lea rcx, [rsp + 0x40]
call fcn.14000a781
mov r14, r12
mov r15, rdi
jmp 0x140037de7
lea rax, [rsp + 0x50]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
cmp r14, r12
je 0x140037e2c
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rbp + 0x30], xmm2
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp], r14
mov qword [rbp + 8], r15
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
mov rdx, r15
call fcn.1402e70dc
jmp 0x140037496
inc qword [rbp + 0x28]
lea r13, [rsp + 0x40]
mov rcx, r13
mov rdx, rbp
call fcn.140002e30
cmp byte [r13], 0
jne 0x140037a21
cmp byte [rsp + 0x41], 0
mov r13, r12
je 0x140037f3a
mov al, byte [rsp + 0x42]
jmp 0x140037b50
lea rdx, str.struct_File_with_4_elements
mov ecx, 2
call fcn.1402e786b
jmp 0x140037850
lea rdx, [rsp + 0x40]
mov qword [rdx], 2
jmp 0x140037bda
lea rdx, [rsp + 0x40]
mov qword [rdx], 5
jmp 0x140037bda
lea rdx, [rsp + 0x40]
mov qword [rdx], 0x12
jmp 0x140037b7c
lea rcx, [0x1403b9759]
mov edx, 2
call fcn.1402e7938
mov r15, rax
xor esi, esi
jmp 0x140037afe
lea rcx, [0x1403b9a32]
mov edx, 9
call fcn.1402e7938
mov r15, rax
mov rcx, qword [rsp + 0x20]
xor esi, esi
mov r12, rdi
xor edi, edi
mov rbp, qword [rsp + 0x30]
mov r13, qword [rsp + 0x28]
jmp 0x140037cf5
lea rcx, [0x1403b9a3b]
jmp 0x140037f2b
lea rdx, str.struct_File_with_4_elements
mov ecx, 3
call fcn.1402e786b
jmp 0x140037be2
lea rcx, [0x1403b9953]
mov edx, 4
call fcn.1402e7938
jmp 0x140037cd5
lea rdx, [rsp + 0x40]
mov qword [rdx], 5
jmp 0x140037b7c