Function at 0x140032478
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm6
mov rdi, rdx
mov rsi, rcx
lea rbx, [rsp + 0x50]
mov rcx, rbx
call fcn.140002be7
cmp byte [rbx], 0
je 0x1400324bd
mov rax, qword [rsp + 0x58]
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x1400328af
cmp byte [rsp + 0x51], 0
je 0x140032757
movzx eax, byte [rsp + 0x52]
cmp eax, 0x5b
je 0x140032673
cmp eax, 0x7b
jne 0x1400327a5
dec byte [rdi + 0x30]
je 0x14003278c
inc qword [rdi + 0x28]
lea r14, [rdi + 0x18]
mov al, 1
mov dword [rsp + 0x4c], eax
xor ebx, ebx
lea r15, [rsp + 0x50]
lea r12, [rsp + 0x28]
lea r13, [0x1403aab89]
xor eax, eax
mov qword [rsp + 0x60], rax
mov rcx, r15
mov rdx, rdi
call fcn.140002be7
cmp byte [rsp + 0x50], 0
jne 0x1400326e2
cmp byte [rsp + 0x51], 0
je 0x1400327ef
mov al, byte [rsp + 0x52]
movzx ecx, al
cmp ecx, 0x2c
je 0x140032550
cmp ecx, 0x7d
je 0x140032765
test bl, 1
je 0x14003257e
jmp 0x14003282c
test bl, 1
je 0x14003257e
inc qword [rdi + 0x28]
mov rcx, r12
mov rdx, rdi
call fcn.140002be7
cmp byte [rsp + 0x28], 0
jne 0x1400327c1
cmp byte [rsp + 0x29], 0
je 0x1400328de
mov al, byte [rsp + 0x2a]
cmp al, 0x22
jne 0x1400327cb
inc qword [rdi + 0x28]
and qword [rdi + 0x10], 0
mov rcx, r12
mov rdx, r14
mov r8, rdi
call fcn.1401133bf
cmp dword [rsp + 0x28], 2
mov rbx, qword [rsp + 0x30]
je 0x1400326e7
mov rbp, qword [rsp + 0x38]
mov r9d, 9
mov rcx, rbx
mov rdx, rbp
mov r8, r13
call fcn.140064d09
test al, al
jne 0x1400325fe
mov r9d, 8
mov rcx, rbx
mov rdx, rbp
lea r8, [0x1403aab92]
call fcn.140064d09
test al, al
jne 0x14003263c
mov rcx, rdi
call fcn.140017944
mov bl, 1
test rax, rax
je 0x140032510
jmp 0x140032747
cmp qword [rsp + 0x60], 0
jne 0x1400328fa
mov rcx, r12
mov rdx, rdi
call fcn.140017c26
cmp qword [rsp + 0x28], 0
jne 0x14003280c
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
mov eax, 1
mov qword [rsp + 0x60], rax
mov bl, 1
jmp 0x140032510
test byte [rsp + 0x4c], 1
je 0x140032908
mov rcx, r12
mov rdx, rdi
call fcn.140017c26
cmp qword [rsp + 0x28], 0
jne 0x14003280c
movsd xmm6, qword [rsp + 0x30]
mov bl, 1
mov dword [rsp + 0x4c], 0
jmp 0x140032510
dec byte [rdi + 0x30]
je 0x14003278c
inc qword [rdi + 0x28]
lea rdx, [rsp + 0x50]
mov qword [rdx], rdi
mov byte [rdx + 8], 1
lea rbx, [rsp + 0x28]
mov rcx, rbx
call fcn.140019a7a
mov rax, qword [rbx]
cmp rax, 2
je 0x1400326d3
test rax, rax
je 0x1400327e4
lea rbx, [rsp + 0x28]
mov r15, qword [rbx + 8]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140019a7a
mov rax, qword [rbx]
cmp rax, 1
je 0x1400326f7
cmp eax, 2
jne 0x140032813
mov r15, qword [rsp + 0x30]
mov r14d, 1
xor ebx, ebx
jmp 0x140032702
mov rbx, qword [rsp + 0x58]
mov r14d, 1
xor ebp, ebp
mov r15, rbx
jmp 0x140032867
movsd xmm6, qword [rsp + 0x30]
mov bl, 1
xor r14d, r14d
inc byte [rdi + 0x30]
mov rcx, rdi
call fcn.140002ddd
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r15
movsd qword [rsp + 0x38], xmm6
mov qword [rsp + 0x40], rax
test bl, bl
jne 0x140032890
mov ebx, 1
test rax, rax
je 0x14003289c
lea rcx, [rsp + 0x40]
call fcn.140009e87
jmp 0x14003289c
mov r14d, 1
xor ebp, ebp
mov r15, rax
jmp 0x140032867
lea rdx, [rsp + 0x28]
mov qword [rdx], 5
jmp 0x140032798
cmp qword [rsp + 0x60], 0
je 0x14003283d
test byte [rsp + 0x4c], 1
jne 0x14003284b
mov bpl, 1
xor r14d, r14d
mov r15, qword [rsp + 0x68]
jmp 0x140032867
lea rdx, [rsp + 0x28]
mov qword [rdx], reloc.WS2_32.dll_setsockopt
mov rcx, rdi
call fcn.1402ddbec
jmp 0x1400324ad
lea r8, [0x1402e5d78]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1402d91c2
mov r15, rax
jmp 0x1400328c8
mov rbx, qword [rsp + 0x30]
jmp 0x1400326e7
movzx eax, al
lea rdx, [rsp + 0x28]
cmp eax, 0x7d
jne 0x140032800
mov qword [rdx], reloc.WS2_32.dll_select
jmp 0x1400328ea
lea rdx, str.struct_Location_with_2_elements
xor ecx, ecx
jmp 0x14003281f
lea rdx, [rsp + 0x28]
mov qword [rdx], 3
jmp 0x1400328ea
mov qword [rdx], reloc.WS2_32.dll_recv
jmp 0x1400328ea
mov r15, qword [rsp + 0x30]
jmp 0x14003285f
lea rdx, str.struct_Location_with_2_elements
mov ecx, 1
call fcn.1402d994a
mov r15, rax
jmp 0x1400326d8
lea rdx, [rsp + 0x28]
mov qword [rdx], 8
jmp 0x1400328ea
lea rcx, [0x1403aab89]
mov edx, 9
jmp 0x140032857
lea rcx, [0x1403aab92]
mov edx, 8
call fcn.1402d98f4
mov r15, rax
mov r14d, 1
xor ebp, ebp
inc byte [rdi + 0x30]
mov rcx, rdi
call fcn.140002d68
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r15
movsd qword [rsp + 0x38], xmm6
mov qword [rsp + 0x40], rax
test bpl, bpl
je 0x14003272a
xor ebx, ebx
test rax, rax
setne bl
cmovne r15, rax
test rbx, rbx
jne 0x1400328c8
mov qword [rsi + 8], r15
movsd qword [rsi + 0x10], xmm6
xor eax, eax
mov qword [rsi], rax
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
mov rdx, r15
call fcn.1402d9180
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x1400328ac
lea rdx, [rsp + 0x28]
mov qword [rdx], 5
mov rcx, rdi
call fcn.1402ddbec
mov rbx, rax
jmp 0x1400326e7
lea rcx, [0x1403aab89]
mov edx, 9
jmp 0x140032914
lea rcx, [0x1403aab92]
mov edx, 8
call fcn.1402d99c1
jmp 0x14003285c