Function at 0x417be0
Capabilities:
Get geographical location

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movaps xmmword [rsp + 0x250], xmm6
mov rsi, rdx
mov r14d, ecx
xor ebx, ebx
test rsi, rsi
je 0x417c13
mov rcx, rsi
call fcn.00411140
mov rbx, rax
mov rcx, qword [0x00430f80]
call fcn.00423478
mov rbp, qword [0x0042e968]
test rbp, rbp
je 0x417c39
xor edi, edi
lea rax, [0x0042e920]
cmp rbp, rax
jne 0x417c7d
mov ecx, 1
mov edx, 0x48
call fcn.0040cca0
mov qword [0x0042e968], rax
lea rcx, [0x0042e920]
cmp rbp, rcx
sete cl
test rax, rax
je 0x417c66
movzx edi, cl
jmp 0x417c80
mov ecx, 0xe
call sub.KERNEL32_SetLastError
mov rcx, rbx
call fcn.0040ccc0
jmp 0x41824e
mov rax, rbp
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x417c9d
call fcn.0040ccc0
mov rax, qword [0x0042e968]
mov qword [rax + 0x38], 0
test rbx, rbx
je 0x417cce
cmp byte [rbx], 0
je 0x417d60
lea rdx, [0x00425ad3]
mov rcx, rsi
call fcn.004111e0
test rax, rax
je 0x417d9e
mov dword [rbx], 0x554e45
jmp 0x417df0
test edi, edi
jne 0x4180e6
movsx esi, r14w
test sil, 4
je 0x417cf3
mov rcx, qword [0x0042e968]
lea rdx, [0x00425aa0]
call fcn.00418740
test sil, 0x10
je 0x417d0c
mov rcx, qword [0x0042e968]
lea rdx, [0x00425aac]
call fcn.00418740
test sil, 0x20
je 0x417d25
mov rcx, qword [0x0042e968]
lea rdx, [0x00425ab7]
call fcn.00418740
test sil, 1
je 0x417d3e
mov rcx, qword [0x0042e968]
lea rdx, [0x00425abf]
call fcn.00418740
test sil, 2
je 0x41818a
mov rcx, qword [0x0042e968]
lea rdx, [0x00425aca]
call fcn.00418740
jmp 0x41818a
call sub.KERNEL32_GetUserDefaultLCID
mov esi, eax
lea rbp, [rsp + 0x49]
mov ecx, esi
mov edx, 0xb
mov r8, rbp
mov r9d, 7
call sub.KERNEL32_GetLocaleInfoA
mov rcx, rbp
call fcn.0041b300
mov rcx, qword [0x0042e968]
mov dword [rcx], eax
mov dword [rcx + 8], 0
jmp 0x418137
lea rdx, [0x00425ad9]
mov rcx, rsi
call fcn.004111e0
test rax, rax
je 0x417dba
mov dword [rbx], 0x474e45
jmp 0x417df0
lea rdx, [0x00425adf]
mov rcx, rsi
call fcn.004111e0
test rax, rax
je 0x417dd6
mov dword [rbx], 0x415246
jmp 0x417df0
lea rdx, [0x00425ae5]
mov rcx, rsi
call fcn.004111e0
test rax, rax
je 0x417e0e
mov dword [rbx], 0x554544
mov rcx, rsi
mov edx, 0x2e
call fcn.00411690
test rax, rax
je 0x417e0e
lea rcx, [rbx + 3]
mov rdx, rax
call fcn.004115d0
lea rdx, [0x00425aeb]
mov rcx, rsi
call fcn.00411610
test eax, eax
je 0x4180e6
cmp byte [rbx], 0x4c
jne 0x418110
cmp byte [rbx + 1], 0x43
jne 0x418110
cmp byte [rbx + 2], 0x5f
jne 0x418110
mov rcx, rbx
call fcn.0040ccc0
mov rcx, qword [0x00430f80]
call fcn.004235a8
mov rax, qword [0x0042e968]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x00430f80]
call fcn.00423478
xor ebx, ebx
xor eax, eax
xorps xmm6, xmm6
movaps xmmword [rsp + 0x240], xmm6
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
lea r12, [rsp + 0x150]
lea r13, [0x00425abf]
lea r14, [0x00425aa0]
jmp 0x417f15
inc rsi
xor eax, eax
mov cl, byte [rsi]
cmp cl, 0xa
je 0x418040
test cl, cl
je 0x4182b1
cmp cl, 0x3d
jne 0x4180d2
mov rcx, r12
lea rdx, [0x00425aca]
call fcn.00411610
mov edi, ebx
or edi, 2
test eax, eax
cmovne di, bx
mov rcx, r12
lea rdx, [0x00425ab7]
call fcn.00411610
mov r15d, eax
mov ebx, edi
or ebx, 0x20
mov rcx, r12
lea rdx, [0x00425aac]
call fcn.00411610
test r15d, r15d
cmovne bx, di
mov ebp, ebx
or ebp, 0x10
test eax, eax
cmovne bp, bx
mov edi, ebp
or edi, 4
mov rcx, r12
mov rdx, r14
call fcn.00411610
mov ebx, eax
mov rcx, r12
mov rdx, r13
call fcn.00411610
test ebx, ebx
movaps xmmword [rsp + 0x240], xmm6
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
cmovne di, bp
test eax, eax
sete al
movzx ebx, al
or ebx, edi
jmp 0x417f10
lea rcx, [rsp + 0x50]
mov rdx, r12
call fcn.004115d0
movaps xmmword [rsp + 0x240], xmm6
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
jmp 0x417f10
movsxd rax, eax
mov byte [rsp + rax + 0x150], cl
inc eax
inc rsi
jmp 0x417f15
mov rcx, qword [0x0042e968]
call fcn.00418340
mov rcx, qword [0x0042e968]
call fcn.0040ccc0
lea rcx, [0x0042e920]
mov qword [0x0042e968], rcx
xor esi, esi
jmp 0x418137
mov rcx, qword [0x0042e968]
mov dword [rcx + 8], 0
mov rdx, rbx
call fcn.004188c0
mov esi, eax
test esi, esi
je 0x41827b
mov rcx, qword [0x0042e968]
mov dword [rcx + 4], esi
mov rcx, rbx
call fcn.0040ccc0
mov rax, qword [0x0042e968]
mov ecx, dword [rax + 4]
mov edx, 1
call sub.KERNEL32_IsValidLocale
mov rcx, qword [0x0042e968]
test eax, eax
jne 0x41816b
cmp dword [rcx + 8], 0
je 0x418213
mov ecx, dword [rcx + 4]
call sub.KERNEL32_SetThreadLocale
mov rcx, qword [0x0042e968]
cmp dword [rcx + 8], 0
je 0x4181ab
mov dword [0x0042e700], 1
call fcn.0041a320
mov rax, qword [0x0042e968]
mov rsi, qword [rax + 0x38]
mov rcx, qword [0x00430f80]
call fcn.004235a8
jmp 0x41825c
call fcn.00418340
mov rcx, qword [0x0042e968]
movsx edx, r14w
call fcn.00418b50
test eax, eax
je 0x41821a
mov rax, qword [0x0042e968]
mov ecx, dword [rax]
call fcn.0041cde0
test eax, eax
jne 0x4181f9
mov rax, qword [0x0042e968]
mov ecx, dword [rax]
lea rdx, [rsp + 0x30]
call sub.KERNEL32_GetCPInfo
test eax, eax
je 0x4181f9
mov eax, dword [rsp + 0x30]
mov dword [0x0042e700], eax
jmp 0x41818a
mov rcx, qword [0x00430f80]
call fcn.004235a8
mov ecx, 0x20000106
call sub.KERNEL32_SetLastError
xor esi, esi
jmp 0x41825c
mov ecx, 0x20000103
jmp 0x41821f
mov ecx, 0x20000102
call sub.KERNEL32_SetLastError
test edi, edi
je 0x41824e
mov rcx, qword [0x0042e968]
call fcn.00418340
mov rcx, qword [0x0042e968]
call fcn.0040ccc0
lea rax, [0x0042e920]
mov qword [0x0042e968], rax
mov rcx, qword [0x00430f80]
call fcn.004235a8
xor esi, esi
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test edi, edi
je 0x418299
mov rcx, qword [0x0042e968]
call fcn.0040ccc0
lea rax, [0x0042e920]
mov qword [0x0042e968], rax
mov rcx, qword [0x00430f80]
call fcn.004235a8
mov rcx, rbx
call fcn.0040ccc0
xor esi, esi
jmp 0x41825c
lea rdx, [rsp + 0x50]
mov rsi, qword [rsp + 0x28]
mov rcx, rsi
call fcn.004188c0
mov dword [rsi + 4], eax
mov ecx, eax
mov edx, 1
call sub.KERNEL32_IsValidLocale
test eax, eax
jne 0x4182dc
cmp dword [rsi + 8], 0
je 0x41831d
mov rax, qword [0x0042e968]
mov ecx, dword [rax + 4]
call sub.KERNEL32_SetThreadLocale
mov rcx, qword [0x0042e968]
call fcn.00418340
movsx edx, bx
mov rcx, qword [0x0042e968]
call fcn.00418b50
test eax, eax
jne 0x41818a
mov ecx, 0x20000102
call sub.KERNEL32_SetLastError
jmp 0x41824e
mov ecx, 0x20000103
call sub.KERNEL32_SetLastError
jmp 0x41824e