Function at 0x140010ed6
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rdi, rdx
mov rsi, rcx
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140002f38
cmp byte [rbx], 0
je 0x140010f1b
mov rax, qword [rsp + 0xa8]
mov qword [rsi], rax
mov dword [rsi + 0x30], 2
jmp 0x140011787
cmp byte [rsp + 0xa1], 0
je 0x140011357
movzx eax, byte [rsp + 0xa2]
cmp eax, 0x5b
mov qword [rsp + 0xe0], rsi
je 0x1400112cd
cmp eax, 0x7b
jne 0x140011566
dec byte [rdi + 0x30]
je 0x140011543
inc qword [rdi + 0x10]
lea rax, [rsp + 0x100]
and qword [rax + 8], 0
lea rax, [rsp + 0xa0]
and qword [rax + 8], 0
lea r15, [rdi + 0x18]
xor eax, eax
mov qword [rsp + 0x28], rax
mov r13d, 2
mov r12b, 1
lea rsi, [rsp + 0xe8]
xor eax, eax
mov qword [rsp + 0x38], rax
xor ebp, ebp
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov rcx, rsi
mov rdx, rdi
call fcn.140002f38
cmp byte [rsp + 0xe8], 0
jne 0x140011342
cmp byte [rsp + 0xe9], 0
je 0x1400115fb
mov al, byte [rsp + 0xea]
movzx ecx, al
cmp ecx, 0x2c
je 0x140010ff0
cmp ecx, 0x7d
je 0x1400114e2
test r12b, r12b
jne 0x140011023
jmp 0x140011609
test bpl, 1
je 0x140011023
inc qword [rdi + 0x10]
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.140002f38
cmp byte [rsp + 0x50], 0
jne 0x14001155c
cmp byte [rsp + 0x51], 0
je 0x1400118d2
mov al, byte [rsp + 0x52]
jmp 0x140011026
xor r12d, r12d
cmp al, 0x22
jne 0x140011582
inc qword [rdi + 0x10]
and qword [rdi + 0x28], 0
lea rcx, [rsp + 0x50]
mov rdx, rdi
mov r8, r15
call fcn.14014928b
cmp dword [rsp + 0x50], 2
mov rbx, qword [rsp + 0x58]
je 0x140011620
mov r14, qword [rsp + 0x60]
mov r9d, 7
mov rcx, rbx
mov rdx, r14
lea r8, [0x1404119c4]
call fcn.14007dcaf
test al, al
jne 0x140011115
mov r9d, recvfrom
mov rcx, rbx
mov rdx, r14
lea r8, [0x140411bae]
call fcn.14007dcaf
test al, al
jne 0x140011196
mov r9d, 5
mov rcx, rbx
mov rdx, r14
lea r8, [0x140411bbc]
call fcn.14007dcaf
test al, al
jne 0x140011217
mov r9d, 6
mov rcx, rbx
mov rdx, r14
lea r8, [0x140411bc1]
call fcn.14007dcaf
test al, al
jne 0x140011255
mov r9d, 9
mov rcx, rbx
mov rdx, r14
lea r8, [0x140411bd8]
call fcn.14007dcaf
test al, al
jne 0x140011293
mov rcx, rdi
call fcn.140019d46
mov bpl, 1
test rax, rax
je 0x140010fa7
jmp 0x14001134f
cmp qword [rsp + 0x38], 0
jne 0x14001190a
mov r14, rsi
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.1400189bd
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
test rsi, rsi
je 0x140011620
mov rbp, qword [rsp + 0x60]
lea rcx, [rsp + 0x100]
call fcn.1400c2f77
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x110], rbp
mov bpl, 1
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xf8], rbx
mov rbx, rsi
mov qword [rsp + 0x38], rsi
mov rsi, r14
jmp 0x140010fa7
cmp qword [rsp + 0x28], 0
jne 0x140011918
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.140019b66
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140011814
mov r14, rsi
mov rsi, rbp
mov rbp, qword [rsp + 0x60]
lea rcx, [rsp + 0xa0]
call fcn.1400c2f77
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0xb0], rbp
mov bpl, 1
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0x98], rsi
mov rsi, r14
mov qword [rsp + 0x28], rbx
jmp 0x140010fa7
cmp dword [rsp + 0x4c], 1
je 0x140011926
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.140018aa9
cmp dword [rsp + 0x50], 0
jne 0x14001155c
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xcc], eax
mov dword [rsp + 0x4c], 1
mov bpl, 1
jmp 0x140010fa7
cmp dword [rsp + 0x48], 1
je 0x140011934
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.140018aa9
cmp dword [rsp + 0x50], 0
jne 0x14001155c
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x48], 1
mov bpl, 1
jmp 0x140010fa7
cmp r13d, 2
jne 0x140011942
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.140019a3b
cmp dword [rsp + 0x50], 0
jne 0x14001155c
mov r13d, dword [rsp + 0x54]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xc4], eax
mov bpl, 1
jmp 0x140010fa7
dec byte [rdi + 0x30]
je 0x140011543
inc qword [rdi + 0x10]
lea rdx, [rsp + 0xa0]
mov qword [rdx], rdi
mov byte [rdx + 8], 1
lea rbx, [rsp + 0x50]
mov rcx, rbx
call fcn.14001ab37
cmp qword [rbx], 0
je 0x140011306
mov r14, qword [rsp + 0x58]
jmp 0x1400113fb
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1400115a9
lea rbp, [rsp + 0x50]
mov r15, qword [rbp + 8]
mov rsi, qword [rbp + 0x18]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.14001ac5c
cmp qword [rbp], 0
je 0x140011368
mov r14, qword [rsp + 0x58]
jmp 0x1400113f0
mov rbx, qword [rsp + 0xf0]
jmp 0x140011620
mov rbx, rax
jmp 0x140011623
lea rdx, [rsp + 0x50]
mov qword [rdx], 5
jmp 0x14001154f
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400117d0
lea rbp, [rsp + 0x50]
mov rax, qword [rbp + 8]
mov qword [rsp + 0x98], rax
mov rsi, qword [rbp + 0x18]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.14001ad81
cmp dword [rbp], 0
jne 0x1400113d9
cmp dword [rsp + 0x54], 0
je 0x1400118e3
lea rbp, [rsp + 0x50]
mov r14d, dword [rbp + 8]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.14001ad81
cmp dword [rbp], 0
je 0x1400115bf
mov r14, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x28]
call fcn.14007ab60
mov rcx, r15
mov rdx, rbx
call fcn.14007ab60
mov r13d, 2
inc byte [rdi + 0x30]
mov rcx, rdi
call fcn.1400030e7
mov rbx, rax
mov rbp, r14
mov qword [rsp + 0x50], r14
mov r14, rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x60], r12
mov rsi, r15
mov qword [rsp + 0x68], r15
mov r15, qword [rsp + 0x28]
mov qword [rsp + 0x70], r15
mov r12, qword [rsp + 0x30]
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x80], r13d
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0x90], rbx
cmp r13d, 2
jne 0x1400114a1
mov ecx, 2
test rbx, rbx
je 0x140011743
lea rcx, [rsp + 0x90]
call fcn.14000aae6
mov ecx, 2
jmp 0x140011743
test rbx, rbx
je 0x1400114bd
lea rcx, [rsp + 0x50]
call fcn.14000b5df
mov ecx, 2
mov rbp, rbx
jmp 0x140011743
lea rax, [rsp + 0x84]
mov ecx, dword [rax + 8]
mov dword [rsp + 0xc0], ecx
mov ecx, r13d
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
jmp 0x140011743
mov r14, qword [rsp + 0x38]
test r14, r14
sete byte [rsp + 0x27]
mov esi, dword [rsp + 0xc4]
je 0x1400117e9
mov r15, qword [rsp + 0x28]
test r15, r15
sete bpl
mov r12, qword [rsp + 0x30]
je 0x14001182b
cmp dword [rsp + 0x4c], 0
je 0x140011841
cmp dword [rsp + 0x48], 0
je 0x14001184f
xor eax, eax
cmp r13d, 2
cmove esi, eax
cmove r13d, eax
mov rbp, qword [rsp + 0xd0]
jmp 0x140011672
lea rdx, [rsp + 0x50]
mov qword [rdx], 0x18
mov rcx, rdi
call fcn.140331a00
jmp 0x140010f0c
mov rbx, qword [rsp + 0x58]
jmp 0x140011620
lea r8, [0x14033e6e8]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140331c90
mov rbp, rax
jmp 0x1400117a3
movzx eax, al
cmp eax, 0x7d
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
lea rdx, [rsp + 0x50]
jne 0x1400117b3
mov qword [rdx], reloc.WS2_32.dll_setsockopt
jmp 0x1400117ba
lea rdx, str.struct_PhotoSize_with_5_elements
xor ecx, ecx
call fcn.14033218f
mov r14, rax
jmp 0x1400113fb
cmp dword [rsp + 0x54], 0
je 0x1400118f1
mov r12, rbx
lea rbx, [rsp + 0x50]
mov ebp, dword [rbx + 8]
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.14001aa1d
cmp dword [rbx], 0
je 0x14001188d
mov r14, qword [rsp + 0x58]
mov rbx, r12
jmp 0x1400113de
lea rdx, [rsp + 0x50]
mov qword [rdx], 3
jmp 0x140011615
lea rdx, [rsp + 0x50]
mov qword [rdx], 8
mov rcx, rdi
call fcn.140331a00
mov rbx, rax
mov bpl, 1
mov r13b, 1
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
test bpl, bpl
je 0x14001164f
test r15, r15
je 0x14001164f
mov rcx, qword [rsp + 0xd8]
mov rdx, r15
call fcn.14007ab60
mov rbp, rbx
test r13b, r13b
mov rcx, qword [rsp + 0xf8]
je 0x14001166c
test r14, r14
je 0x14001166c
mov rdx, r14
call fcn.14007ab60
mov r13d, 2
inc byte [rdi + 0x30]
mov rcx, rdi
call fcn.140003072
mov rbx, rax
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], r14
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x80], r13d
mov dword [rsp + 0x84], esi
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0x90], rbx
cmp r13d, 2
jne 0x140011702
mov ecx, 2
test rbx, rbx
je 0x14001173b
lea rcx, [rsp + 0x90]
call fcn.14000aae6
mov ecx, 2
jmp 0x14001173b
test rbx, rbx
je 0x14001171b
lea rcx, [rsp + 0x50]
call fcn.14000b5df
mov ecx, 2
mov rbp, rbx
jmp 0x14001173b
lea rax, [rsp + 0x84]
mov ecx, dword [rax + 8]
mov dword [rsp + 0xc0], ecx
mov ecx, r13d
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
mov rsi, qword [rsp + 0x98]
mov r13, qword [rsp + 0x40]
cmp ecx, 2
je 0x14001179b
mov edx, ecx
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], rsi
mov qword [rcx + 0x20], r15
mov qword [rcx + 0x28], r12
mov rax, qword [rsp + 0xb8]
mov qword [rcx + 0x34], rax
mov eax, dword [rsp + 0xc0]
mov dword [rcx + 0x3c], eax
mov qword [rcx], rbp
mov dword [rcx + 0x30], edx
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0xe0]
mov rcx, rdi
mov rdx, rbp
call fcn.140331a38
jmp 0x140010f0c
mov qword [rdx], reloc.WS2_32.dll_recvfrom
mov rcx, rdi
call fcn.140331a00
mov rbx, rax
mov bpl, 1
mov r13b, 1
jmp 0x140011630
lea rdx, str.struct_PhotoSize_with_5_elements
mov ecx, 1
call fcn.14033218f
mov r14, rax
jmp 0x1400113f0
lea rcx, [0x1404119c4]
mov edx, 7
call fcn.1403320e3
mov rbx, rax
mov bpl, 1
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov r13b, byte [rsp + 0x27]
jmp 0x140011635
mov r13b, 1
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
jmp 0x140011652
lea rcx, [0x140411bae]
mov edx, recvfrom
call fcn.1403320e3
mov rbx, rax
jmp 0x140011873
lea rcx, [0x140411bbc]
mov edx, 5
jmp 0x14001185b
lea rcx, [0x140411bc1]
mov edx, 6
call fcn.1403320e3
mov rbx, rax
mov rcx, qword [rsp + 0xd8]
mov rdx, r15
call fcn.14007ab60
mov r13b, byte [rsp + 0x27]
mov rcx, qword [rsp + 0xd0]
mov rdx, r14
call fcn.14007ab60
jmp 0x140011635
mov ecx, dword [rsp + 0x54]
cmp ecx, 2
je 0x140011958
mov ebx, ebp
mov edx, r14d
mov rax, rsi
mov r13d, ecx
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x38], ecx
mov r14, r15
mov rsi, r12
mov r15, qword [rsp + 0x98]
mov r12, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], ebp
jmp 0x140011401
lea rdx, [rsp + 0x50]
mov qword [rdx], 5
jmp 0x140011615
lea rdx, str.struct_PhotoSize_with_5_elements
mov ecx, 2
jmp 0x1400118fd
lea rdx, str.struct_PhotoSize_with_5_elements
mov ecx, 3
call fcn.14033218f
mov r14, rax
jmp 0x1400113de
lea rcx, [0x1404119c4]
mov edx, 7
jmp 0x14001194e
lea rcx, [0x140411bae]
mov edx, recvfrom
jmp 0x14001194e
lea rcx, [0x140411bbc]
mov edx, 5
jmp 0x14001194e
lea rcx, [0x140411bc1]
mov edx, 6
jmp 0x14001194e
lea rcx, [0x140411bd8]
mov edx, 9
call fcn.14033225d
jmp 0x14001161d
lea rdx, str.struct_PhotoSize_with_5_elements
mov ecx, 4
call fcn.14033218f
mov r14, rax
jmp 0x1400115f3