Function at 0x1400338c0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r14
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov r12, rcx
mov ebx, edx
mov rcx, qword [rcx]
movzx r14d, r9b
mov rdi, r8
call fcn.140033ca0
mov rsi, qword [r12]
movabs rax, 0x6666666666666667
mov r10, qword [rsi + 0x38]
sub r10, qword [rsi + 0x30]
imul r10
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp ebx, edx
jb 0x140033933
xor edx, edx
mov rcx, rdi
call fcn.140030e00
xor al, al
jmp 0x140033c7e
xor edx, edx
mov qword [rsp + 0x250], r15
mov r8d, 0x200
lea rcx, [rsp + 0x30]
call fcn.14001e060
lea r15, [rbx + rbx*4]
test r14b, r14b
jne 0x140033a0b
mov rax, qword [rsi + 0x30]
lea r8, [rsp + 0x30]
mov r9d, 0x100
mov edx, 4
mov ecx, dword [rax + r15*8]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rax, [rsp + 0x30]
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140033984
mov rcx, qword [rdi]
test ebx, ebx
jg 0x1400339ad
test rcx, rcx
je 0x14003399f
call fcn.140030ac0
xor esi, esi
mov qword [rdi], rsi
mov qword [rdi + 8], rsi
jmp 0x140033c6f
lea rax, [rsp + 0x30]
cmp rax, rcx
je 0x140033ab5
lea edx, [rbx + 1]
add rdx, rdx
call fcn.140030c20
mov r9, rax
test rax, rax
je 0x140033c6f
xor esi, esi
cmp qword [rdi], rsi
jne 0x1400339e0
mov ecx, dword [rdi + 8]
mov word [rax + rcx*2], si
lea eax, [rbx + rbx]
mov qword [rdi], r9
movsxd r8, eax
lea rdx, [rsp + 0x30]
mov rcx, r9
mov dword [rdi + 0xc], ebx
mov dword [rdi + 8], ebx
call fcn.14001d9b0
mov ecx, dword [rdi + 8]
mov rax, qword [rdi]
mov word [rax + rcx*2], si
jmp 0x140033c6f
call fcn.140037090
mov rcx, qword [r12]
mov r9d, 0x100
lea r8, [rsp + 0x30]
mov r10, qword [rcx + 0x30]
mov ecx, dword [r10 + r15*8]
test al, al
je 0x140033acf
mov edx, 0x73
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rax, [rsp + 0x30]
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140033a46
mov rcx, qword [rdi]
test ebx, ebx
jle 0x140033995
lea rax, [rsp + 0x30]
cmp rax, rcx
je 0x140033ab5
lea edx, [rbx + 1]
add rdx, rdx
call fcn.140030c20
mov r9, rax
test rax, rax
je 0x140033c6f
xor esi, esi
cmp qword [rdi], rsi
jne 0x140033a8a
mov ecx, dword [rdi + 8]
mov word [rax + rcx*2], si
lea eax, [rbx + rbx]
mov qword [rdi], r9
movsxd r8, eax
lea rdx, [rsp + 0x30]
mov rcx, r9
mov dword [rdi + 0xc], ebx
mov dword [rdi + 8], ebx
call fcn.14001d9b0
mov ecx, dword [rdi + 8]
mov rax, qword [rdi]
mov word [rax + rcx*2], si
jmp 0x140033c6f
cmp ebx, dword [rdi + 8]
jae 0x140033c6f
movsxd rax, ebx
xor esi, esi
mov word [rcx + rax*2], si
mov dword [rdi + 8], ebx
jmp 0x140033c6f
mov edx, 4
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov rbx, 0xffffffffffffffff
lea rax, [rsp + 0x30]
mov r14, rbx
nop dword [rax]
inc r14
cmp word [rax + r14*2], 0
jne 0x140033af0
mov rcx, qword [rdi]
xor esi, esi
test r14d, r14d
jg 0x140033b18
test rcx, rcx
je 0x140033b0f
call fcn.140030ac0
mov qword [rdi], rsi
mov qword [rdi + 8], rsi
jmp 0x140033b7e
lea rax, [rsp + 0x30]
cmp rax, rcx
je 0x140033b6d
lea edx, [r14 + 1]
add rdx, rdx
call fcn.140030c20
mov r9, rax
test rax, rax
je 0x140033b7e
cmp qword [rdi], rsi
jne 0x140033b42
mov ecx, dword [rdi + 8]
mov word [rax + rcx*2], si
lea eax, [r14 + r14]
mov qword [rdi], r9
movsxd r8, eax
lea rdx, [rsp + 0x30]
mov rcx, r9
mov dword [rdi + 0xc], r14d
mov dword [rdi + 8], r14d
call fcn.14001d9b0
mov ecx, dword [rdi + 8]
mov rax, qword [rdi]
mov word [rax + rcx*2], si
jmp 0x140033b7e
cmp r14d, dword [rdi + 8]
jae 0x140033b7e
movsxd rax, r14d
mov word [rcx + rax*2], si
mov dword [rdi + 8], r14d
mov rax, qword [r12]
lea r8, [rsp + 0x30]
mov word [rsp + 0x30], si
mov r9d, 0x100
mov edx, 8
mov rcx, qword [rax + 0x30]
mov ecx, dword [rcx + r15*8]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp word [rsp + 0x30], si
je 0x140033c6f
lea rax, [0x1400569b4]
mov dword [rsp + 0x28], 2
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140033730
lea rax, [rsp + 0x30]
inc rbx
cmp word [rax + rbx*2], si
jne 0x140033bd6
test ebx, ebx
je 0x140033c4e
mov eax, dword [rdi + 0xc]
mov ecx, dword [rdi + 8]
sub eax, ecx
cmp ebx, eax
jbe 0x140033c23
lea r14d, [rcx + 0x20]
mov rcx, qword [rdi]
add r14d, ebx
and r14d, 0xffffffe0
mov edx, r14d
add rdx, rdx
call fcn.140030c20
test rax, rax
je 0x140033c4e
cmp qword [rdi], rsi
jne 0x140033c19
mov ecx, dword [rdi + 8]
mov word [rax + rcx*2], si
mov qword [rdi], rax
lea eax, [r14 - 1]
mov dword [rdi + 0xc], eax
test ebx, ebx
jle 0x140033c41
mov ecx, dword [rdi + 8]
lea rdx, [rsp + 0x30]
mov rax, qword [rdi]
movsxd r8, ebx
add r8, r8
lea rcx, [rax + rcx*2]
call fcn.14001d9b0
add dword [rdi + 8], ebx
mov ecx, dword [rdi + 8]
mov rax, qword [rdi]
mov word [rax + rcx*2], si
lea rax, [0x1400569bc]
mov dword [rsp + 0x28], 1
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140033730
cmp dword [rdi + 8], 0
mov r15, qword [rsp + 0x250]
setne al
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rbp
ret