Function at 0x14003626b
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
mov r13, rdx
mov r14, rcx
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.140002f38
cmp byte [rsi], 0
je 0x1400362ae
mov rax, qword [rsp + 0x1f0]
mov qword [r14], rax
mov byte [r14 + 0x68], 2
jmp 0x140036d51
cmp byte [rsp + 0x1e9], 0
je 0x1400368f8
movzx eax, byte [rsp + 0x1ea]
cmp eax, 0x5b
je 0x14003675b
cmp eax, 0x7b
jne 0x140036af3
dec byte [r13 + 0x30]
je 0x1400369df
inc qword [r13 + 0x10]
lea rax, [rsp + 0x120]
and qword [rax + 8], 0
lea rax, [rsp + 0x178]
and qword [rax - 8], 0
lea rax, [rsp + 0x148]
and qword [rax - 8], 0
lea rax, [rsp + 0xf8]
and qword [rax - 8], 0
lea r12, [r13 + 0x18]
mov dil, 1
mov byte [rsp + 0x2f], 2
xor eax, eax
mov qword [rsp + 0x30], rax
lea rsi, [rsp + 0x70]
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x60], rax
xor ecx, ecx
mov al, 1
mov dword [rsp + 0xec], eax
mov qword [rsp + 0x198], r14
mov qword [rsp + 0x1e0], rcx
mov ebx, ecx
lea rcx, [rsp + 0x50]
mov rdx, r13
call fcn.140002f38
cmp byte [rsp + 0x50], 0
jne 0x1400368be
cmp byte [rsp + 0x51], 0
je 0x140036b62
mov al, byte [rsp + 0x52]
movzx ecx, al
cmp ecx, 0x2c
je 0x1400363a4
cmp ecx, 0x7d
je 0x140036909
test dil, dil
jne 0x1400363d4
jmp 0x140036b70
test bl, 1
je 0x1400363d4
inc qword [r13 + 0x10]
mov rcx, rsi
mov rdx, r13
call fcn.140002f38
cmp byte [rsp + 0x70], 0
jne 0x140036ae9
cmp byte [rsp + 0x71], 0
je 0x140036de0
mov al, byte [rsp + 0x72]
jmp 0x1400363d6
xor edi, edi
cmp al, 0x22
jne 0x140036b0f
inc qword [r13 + 0x10]
and qword [r13 + 0x28], 0
mov rcx, rsi
mov rdx, r13
mov r8, r12
call fcn.14014928b
cmp dword [rsp + 0x70], 2
mov r15, qword [rsp + 0x78]
je 0x140036b87
mov rbp, qword [rsp + 0x80]
mov r9d, 2
mov rcx, r15
mov rdx, rbp
lea r8, [0x1404117c8]
call fcn.14007dcaf
test al, al
jne 0x140036709
mov r9d, 6
mov rcx, r15
mov rdx, rbp
lea r8, [0x140411f3f]
call fcn.14007dcaf
test al, al
jne 0x1400364e5
mov r9d, 0xa
mov rcx, r15
mov rdx, rbp
lea r8, [0x140411a11]
call fcn.14007dcaf
test al, al
jne 0x140036515
mov r9d, 9
mov rcx, r15
mov rdx, rbp
lea r8, [0x140411a1b]
call fcn.14007dcaf
test al, al
jne 0x140036580
mov r9d, 8
mov rcx, r15
mov rdx, rbp
lea r8, [0x140411c08]
call fcn.14007dcaf
test al, al
jne 0x140036603
mov r9d, reloc.WS2_32.dll_listen
mov rcx, r15
mov rdx, rbp
lea r8, [0x140411f45]
call fcn.14007dcaf
test al, al
jne 0x140036686
mov rcx, r13
call fcn.140019d46
mov bl, 1
test rax, rax
je 0x140036362
jmp 0x140036b84
cmp byte [rsp + 0x2f], 2
jne 0x140036e8d
mov rcx, rsi
mov rdx, r13
call fcn.1400185fa
cmp byte [rsp + 0x70], 0
jne 0x140036ae9
mov al, byte [rsp + 0x71]
mov byte [rsp + 0x2f], al
mov bl, 1
jmp 0x140036362
cmp qword [rsp + 0x60], 0
jne 0x140036e9b
mov rcx, rsi
mov rdx, r13
call fcn.140019b66
mov r15, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
test rbp, rbp
je 0x140036b87
mov rbx, qword [rsp + 0x80]
lea rcx, [rsp + 0x120]
call fcn.1400c2f77
mov qword [rsp + 0x120], r15
mov qword [rsp + 0x128], rbp
mov qword [rsp + 0x130], rbx
mov bl, 1
mov qword [rsp + 0x1d8], r15
mov qword [rsp + 0x60], rbp
jmp 0x140036362
cmp qword [rsp + 0x40], 1
je 0x140036ea9
mov rcx, rsi
mov rdx, r13
call fcn.140019cce
cmp qword [rsp + 0x70], 0
mov r15, qword [rsp + 0x78]
jne 0x140036b87
lea rax, [rsp + 0x80]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x170]
call fcn.14000c78e
mov qword [rsp + 0x170], 1
mov qword [rsp + 0x1d0], r15
mov qword [rsp + 0x178], r15
movaps xmm0, xmmword [rsp + 0x50]
lea rax, [rsp + 0x178]
movups xmmword [rax + 8], xmm0
mov bl, 1
mov eax, 1
mov qword [rsp + 0x40], rax
jmp 0x140036362
cmp qword [rsp + 0x38], 1
je 0x140036eb7
mov rcx, rsi
mov rdx, r13
call fcn.140019cce
cmp qword [rsp + 0x70], 0
mov r15, qword [rsp + 0x78]
jne 0x140036b87
lea rax, [rsp + 0x80]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x140]
call fcn.14000c78e
mov qword [rsp + 0x140], 1
mov qword [rsp + 0x1c8], r15
mov qword [rsp + 0x148], r15
movaps xmm0, xmmword [rsp + 0x50]
lea rax, [rsp + 0x148]
movups xmmword [rax + 8], xmm0
mov bl, 1
mov eax, 1
mov qword [rsp + 0x38], rax
jmp 0x140036362
cmp qword [rsp + 0x30], 1
je 0x140036f68
mov rcx, rsi
mov rdx, r13
call fcn.140019cce
cmp qword [rsp + 0x70], 0
mov rbx, qword [rsp + 0x78]
jne 0x140036dbb
lea rax, [rsp + 0x80]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0xf0]
call fcn.14000c78e
mov qword [rsp + 0xf0], 1
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0xf8], rbx
movaps xmm0, xmmword [rsp + 0x50]
lea rax, [rsp + 0xf8]
movups xmmword [rax + 8], xmm0
mov bl, 1
mov eax, 1
mov qword [rsp + 0x30], rax
jmp 0x140036362
test byte [rsp + 0x1e0], 1
jne 0x140036e7f
mov rcx, r13
call fcn.140002fc3
test rax, rax
jne 0x140036b84
mov rcx, rsi
mov rdx, r13
call fcn.140011971
cmp qword [rsp + 0x70], 0
jne 0x140036ae9
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov cl, 1
mov dword [rsp + 0xec], 0
jmp 0x140036358
dec byte [r13 + 0x30]
je 0x1400369df
inc qword [r13 + 0x10]
mov qword [rsp + 0x50], r13
lea rsi, [rsp + 0xf0]
mov rcx, rsi
mov rdx, r13
call fcn.140002f38
cmp byte [rsi], 0
je 0x140036790
mov r12, qword [rsp + 0xf8]
jmp 0x1400367d0
cmp byte [rsp + 0xf1], 0
je 0x140036b36
cmp byte [rsp + 0xf2], 0x5d
je 0x140036b4c
mov byte [rsp + 0x58], 0
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, r13
call fcn.140011971
cmp qword [rsi], 0
je 0x1400369f8
mov r12, qword [rsp + 0x78]
mov bl, 2
inc byte [r13 + 0x30]
mov rcx, r13
call fcn.1400030e7
mov rbp, rax
mov qword [rsp + 0x70], r12
movaps xmm0, xmmword [rsp + 0x170]
movups xmmword [rsp + 0x78], xmm0
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x88], rax
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x90], xmm0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdi
movaps xmm0, xmmword [rsp + 0x160]
movups xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xd0], rsi
mov byte [rsp + 0xd8], bl
mov eax, dword [rsp + 0x119]
mov ecx, dword [rsp + 0x11c]
mov dword [rsp + 0xd9], eax
mov dword [rsp + 0xdc], ecx
mov qword [rsp + 0xe0], rbp
cmp bl, 2
jne 0x1400368a5
mov bl, 2
test rbp, rbp
je 0x140036d21
lea rcx, [rsp + 0xe0]
call fcn.14000aae6
jmp 0x140036d21
test rbp, rbp
je 0x1400368c8
lea rcx, [rsp + 0x70]
call fcn.14000aa6a
mov bl, 2
mov r12, rbp
jmp 0x140036d21
mov r15, qword [rsp + 0x58]
jmp 0x140036b87
lea rsi, [rsp + 0x78]
lea rdi, [rsp + 0x1e8]
mov ecx, ntohs
rep movsq qword [rdi], qword [rsi]
mov eax, dword [rsp + 0x119]
mov ecx, dword [rsp + 0x11c]
mov dword [rsp + 0x6b], ecx
mov dword [rsp + 0x68], eax
jmp 0x140036d21
lea rdx, [rsp + 0x70]
mov qword [rdx], 5
jmp 0x1400369eb
test byte [rsp + 0xec], 1
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
jne 0x140036d86
mov bl, byte [rsp + 0x2f]
cmp bl, 2
je 0x140036d94
cmp qword [rsp + 0x60], 0
je 0x140036da2
test rsi, rsi
je 0x140036947
mov rsi, qword [rsp + 0x180]
test rdi, rdi
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
je 0x14003695e
mov rdi, qword [rsp + 0x150]
mov qword [rsp + 0x48], rax
mov r15, rsi
test rcx, rcx
je 0x140036973
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x30], rcx
and bl, 1
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x1a0], xmm0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x1b0], rax
mov rbp, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x1c8]
mov r14, qword [rsp + 0x1d0]
jmp 0x140036bf3
lea rdx, [rsp + 0x70]
mov qword [rdx], 0x18
mov rcx, r13
call fcn.140331a00
jmp 0x1400362a1
mov rbp, qword [rsp + 0x78]
lea rsi, [rsp + 0xf0]
mov rcx, rsi
mov rdx, r13
call fcn.140002f38
cmp byte [rsi], 0
jne 0x140036786
cmp byte [rsp + 0xf1], 0
je 0x140036b36
movzx eax, byte [rsp + 0xf2]
cmp eax, 0x2c
jne 0x140036dca
inc qword [r13 + 0x10]
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, r13
call fcn.140002f38
cmp byte [rsi], 0
jne 0x1400367cb
cmp byte [rsp + 0x71], 0
je 0x140036e02
cmp byte [rsp + 0x72], 0x5d
je 0x140036e6e
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, r13
call fcn.140017fdd
cmp byte [rsi], 0
jne 0x1400367cb
lea rsi, [rsp + 0x70]
mov bl, byte [rsi + 1]
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.14001ac5c
cmp qword [rsi], 0
jne 0x1400367cb
mov byte [rsp + 0x2f], bl
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x140037007
lea rsi, [rsp + 0x70]
mov r15, qword [rsi + 8]
mov rdi, qword [rsi + 0x18]
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.14001a8e7
mov rcx, qword [rsi]
cmp rcx, 2
jne 0x140036e13
mov r12, qword [rsp + 0x78]
jmp 0x140036f58
mov r15, qword [rsp + 0x78]
jmp 0x140036b87
lea r8, [0x14033e808]
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.140331c90
mov r12, rax
jmp 0x140036d65
movzx eax, al
cmp eax, 0x7d
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
lea rdx, [rsp + 0x70]
jne 0x140036d75
mov qword [rdx], reloc.WS2_32.dll_setsockopt
jmp 0x140036d7c
lea rdx, [rsp + 0x70]
mov qword [rdx], 2
mov rcx, r13
call fcn.140331a00
jmp 0x140036b5a
lea rdx, str.struct_User_with_6_elements
xor ecx, ecx
call fcn.14033218f
mov r12, rax
jmp 0x1400367d0
lea rdx, [rsp + 0x70]
mov qword [rdx], 3
jmp 0x140036b7c
lea rdx, [rsp + 0x70]
mov qword [rdx], 8
mov rcx, r13
call fcn.140331a00
mov r15, rax
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov rbx, r15
cmp rax, 1
jne 0x140036baf
lea rcx, [rsp + 0xf8]
call fcn.1400c2f77
mov rbx, r15
cmp rdi, 1
jne 0x140036bc2
lea rcx, [rsp + 0x148]
call fcn.1400c2f77
cmp rsi, 1
jne 0x140036bd5
lea rcx, [rsp + 0x178]
call fcn.1400c2f77
mov qword [rsp + 0x48], rbx
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140036bf1
mov rcx, qword [rsp + 0x1d8]
call fcn.14007ab60
mov bl, 2
inc byte [r13 + 0x30]
mov rcx, r13
call fcn.140003072
mov rsi, rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], rdi
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbp
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xb8], rax
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0xd0], rax
mov byte [rsp + 0xd8], bl
mov eax, dword [rsp + 0x160]
mov ecx, dword [rsp + 0x163]
mov dword [rsp + 0xd9], eax
mov dword [rsp + 0xdc], ecx
mov qword [rsp + 0xe0], rsi
cmp bl, 2
jne 0x140036cd3
mov bl, 2
test rsi, rsi
mov r14, qword [rsp + 0x198]
je 0x140036d1c
lea rcx, [rsp + 0xe0]
call fcn.14000aae6
jmp 0x140036d1c
test rsi, rsi
mov r14, qword [rsp + 0x198]
je 0x140036cf1
lea rcx, [rsp + 0x70]
call fcn.14000aa6a
mov bl, 2
mov r12, rsi
jmp 0x140036d21
lea rsi, [rsp + 0x78]
lea rdi, [rsp + 0x1e8]
mov ecx, ntohs
rep movsq qword [rdi], qword [rsi]
mov eax, dword [rsp + 0x160]
mov ecx, dword [rsp + 0x163]
mov dword [rsp + 0x6b], ecx
mov dword [rsp + 0x68], eax
mov r12, qword [rsp + 0x48]
cmp bl, 2
je 0x140036d65
lea rdi, [r14 + 8]
lea rsi, [rsp + 0x1e8]
mov ecx, ntohs
rep movsq qword [rdi], qword [rsi]
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x6b]
mov dword [r14 + 0x6c], ecx
mov dword [r14 + 0x69], eax
mov qword [r14], r12
mov byte [r14 + 0x68], bl
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
mov rdx, r12
call fcn.140331a38
jmp 0x1400362a1
mov qword [rdx], reloc.WS2_32.dll_recvfrom
mov rcx, r13
call fcn.140331a00
jmp 0x140036db3
lea rcx, [0x1404117c8]
mov edx, 2
jmp 0x140036dae
lea rcx, [0x140411f3f]
mov edx, 6
jmp 0x140036dae
lea rcx, [0x140411a11]
mov edx, 0xa
call fcn.1403320e3
mov r15, rax
jmp 0x140036b91
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
jmp 0x140036baf
cmp eax, 0x5d
jne 0x140036df1
lea rdx, str.struct_User_with_6_elements
mov ecx, 1
jmp 0x140036b55
lea rdx, [rsp + 0x70]
mov qword [rdx], 5
jmp 0x140036b7c
lea rdx, [rsp + 0x70]
mov qword [rdx], 7
jmp 0x140036b42
lea rdx, [rsp + 0x70]
mov qword [rdx], 5
jmp 0x140036b42
mov rax, qword [rsp + 0x78]
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xf0], xmm0
test rcx, rcx
je 0x140037018
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x148], xmm0
mov qword [rsp + 0x140], rax
lea rsi, [rsp + 0x70]
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.14001a8e7
mov rcx, qword [rsi]
cmp rcx, 2
jne 0x140036ecd
mov r12, qword [rsp + 0x78]
jmp 0x140036f4b
lea rdx, [rsp + 0x70]
mov qword [rdx], reloc.WS2_32.dll_setsockopt
jmp 0x140036b42
lea rcx, [0x1404117c8]
mov edx, 2
jmp 0x140036ec3
lea rcx, [0x140411f3f]
mov edx, 6
jmp 0x140036ec3
lea rcx, [0x140411a11]
mov edx, 0xa
jmp 0x140036ec3
lea rcx, [0x140411a1b]
mov edx, 9
jmp 0x140036ec3
lea rcx, [0x140411c08]
mov edx, 8
call fcn.14033225d
jmp 0x140036b84
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x48], rbx
mov rax, qword [rsp + 0x78]
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1a0], xmm0
test rcx, rcx
je 0x140037031
mov rsi, rdi
mov r12, rbp
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0xf8], xmm0
mov qword [rsp + 0xf0], rax
lea rbp, [rsp + 0x70]
lea rdx, [rsp + 0x50]
mov rcx, rbp
call fcn.14001a8e7
mov rax, qword [rbp]
cmp rax, 2
jne 0x140036f8b
mov r12, qword [rsp + 0x78]
lea rcx, [rsp + 0xf0]
call fcn.1400c2f77
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
lea rcx, [rsp + 0x140]
call fcn.1400c2f77
mov rcx, r15
mov rdx, rbx
call fcn.14007ab60
jmp 0x1400367d0
lea rcx, [0x140411f45]
mov edx, reloc.WS2_32.dll_listen
call fcn.14033225d
mov r15, rax
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
jmp 0x140036b9f
mov rdi, qword [rsp + 0x78]
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1a0], xmm0
test rax, rax
je 0x14003704a
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x170], xmm0
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x180], rax
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x120], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x130], rax
mov bl, byte [rsp + 0x2f]
mov r15, qword [rsp + 0x48]
jmp 0x1400367d2
lea rdx, str.struct_User_with_6_elements
mov ecx, 2
jmp 0x140036b55
lea rdx, str.struct_User_with_6_elements
mov ecx, 3
call fcn.14033218f
mov r12, rax
jmp 0x140036f58
lea rdx, str.struct_User_with_6_elements
mov ecx, 4
call fcn.14033218f
mov r12, rax
jmp 0x140036f41
lea rdx, str.struct_User_with_6_elements
mov ecx, 5
call fcn.14033218f
mov r12, rax
jmp 0x140036f34