Function at 0x1400384db
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 rsi, rcx
movabs r13, 0x8000000000000000
lea rdi, [rsp + 0xe0]
mov rcx, rdi
call fcn.140002b50
cmp byte [rdi], 0
je 0x140038527
mov rax, qword [rsp + 0xe8]
mov qword [rsi + 8], rax
mov qword [rsi], r13
jmp 0x140038e5c
cmp byte [rsp + 0xe1], 0
je 0x1400389c2
movzx eax, byte [rsp + 0xe2]
cmp eax, 0x5b
je 0x14003881c
cmp eax, 0x7b
jne 0x140038a7c
dec byte [rbx + 0x30]
je 0x140038a22
inc qword [rbx + 0x28]
mov rax, r13
lea r13, [rbx + 0x18]
mov cl, 1
mov dword [rsp + 0x88], ecx
xor edi, edi
lea r12, [rsp + 0x38]
lea rbp, [0x1403b0203]
mov r14, rax
mov qword [rsp + 0x20], rax
xor eax, eax
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0xd0]
mov rdx, rbx
call fcn.140002b50
cmp byte [rsp + 0xd0], 0
jne 0x14003890f
cmp byte [rsp + 0xd1], 0
je 0x140038b9a
mov al, byte [rsp + 0xd2]
movzx ecx, al
cmp ecx, 0x2c
je 0x1400385d8
cmp ecx, 0x7d
je 0x1400389d0
test dil, 1
je 0x140038607
jmp 0x140038c09
test dil, 1
je 0x140038607
inc qword [rbx + 0x28]
mov rcx, r12
mov rdx, rbx
call fcn.140002b50
cmp byte [rsp + 0x38], 0
jne 0x140038a98
cmp byte [rsp + 0x39], 0
je 0x140038cfe
mov al, byte [rsp + 0x3a]
cmp al, 0x22
jne 0x140038b5f
inc qword [rbx + 0x28]
and qword [rbx + 0x10], 0
mov rcx, r12
mov rdx, r13
mov r8, rbx
call fcn.140110b56
cmp dword [rsp + 0x38], 2
mov r15, qword [rsp + 0x40]
je 0x140038d15
mov rdi, qword [rsp + 0x48]
mov r9d, 2
mov rcx, r15
mov rdx, rdi
lea r8, [0x1403b0009]
call fcn.14006436c
test al, al
jne 0x1400386cc
mov r9d, 9
mov rcx, r15
mov rdx, rdi
lea r8, [0x1403b02de]
call fcn.14006436c
test al, al
jne 0x140038738
mov r9d, 4
mov rcx, r15
mov rdx, rdi
lea r8, [0x1403b02e7]
call fcn.14006436c
test al, al
jne 0x1400387a5
mov r9d, 4
mov rcx, r15
mov rdx, rdi
mov r8, rbp
call fcn.14006436c
test al, al
jne 0x1400387df
mov rcx, rbx
call fcn.140018043
mov dil, 1
test rax, rax
je 0x140038589
jmp 0x140038d12
movabs rdi, 0x8000000000000000
cmp r14, rdi
jne 0x140038eea
lea rcx, [rsp + 0xb8]
mov rdx, rbx
call fcn.140018325
mov r14, qword [rsp + 0xb8]
cmp r14, rdi
je 0x140038c30
mov rcx, rdi
mov rdx, qword [rsp + 0x90]
call fcn.140112200
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x80], rax
mov dil, 1
jmp 0x140038589
movabs rdi, 0x8000000000000000
cmp qword [rsp + 0x20], rdi
jne 0x140038f03
lea rcx, [rsp + 0x98]
mov rdx, rbx
call fcn.1400183a3
mov rax, qword [rsp + 0x98]
cmp rax, rdi
je 0x140038c48
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
call fcn.140112200
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb0], rax
mov dil, 1
jmp 0x140038589
cmp qword [rsp + 0x28], 0
jne 0x140038f2e
mov rcx, rbx
call fcn.140016fff
mov r15, rdx
test rax, rax
jne 0x140038d15
mov eax, 1
mov qword [rsp + 0x28], rax
mov dil, 1
mov qword [rsp + 0x120], r15
jmp 0x140038589
test byte [rsp + 0x88], 1
je 0x140038f37
mov rcx, rbx
call fcn.140017091
mov r15, rdx
test rax, rax
jne 0x140038d15
mov dil, 1
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x118], r15
jmp 0x140038589
dec byte [rbx + 0x30]
je 0x140038a22
inc qword [rbx + 0x28]
lea rdx, [rsp + 0xb8]
mov qword [rdx], rbx
mov byte [rdx + 8], 1
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.14001995c
mov r14, qword [rdi]
movabs r12, 0x8000000000000001
cmp r14, r12
je 0x1400388fb
movabs r13, 0x8000000000000000
cmp r14, r13
je 0x140038b84
lea rdi, [rsp + 0x38]
mov r15, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
lea rdx, [rsp + 0xb8]
mov rcx, rdi
call fcn.140019de3
mov rax, qword [rdi]
cmp rax, r12
je 0x14003891c
cmp rax, r13
je 0x140038bf0
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0xb8]
lea r12, [rsp + 0x98]
mov rcx, r12
mov rdx, rbp
call fcn.140002b50
cmp byte [r12], 0
je 0x140038a3b
mov r12, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
call fcn.1400a3a56
jmp 0x140038921
mov r15, qword [rsp + 0x40]
movabs r13, 0x8000000000000000
mov r14, r13
jmp 0x14003893f
mov r15, qword [rsp + 0xd8]
jmp 0x140038d15
mov r12, qword [rsp + 0x40]
mov rcx, r14
mov rdx, r15
call fcn.1400a3a56
mov r15, r12
movabs r13, 0x8000000000000000
mov r14, r13
mov rdi, r12
inc byte [rbx + 0x30]
mov rcx, rbx
call fcn.140002d46
mov r12, rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rbp
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r12
cmp r14, r13
jne 0x1400389a4
test r12, r12
jne 0x140038dde
jmp 0x140038de8
test r12, r12
je 0x140038e04
lea rcx, [rsp + 0x38]
call fcn.14000a5da
mov r14, r13
mov r15, r12
jmp 0x140038e2c
lea rdx, [rsp + 0x38]
mov qword [rdx], 5
jmp 0x140038a2e
movabs r13, 0x8000000000000000
cmp r14, r13
setne r12b
je 0x140038c1a
cmp qword [rsp + 0x20], r13
setne dil
je 0x140038c63
mov rcx, qword [rsp + 0x28]
test rcx, rcx
sete al
or al, byte [rsp + 0x88]
test al, 1
jne 0x140038c7e
mov r15, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x30]
jmp 0x140038d74
lea rdx, [rsp + 0x38]
mov qword [rdx], reloc.WS2_32.dll_setsockopt
mov rcx, rbx
call fcn.1402e2afc
jmp 0x14003851b
cmp byte [rsp + 0x99], 0
je 0x140038cc0
mov al, byte [rsp + 0x9a]
movzx ecx, al
cmp ecx, 0x2c
je 0x140038aa2
cmp ecx, 0x5d
je 0x140038e80
cmp byte [rsp + 0xc0], 0
jne 0x140038ab0
lea rdx, [rsp + 0x38]
mov qword [rdx], 7
jmp 0x140038cee
lea r8, [0x1402ead90]
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.1402de729
mov r15, rax
jmp 0x140038e70
mov r15, qword [rsp + 0x40]
jmp 0x140038d15
cmp byte [rsp + 0xc0], 0
je 0x140038bc7
cmp al, 0x5d
je 0x140038ce2
mov rcx, rbp
call fcn.14003805c
mov r12, rdx
test rax, rax
jne 0x1400388ea
mov qword [rsp + 0xb0], r12
lea r12, [rsp + 0x98]
mov rcx, r12
mov rdx, rbp
call fcn.140002b50
cmp byte [r12], 0
jne 0x1400388e2
cmp byte [rsp + 0x99], 0
je 0x140038cc0
movzx eax, byte [rsp + 0x9a]
cmp eax, 0x2c
jne 0x140038e96
inc qword [rbp + 0x28]
lea r12, [rsp + 0x38]
mov rcx, r12
mov rdx, rbp
call fcn.140002b50
cmp byte [r12], 0
jne 0x140038be6
cmp byte [rsp + 0x39], 0
je 0x140038ed9
cmp byte [rsp + 0x3a], 0x5d
je 0x140038ce2
mov rcx, rbp
call fcn.140016965
test rax, rax
je 0x140038ead
mov r12, rdx
jmp 0x1400388ea
movzx eax, al
cmp eax, 0x7d
movabs r13, 0x8000000000000000
mov rbp, qword [rsp + 0x30]
lea rdx, [rsp + 0x38]
jne 0x140038bab
mov qword [rdx], reloc.WS2_32.dll_select
jmp 0x140038bb2
lea rdx, str.struct_File_with_4_elements
xor ecx, ecx
call fcn.1402dec7a
mov r15, rax
jmp 0x140038900
lea rdx, [rsp + 0x38]
mov qword [rdx], 3
jmp 0x140038d0a
mov qword [rdx], reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.1402e2afc
mov r15, rax
xor edi, edi
xor r12d, r12d
jmp 0x140038d29
inc qword [rbp + 0x28]
lea r12, [rsp + 0x38]
mov rcx, r12
mov rdx, rbp
call fcn.140002b50
cmp byte [r12], 0
je 0x140038cce
mov r12, qword [rsp + 0x40]
jmp 0x1400388ea
lea rdx, str.struct_File_with_4_elements
mov ecx, 1
call fcn.1402dec7a
mov r12, rax
jmp 0x140038921
lea rdx, [rsp + 0x38]
mov qword [rdx], 8
jmp 0x140038d0a
lea rcx, [0x1403b0009]
mov edx, 2
call fcn.1402dec24
mov r15, rax
jmp 0x140038c41
mov r15, qword [rsp + 0xc0]
mov r14, rdi
xor r12d, r12d
mov r13, rdi
xor edi, edi
jmp 0x140038d24
mov r15, qword [rsp + 0xa0]
xor r12d, r12d
mov rcx, rdi
mov r13, rdi
mov rbp, qword [rsp + 0x30]
jmp 0x140038d45
lea rcx, [0x1403b02de]
mov edx, 9
call fcn.1402dec24
mov r15, rax
mov rbp, qword [rsp + 0x30]
jmp 0x140038cae
test rcx, rcx
lea rax, [0x1403b02e7]
cmove rbp, rax
mov edx, 4
mov rcx, rbp
call fcn.1402dec24
mov r15, rax
mov rcx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x30]
mov rdx, rbp
call fcn.1400a3a56
mov rcx, r14
mov rdx, qword [rsp + 0x90]
call fcn.1400a3a56
jmp 0x140038d29
lea rdx, [rsp + 0x38]
mov qword [rdx], 2
jmp 0x140038cee
cmp byte [rsp + 0x39], 0
je 0x140038ed9
mov al, byte [rsp + 0x3a]
jmp 0x140038ab0
lea rdx, [rsp + 0x38]
mov qword [rdx], reloc.WS2_32.dll_select
mov rcx, rbp
call fcn.1402e2afc
mov r12, rax
jmp 0x1400388ea
lea rdx, [rsp + 0x38]
mov qword [rdx], 5
mov rcx, rbx
call fcn.1402e2afc
mov r15, rax
xor edi, edi
xor r12d, r12d
movabs r13, 0x8000000000000000
mov rbp, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
test dil, dil
jne 0x140038d45
cmp rcx, r13
je 0x140038d45
mov rdx, rbp
call fcn.1400a3a56
mov rcx, qword [rsp + 0x20]
test r12b, r12b
mov qword [rsp + 0x20], rcx
jne 0x140038d71
cmp r14, r13
mov r12, qword [rsp + 0x80]
je 0x140038d6c
mov rcx, r14
mov rdx, qword [rsp + 0x90]
call fcn.1400a3a56
mov r14, r13
jmp 0x140038d7c
mov r14, r13
mov r12, qword [rsp + 0x80]
inc byte [rbx + 0x30]
mov rcx, rbx
call fcn.140002cd1
mov rdi, rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r12
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbp
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdi
cmp r14, r13
jne 0x140038ded
test rdi, rdi
je 0x140038de8
lea rcx, [rsp + 0x78]
call fcn.140009c2e
mov r14, r13
jmp 0x140038e2c
test rdi, rdi
je 0x140038e04
lea rcx, [rsp + 0x38]
call fcn.14000a5da
mov r14, r13
mov r15, rdi
jmp 0x140038e2c
lea rax, [rsp + 0x48]
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, r13
je 0x140038e70
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rsi + 0x30], xmm2
movups xmmword [rsi + 0x20], xmm1
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi], r14
mov qword [rsi + 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.1402de4b0
jmp 0x14003851b
lea rdx, str.struct_File_with_4_elements
mov ecx, 2
call fcn.1402dec7a
jmp 0x140038cf6
cmp eax, 0x5d
jne 0x140038a6b
lea rdx, str.struct_File_with_4_elements
mov ecx, 3
jmp 0x140038e8c
movabs r13, 0x8000000000000000
mov rbp, qword [rsp + 0x80]
mov qword [rsp + 0x88], rdi
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rdx
jmp 0x14003893f
lea rdx, [rsp + 0x38]
mov qword [rdx], 5
jmp 0x140038cee
lea rcx, [0x1403b0009]
mov edx, 2
call fcn.1402decf1
mov r15, rax
jmp 0x140038c3b
lea rcx, [0x1403b02de]
mov edx, 9
call fcn.1402decf1
mov r15, rax
mov rcx, qword [rsp + 0x20]
xor r12d, r12d
mov r13, rdi
xor edi, edi
mov rbp, qword [rsp + 0x30]
jmp 0x140038d2e
lea rcx, [0x1403b02e7]
jmp 0x140038f3e
lea rcx, [0x1403b0203]
mov edx, 4
call fcn.1402decf1
jmp 0x140038d12