Function at 0x14008a5a5
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x518
mov r12, rcx
movzx eax, byte [rdx]
cmp rax, 0x14
je 0x14008aad2
cmp eax, 0x15
jne 0x14008ad74
mov qword [rsp + 0x30], r12
mov r12, qword [rdx + 8]
mov r13, qword [rdx + 0x18]
shl r13, 6
add r13, r12
lea rax, [rsp + 0x78]
mov qword [rax], r12
mov qword [rax + 8], r13
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
lea rax, [rsp + 0xc0]
and qword [rax], 0
lea rax, [rsp + 0x108]
and qword [rax - 8], 0
lea rax, [rsp + 0x328]
lea rcx, [rsp + 0xe0]
and qword [rcx], 0
lea rcx, [rsp + 0x98]
and qword [rcx], 0
mov byte [rax + 0xb8], 0xfa
mov eax, 0xc1
lea rdi, [rsp + 0x150]
lea rcx, [rdi + rax]
mov qword [rsp + 0x140], rcx
lea rcx, [rsp + 0x320]
add rax, rcx
mov qword [rsp + 0x148], rax
mov byte [rsp + 0x2f], 0xb3
xor eax, eax
mov qword [rsp + 0x70], rax
mov sil, 0xfa
lea r15, [0x14031b9d0]
lea rbx, [0x14031ba0c]
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x38], 0
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x18]
mov ecx, dword [rdx + 0x18]
shl rcx, 5
add rcx, rax
lea rdx, [rsp + 0x98]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
and qword [rdx + 0x10], 0
lea rdi, [rsp + 0x150]
mov rcx, rdi
call fcn.140067510
cmp byte [rdi], 0
jne case.0x14006c4ff.1112
mov sil, byte [rsp + 0x151]
cmp sil, 0xb3
je 0x14008ae26
lea rdi, [rsp + 0x150]
lea rdx, [rsp + 0x98]
mov rcx, rdi
stc
call fcn.140067a1b
cmp dword [rdi], 0
jne case.0x14006c4ff.1112
cmp dword [rsp + 0x154], 0
je 0x14008afed
lea rdi, [rsp + 0x150]
mov ebp, dword [rdi + 8]
lea rdx, [rsp + 0x98]
mov rcx, rdi
call fcn.140067cca
cmp qword [rdi], 0
je 0x14008ad97
mov rdi, qword [rsp + 0x158]
lea r8, [0x140275278]
lea rax, [rsp + 0x250]
mov rcx, rdx
mov rdx, rax
call fcn.14026d339
mov qword [r12], rax
jmp 0x14008ab78
std
invalid
invalid
mov rax, qword [rsp + 0x158]
movups xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x240], xmm0
test rax, rax
je 0x14008b27c
movaps xmm0, xmmword [rsp + 0x240]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x40], rax
lea rdi, [rsp + 0x150]
lea rdx, [rsp + 0x98]
mov rcx, rdi
call fcn.1400676ce
mov rcx, qword [rdi]
cmp rcx, 2
jne 0x14008ae3b
push rax
mov rdi, qword [rsp + 0x158]
jmp 0x14008b11b
lea rdx, str.struct_SuccessfulPayment_with_7_elements
lea r8, [0x140273eb8]
xor ecx, ecx
jmp 0x14008b28f
mov rax, qword [rsp + 0x158]
movups xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x120], xmm0
test rcx, rcx
je 0x14008b3c2
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x78], rax
lea rdi, [rsp + 0x150]
lea rdx, [rsp + 0x98]
mov rcx, rdi
call fcn.1400675dc
mov r14b, byte [rdi + 0xc0]
mov rdi, qword [rdi]
cmp r14b, 0xfb
je 0x14008b111
lea rbx, [rsp + 0x158]
lea rcx, [rsp + 0x320]
mov r8d, 0xb8
mov rdx, rbx
call fcn.1402698b0
mov eax, dword [rbx + 0xb9]
mov ecx, dword [rbx + 0xbc]
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb7], ecx
cmp r14b, 0xfa
invalid
cli
jne 0x14008b005
lea rdx, str.struct_SuccessfulPayment_with_7_elements
lea r8, [0x140273eb8]
mov ecx, 1
add byte [rax], al
jmp 0x14008b28f
lea rbx, [rsp + 0x258]
lea rdx, [rsp + 0x320]
mov r8d, 0xb8
mov rcx, rbx
call fcn.1402698b0
mov eax, dword [rsp + 0xb4]
mov ecx, dword [rsp + 0xb7]
mov dword [rbx + 0xb9], eax
mov dword [rbx + 0xbc], ecx
mov qword [rbx - 8], rdi
mov byte [rbx + 0xb8], r14b
lea rdx, str.struct_SuccessfulPayment_with_7_elements
lea r8, [0x140273eb8]
mov ecx, 2
call fcn.14026d1b7
mov rdi, rax
invalid
jmp 0x14008ab74
lea rdx, str.struct_SuccessfulPayment_with_7_elements
lea r8, [0x140273eb8]
mov ecx, 3
call fcn.14026d1b7
mov rdi, rax
jmp 0x14008b11b