Function at 0x41b7c0
Capabilities:
Get geographical location

Disassembly:
lea r12, [rsp - 0x120]
cmp r12, qword [r14 + 0x10]
jbe 0x41c4c6
sub rsp, 0x1a0
mov qword [rsp + 0x198], rbp
lea rbp, [rsp + 0x198]
mov eax, 2
lea rcx, [0x0119b4a0]
xchg dword [rcx], eax
mov eax, dword [0x0119b4a0]
nop dword [rax]
cmp eax, 1
jne 0x41b80c
mov eax, 1
jmp 0x41b812
cmp eax, 2
sete al
movsd qword [rsp + 0xa0], xmm0
mov byte [0x0119ba74], al
test al, al
je 0x41b82c
mov eax, 1
jmp 0x41b833
movzx eax, byte [0x0119ba75]
mov byte [0x0119ba70], al
mov rax, qword [0x0119c2f0]
mov qword [0x0119c848], rax
nop
call fcn.004674a0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [r14 + 0x30]
nop
mov rcx, qword [rsp]
mov qword [rsp + 0x30], rcx
inc dword [rax + 0xd8]
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0x170], rax
mov rdx, r14
test byte [rdx], al
mov qword [rax + 0xd0], 5
lea rdi, [rax + 0xc8]
mov qword [rsp + 0x190], rdi
cmp dword [0x0119ba70], 0
jne 0x41b8b9
lea rdx, [0x00ac80d4]
mov qword [rax + 0xc8], rdx
jmp 0x41b8c5
lea rdx, [0x00ac80d4]
call fcn.00465820
mov qword [rsp + 0x180], r14
mov rdx, qword [r14 + 0x30]
mov byte [rdx + 0xf9], 2
mov rdx, qword [r14 + 0x30]
mov rax, qword [rdx + 0x90]
mov qword [rsp + 0x178], rax
mov ebx, 2
mov ecx, 4
call fcn.0043be20
mov rdx, qword [rsp + 0x178]
mov byte [rdx + 0xb0], 6
movups xmmword [rsp + 0xa8], xmm15
lea rsi, [0x0041c4e0]
mov qword [rsp + 0xa8], rsi
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rsi
lea rsi, [rsp + 0xa8]
mov qword [rsp], rsi
call fcn.00463340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
lea rdx, [0x00c56798]
mov qword [rsp], rdx
nop
call fcn.00463340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x180]
mov rdx, qword [rdx + 0x30]
mov byte [rdx + 0xf9], 0
mov rax, qword [rsp + 0x178]
mov ebx, 4
mov ecx, 2
nop
call fcn.0043be20
cmp byte [0x0114d490], 0
je 0x41b9c7
nop
mov eax, 8
mov rbx, 0xffffffffffffffff
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004557c0
mov rcx, qword [rsp + 0x170]
mov qword [rcx + 0xd0], 0
cmp dword [0x0119ba70], 0
jne 0x41b9f0
mov qword [rcx + 0xc8], 0
jmp 0x41b9ff
mov rdi, qword [rsp + 0x190]
xor edx, edx
call fcn.00465820
cmp dword [0x0119b4a0], 0
jne 0x41c4af
mov rcx, qword [0x0119c2e0]
mov qword [0x0119c2e8], rcx
mov rcx, qword [0x011a00f8]
mov qword [0x011a1800], rcx
lea rax, [0x0119c2c0]
movsd xmm0, qword [rsp + 0xa0]
call fcn.00421a00
nop
nop
call fcn.004674a0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rcx, qword [rsp]
mov qword [rsp + 0x28], rcx
call fcn.00467500
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rcx, qword [rsp]
movsxd rdx, dword [rsp + 8]
mov rbx, qword [0x0119c838]
mov rsi, qword [rsp + 0x28]
mov rdi, rsi
sub rsi, rbx
add qword [0x0119c830], rsi
mov qword [0x0119c828], rdi
imul rcx, rcx, 0x3b9aca00
add rcx, rdx
mov rdx, qword [0x0119c838]
mov rbx, rdi
sub rdi, rdx
nop dword [rax + rax]
test rdi, rdi
jge 0x41bae0
mov edx, 1
lea rsi, [0x011a3c78]
lock xadd qword [rsi], rdx
jmp 0x41bb81
cmp rdi, 0x10
jl 0x41bb4e
bsr rdx, rdi
mov rsi, 0xffffffffffffffff
cmove rdx, rsi
lea rsi, [rdx - 3]
mov r8, rsi
shl rsi, 4
cmp rsi, 0x2d0
jb 0x41bb16
mov r8d, 0x2c
mov edx, 0xf
jmp 0x41bb54
add rdx, 0xfffffffffffffffc
cmp rdx, 0x40
sbb r9, r9
not r9
or rdx, r9
mov rax, rcx
mov rcx, rdx
sar rdi, cl
mov rdx, rdi
sar rdi, 0x3f
shr rdi, 0x3c
add rdi, rdx
sar rdi, 4
shl rdi, 4
sub rdx, rdi
mov rcx, rax
jmp 0x41bb54
xor r8d, r8d
mov rdx, rdi
shl r8, 4
lea rax, [r8 + rdx]
nop dword [rax]
cmp rax, 0x2d0
jae 0x41c4a5
lea rdx, [0x011a25f8]
lea rdx, [rdx + rax*8]
mov esi, 1
lock xadd qword [rdx], rsi
lea rdx, [0x011a0168]
mov rsi, rcx
xchg qword [rdx], rcx
lea rcx, [0x011a17f8]
mov rdx, rbx
xchg qword [rcx], rbx
movzx ecx, byte [0x011a1178]
mov rbx, qword [0x0119c830]
lea rdi, [0x011a0178]
mov qword [rdi + rcx*8], rbx
movzx ecx, byte [0x011a1178]
lea rbx, [0x011a0978]
mov qword [rbx + rcx*8], rsi
mov rcx, qword [0x0119c830]
add qword [0x011a0170], rcx
mov rcx, qword [0x0119c818]
sub rcx, qword [0x0119c810]
movsxd rbx, dword [0x0119c804]
imul rcx, rbx
mov qword [rsp + 0x38], rcx
mov rsi, qword [0x0119c320]
add rsi, qword [0x0119c318]
add rsi, qword [0x0119c328]
mov rdi, qword [0x0119c828]
sub rdi, qword [0x0119c820]
imul rdi, rbx
mov qword [rsp + 0x58], rdi
lea rbx, [rsi + rcx]
add rbx, rdi
add rbx, qword [0x0119c7c8]
mov qword [0x0119c7c8], rbx
mov rsi, qword [0x01147f08]
sub rdx, rsi
movsxd rsi, dword [0x0119b4a4]
imul rdx, rsi
add rdx, qword [0x01147f10]
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
divsd xmm0, xmm1
movsd qword [0x011a1180], xmm0
mov qword [0x01145474], 0
cmp byte [0x0119c7c0], 0
je 0x41bc85
inc dword [0x011a117c]
nop
nop
lea rax, [0x0119c7f0]
call fcn.0040c5e0
inc dword [0x011a1178]
lea rax, [0x0119c7f8]
call fcn.0043ffa0
nop
nop
lea rax, [0x0119c7f0]
call fcn.0040c800
call fcn.0042d980
mov ecx, dword [0x0116d688]
mov dword [rsp + 0x40], ecx
mov byte [rsp + 0x44], 0
nop
mov ecx, 1
lea rdx, [0x0116d690]
lock xadd dword [rdx], ecx
mov byte [rsp + 0x44], 1
lea rcx, [0x00c567a0]
mov qword [rsp], rcx
call fcn.00463340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
call fcn.0042da00
call fcn.004264a0
lea rcx, [0x00c56768]
mov qword [rsp], rcx
call fcn.00463340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
lea rcx, [0x00c567b0]
mov qword [rsp], rcx
call fcn.00463340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
nop
cmp byte [rsp + 0x44], 0
je 0x41be8a
mov byte [rsp + 0x44], 0
mov edx, 0xffffffff
lea rsi, [0x0116d690]
lock xadd dword [rsi], edx
dec edx
test edx, edx
jne 0x41bd87
mov edx, dword [0x0116d68c]
test edx, edx
setne dl
jmp 0x41bd89
xor edx, edx
test dl, dl
je 0x41be8a
nop
cmp dword [0x0119bd10], 0
jle 0x41be8a
mov rax, qword [0x0119c2f0]
mov qword [rsp + 0x98], rax
mov rcx, qword [0x0116d6d0]
mov qword [rsp + 0x90], rcx
mov rdx, qword [0x0116d6c0]
mov qword [rsp + 0x88], rdx
movsd xmm0, qword [0x0116d6d8]
movsd qword [rsp + 0xa0], xmm0
nop dword [rax]
call fcn.004392e0
lea rax, [0x00adc2c9]
mov ebx, 0x1f
call fcn.00439be0
mov rax, qword [rsp + 0x98]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00acbf71]
mov ebx, 0xe
call fcn.00439be0
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
sub rax, rcx
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ad37d2]
mov ebx, 0x17
call fcn.00439be0
mov rax, qword [rsp + 0x88]
call fcn.004398e0
lea rax, [0x00ac9939]
mov ebx, 0xa
nop
call fcn.00439be0
movsd xmm0, qword [rsp + 0xa0]
call fcn.004395e0
lea rax, [0x00aca915]
mov ebx, 0xc
nop
call fcn.00439be0
call fcn.00439360
cmp dword [0x0119bd1c], 0
jle 0x41bef2
movsd xmm0, qword [0x00df3410]
mulsd xmm0, qword [0x011a1180]
movsd qword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb8], 0
lea rax, [rsp + 0xc0]
movups xmmword [rax], xmm15
call fcn.004392e0
mov rax, qword [0x0119c810]
sub rax, qword [0x0119b830]
mov rcx, rax
movabs rax, 0x8637bd05af6c69b6
mul rcx
shr rdx, 0x13
mov eax, 0x17
jmp 0x41bf58
lea rax, [0x009340ec]
xor ebx, ebx
xor ecx, ecx
nop dword [rax]
call fcn.00449740
nop
lea rax, [0x009340e4]
xor ebx, ebx
xor ecx, ecx
call fcn.00449740
nop
mov rdx, qword [rsp + 0x170]
mov esi, dword [rdx + 0xd8]
lea edi, [rsi - 1]
mov dword [rdx + 0xd8], edi
cmp esi, 1
jne 0x41bf45
cmp byte [r14 + 0xb1], 0
je 0x41bf45
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rbp, qword [rsp + 0x198]
add rsp, 0x1a0
ret
mov rax, rsi
cmp rdx, 0xa
jae 0x41bf66
nop
cmp rax, 0x14
jl 0x41bfb5
mov rcx, rax
movabs rax, 0xcccccccccccccccd
mov rbx, rdx
mul rdx
shr rdx, 3
lea rsi, [rdx + rdx*4]
shl rsi, 1
sub rbx, rsi
cmp rcx, 0x18
jae 0x41c498
lea rsi, [rbx + 0x30]
mov byte [rsp + rcx + 0xb8], sil
lea rsi, [rcx - 1]
cmp rcx, 0x15
jne 0x41bf55
mov byte [rsp + rcx + 0xb7], 0x2e
lea rsi, [rcx - 2]
jmp 0x41bf55
cmp rax, 0x18
jae 0x41c48e
add rdx, 0x30
mov byte [rsp + rax + 0xb8], dl
mov edx, dword [0x011a1178]
mov qword [rsp + 0x98], rdx
lea rcx, [rax - 0x18]
mov rsi, rcx
sar rcx, 0x3f
and rax, rcx
lea rbx, [rsp + rax + 0xb8]
neg rsi
lea rax, [rsp + 0x128]
mov rcx, rsi
nop dword [rax]
call fcn.0044eea0
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x80], rbx
call fcn.004392e0
lea rax, [0x00ac7a65]
mov ebx, 3
call fcn.00439be0
mov rax, qword [rsp + 0x98]
call fcn.004398e0
lea rax, [0x00ac7779]
mov ebx, 2
call fcn.00439be0
mov rax, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x80]
call fcn.00439be0
lea rax, [0x00ac786f]
mov ebx, 2
call fcn.00439be0
movsd xmm0, qword [rsp + 0xa0]
cvttsd2si rax, xmm0
nop dword [rax]
call fcn.004399e0
lea rax, [0x00ac78a6]
mov ebx, 3
call fcn.00439be0
call fcn.00439360
mov rdx, qword [0x0119c810]
mov qword [rsp + 0xd0], 0
lea rsi, [rsp + 0xd8]
movups xmmword [rsi], xmm15
mov rsi, qword [0x0119c818]
mov qword [rsp + 0xd0], rsi
mov rsi, qword [0x0119c820]
mov qword [rsp + 0xd8], rsi
mov rsi, qword [0x0119c828]
mov qword [rsp + 0xe0], rsi
xor eax, eax
jmp 0x41c158
sub rdi, rdx
lea rax, [rsp + 0xb8]
mov ebx, 0x18
mov rcx, rbx
nop
call fcn.0041d4c0
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x108]
call fcn.0044eea0
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x80], rbx
call fcn.004392e0
mov rax, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x80]
nop dword [rax]
call fcn.00439be0
call fcn.00439360
mov rdx, qword [rsp + 0x60]
lea rax, [rdx + 1]
mov rdx, qword [rsp + 0x48]
cmp rax, 3
jge 0x41c1aa
mov qword [rsp + 0x60], rax
mov rdi, qword [rsp + rax*8 + 0xd0]
mov qword [rsp + 0x48], rdi
test rax, rax
je 0x41c0eb
mov qword [rsp + 0x78], rdx
nop
call fcn.004392e0
lea rax, [0x00ac773e]
mov ebx, 1
call fcn.00439be0
call fcn.00439360
mov rdx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
jmp 0x41c0eb
call fcn.004392e0
lea rax, [0x00aca163]
mov ebx, 0xb
nop dword [rax + rax]
call fcn.00439be0
call fcn.00439360
mov qword [rsp + 0x148], 0
lea rax, [rsp + 0x150]
movups xmmword [rax], xmm15
lea rax, [rsp + 0x160]
movups xmmword [rax], xmm15
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x148], rax
mov rax, qword [0x0119c318]
mov qword [rsp + 0x150], rax
mov rax, qword [0x0119c328]
add rax, qword [0x0119c320]
mov qword [rsp + 0x158], rax
mov rax, qword [0x0119c330]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x168], rax
xor eax, eax
nop
jmp 0x41c2a2
lea rax, [rsp + 0xb8]
mov ebx, 0x18
mov rcx, rbx
call fcn.0041d4c0
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0xe8]
call fcn.0044eea0
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x80], rbx
call fcn.004392e0
mov rax, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x80]
call fcn.00439be0
call fcn.00439360
mov rdx, qword [rsp + 0x68]
lea rax, [rdx + 1]
cmp rax, 5
jge 0x41c32a
mov qword [rsp + 0x68], rax
mov rdi, qword [rsp + rax*8 + 0x148]
mov qword [rsp + 0x50], rdi
nop
cmp rax, 2
je 0x41c2cc
cmp rax, 3
jne 0x41c2f4
call fcn.004392e0
lea rax, [0x00ac7741]
mov ebx, 1
nop dword [rax]
call fcn.00439be0
call fcn.00439360
mov rdi, qword [rsp + 0x50]
jmp 0x41c242
test rax, rax
je 0x41c242
nop dword [rax]
call fcn.004392e0
lea rax, [0x00ac773e]
mov ebx, 1
call fcn.00439be0
call fcn.00439360
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x50]
jmp 0x41c242
mov rax, qword [0x0119c840]
mov qword [rsp + 0x98], rax
mov rcx, qword [0x0119c848]
mov qword [rsp + 0x90], rcx
mov rdx, qword [0x0119c850]
mov qword [rsp + 0x88], rdx
mov rbx, qword [0x0119c858]
mov qword [rsp + 0x70], rbx
movsxd rsi, dword [0x0119c808]
mov qword [rsp + 0x78], rsi
call fcn.004392e0
lea rax, [0x00ac92d7]
mov ebx, 9
call fcn.00439be0
mov rax, qword [rsp + 0x98]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ac7799]
mov ebx, 2
call fcn.00439be0
mov rax, qword [rsp + 0x90]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ac7799]
mov ebx, 2
call fcn.00439be0
mov rax, qword [rsp + 0x88]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ac7e77]
mov ebx, 5
call fcn.00439be0
mov rax, qword [rsp + 0x70]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ac9907]
mov ebx, 0xa
call fcn.00439be0
mov rax, qword [rsp + 0x78]
call fcn.004399e0
lea rax, [0x00ac777b]
mov ebx, 2
call fcn.00439be0
call fcn.00439360
cmp byte [0x0119c7c0], 0
je 0x41c44e
call fcn.004392e0
lea rax, [0x00ac927d]
mov ebx, 9
call fcn.00439be0
call fcn.00439360
call fcn.004392e0
call fcn.00439540
call fcn.00439360
mov rax, qword [r14 + 0x30]
nop
movzx ecx, byte [rax + 0xe7]
lea edx, [rcx - 1]
mov byte [rax + 0xe7], dl
cmp cl, 1
jne 0x41bef2
nop
nop
lea rax, [0x0119b758]
call fcn.0040c800
jmp 0x41bef2
mov ecx, 0x18
call fcn.00465ba0
mov rax, rcx
mov ecx, 0x18
call fcn.00465ba0
mov ecx, 0x2d0
call fcn.00465bc0
lea rax, [0x00ada18d]
mov ebx, 0x1d
nop dword [rax + rax]
call fcn.00437b60
nop
movsd qword [rsp + 8], xmm0
call fcn.00463480
movsd xmm0, qword [rsp + 8]
jmp fcn.0041b7c0