Function at 0x1400c4220
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x14013f2b0]
xor rax, rsp
mov qword [rbp + 0xa0], rax
xor r15d, r15d
lea rsi, [rsp + 0x20]
test rdx, rdx
mov r13, r8
mov rdi, rcx
cmovne rsi, rdx
mov dword [rsi], r15d
test r8, r8
je 0x1400c4270
mov byte [r8], r15b
cmp word [rcx], r15w
jne 0x1400c427d
xor eax, eax
jmp 0x1400c44b6
mov r9d, reloc.SHELL32.dll_SHRestricted
mov word [rbp - 0x30], r15w
lea r8, [rbp - 0x30]
mov ecx, 0x400
lea edx, [r9 - 0x56]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx eax, word [rdi]
mov r14, r15
mov word [rsp + 0x60], r15w
mov rbx, r15
test ax, ax
je 0x1400c44a3
movzx ecx, ax
call fcn.14008db0c
test al, al
je 0x1400c42d7
movzx eax, word [rdi]
lea rbx, [rbx + rbx*4]
lea rbx, [rbx - 0x18]
lea r14, [r14 + r14*4]
add r14, r14
lea rbx, [rax + rbx*2]
jmp 0x1400c42f8
movzx ecx, word [rdi]
cmp cx, word [rbp - 0x30]
jne 0x1400c42e8
mov r14d, 1
jmp 0x1400c42f8
call qword [sym.imp.USER32.dll_IsCharAlphaW]
test eax, eax
jne 0x1400c4306
cmp word [rdi], 0x28
je 0x1400c4306
add rdi, 2
movzx eax, word [rdi]
test ax, ax
jne 0x1400c42b3
jmp 0x1400c4331
mov r8d, 0x32
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.14008df58
mov edx, 0x20
lea rcx, [rsp + 0x60]
call fcn.1400efc50
test rax, rax
je 0x1400c4331
mov word [rax], r15w
test rbx, rbx
je 0x1400c44a3
cmp word [rsp + 0x60], r15w
je 0x1400c4491
mov rax, r15
mov ecx, 0x5e6
mov dword [rsp + rax*4 + 0x48], ecx
inc ecx
inc rax
cmp rax, 4
jl 0x1400c434e
lea rax, str.bkmg
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x28], rax
lea r12, [rsp + 0x48]
lea rax, [0x14011a4a4]
mov qword [rsp + 0x30], rax
lea rax, [0x14011a4a8]
mov qword [rsp + 0x38], rax
lea rax, [0x14011a4ac]
mov qword [rsp + 0x40], rax
mov ecx, dword [r12]
call fcn.140087e6c
mov r8, rdi
xor ecx, ecx
inc r8
cmp word [rax + r8*2], cx
jne 0x1400c43a4
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1400f5d44
test eax, eax
je 0x1400c43d1
inc r15d
add r12, 4
cmp r15d, 4
jb 0x1400c4396
xor r15d, r15d
jmp 0x1400c43f4
mov eax, r15d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + rax*8 + 0x28]
sub rdx, rcx
xor r15d, r15d
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c43e4
movzx ecx, word [rsp + 0x62]
call fcn.140090fe0
cmp eax, 0x42
jne 0x1400c440f
movzx ecx, word [rsp + 0x60]
call fcn.140090fd4
jmp 0x1400c4414
movzx eax, word [rsp + 0x60]
movzx eax, ax
cmp eax, 0x42
je 0x1400c4484
cmp eax, 0x47
je 0x1400c4479
cmp eax, 0x4b
je 0x1400c446e
cmp eax, 0x4d
je 0x1400c4463
cmp eax, 0x62
je 0x1400c4484
cmp eax, 0x67
je 0x1400c4457
cmp eax, 0x6b
je 0x1400c444b
cmp eax, 0x6d
jne 0x1400c4491
mov dword [rsi], 2
shl rbx, 0x14
jmp 0x1400c4491
mov dword [rsi], 1
shl rbx, 0xa
jmp 0x1400c4491
mov dword [rsi], 3
shl rbx, 0x1e
jmp 0x1400c4491
mov dword [rsi], edi
imul rbx, rbx, 0xf4240
jmp 0x1400c4491
mov dword [rsi], edi
imul rbx, rbx, 0x3e8
jmp 0x1400c4491
mov dword [rsi], edi
imul rbx, rbx, 0x3b9aca00
jmp 0x1400c4491
mov dword [rsi], r15d
test r13, r13
je 0x1400c4491
mov byte [r13], 1
test r14, r14
je 0x1400c44b3
mov rax, rbx
cqo
idiv r14
mov rbx, rax
jmp 0x1400c44b3
or rdi, 0xffffffffffffffff
movabs rbx, 0x7fffffff7fffffff
mov dword [rsi], edi
mov rax, rbx
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400eeae0
mov rbx, qword [rsp + 0x208]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret