Function at 0x1404d37e9
Capabilities:
Get geographical location

Disassembly:
push rbp
push rbx
add bpl, dil
bsf eax, esp
bswap eax
push rsi
cdqe
ror bpl, cl
push rdi
movsx di, r15b
adc bp, r11w
push r12
push r14
shrd r14w, dx, 0xd9
sar r14b, 0x8c
push r15
shl al, cl
mov rbp, rsp
sub rsp, 0x40
bsr r15d, ecx
bt edi, 0xc2
mov rax, qword [0x1400b7288]
bts di, r15w
sbb rdi, 0x21ff499f
xor rax, rsp
bswap r14w
movsxd r15, r12d
mov qword [rbp - 0x10], rax
mov rdi, r8
mov r15w, r12w
mov r15, rdx
jmp 0x1404d3859
mov r14, rcx
call fcn.1404c6b08
mov rsi, rax
jmp 0x1404d3869
xor eax, eax
jmp 0x1404d3870
mov qword [rbp - 0x20], rax
jmp 0x1404d3879
mov dword [rbp - 0x18], eax
jmp 0x1404d3881
call fcn.1404c6b08
lea rcx, [rbp - 0x20]
adc bx, bx
xor r12d, r12d
lea rbx, [rsi + 0xa0]
clc
test r8w, 0x12db
cmp bl, r14b
mov qword [rax + 0x3a0], rcx
lea rax, [r14 + 0x80]
mov qword [rsi + 0x98], r14
clc
test r11b, r10b
jmp 0x1404d38bf
mov qword [rbx], rax
cmp r14w, 0x5872
test rax, rax
je 0x1404d3903
cmp word [rax], r12w
jmp 0x1404d38da
je 0x1404d3903
mov edx, dword [0x1400c6a60]
xchg ecx, r8d
lea rcx, [0x1400c68f0]
dec edx
mov r8w, bx
mov r8, rbx
jmp 0x1404d38fe
call fcn.1404d3ce1
mov dword [rbp - 0x20], r12d
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x1404d39e8
cmp word [rax], r12w
jmp 0x1404d3920
je 0x1404d39e8
mov rax, qword [rbx]
cmc
clc
test rax, rax
jmp 0x1404d3933
je 0x1404d395b
cmp word [rax], r12w
jmp 0x1404d3942
je 0x1404d395b
lea rcx, [rbp - 0x20]
jmp 0x1404d3951
call fcn.1404d3e25
jmp 0x1404d3969
lea rcx, [rbp - 0x20]
jmp 0x1404d3964
call fcn.1404d449f
cmp dword [rbp - 0x20], r12d
jmp 0x1404d3972
jne 0x1404d3ab1
mov edx, dword [0x1400c68e0]
mov r8d, r13d
lea r8, [rsi + 0x98]
xchg ch, cl
movzx rcx, r15w
inc cl
dec edx
lea rcx, [0x1400c64d0]
call fcn.1404d3ce1
test al, al
jmp 0x1404d39a5
je 0x1404d3aa2
mov rax, qword [rbx]
cmp r10w, 0x31bd
test rax, rax
je 0x1404d39da
cmp word [rax], r12w
je 0x1404d39da
lea rcx, [rbp - 0x20]
jmp 0x1404d39d0
call fcn.1404d3e25
jmp 0x1404d3aa2
lea rcx, [rbp - 0x20]
call fcn.1404d449f
jmp 0x1404d3aa2
mov rax, qword [rbx]
test rax, rax
jmp 0x1404d39f3
je 0x1404d3a8b
cmp word [rax], r12w
je 0x1404d3a8b
call fcn.1404c6b08
mov rdx, rax
or rcx, 0xffffffffffffffff
jmp 0x1404d3a14
mov rax, qword [rax + 0xa0]
jmp 0x1404d3a20
inc rcx
cmp word [rax + rcx*2], r12w
jmp 0x1404d3a2d
jne 0x1404d3a20
cmp rcx, 3
bswap rax
movsx ecx, bx
mov eax, r12d
xchg rcx, rcx
mov cl, 0xc9
cmovae cx, cx
lea rcx, [0x1400ac1c0]
xchg al, al
sete al
jmp 0x1404d3a5a
mov dword [rdx + 0xb4], eax
movsx dx, r13b
bswap dx
mov edx, 1
jmp 0x1404d3a72
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
test byte [rbp - 0x20], 4
jne 0x1404d3aa2
mov dword [rbp - 0x20], r12d
jmp 0x1404d3aa2
mov dword [rbp - 0x20], 0x104
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [rbp - 0x18], eax
test sil, spl
mov dword [rbp - 0x1c], eax
cmc
cmp dword [rbp - 0x20], r12d
jmp 0x1404d3aab
je 0x1404d3c7f
lea rax, [r14 + 0x100]
not dx
neg r14
cwd
lea rdx, [rbp - 0x20]
jmp 0x1404d3ac9
sbb rcx, rcx
cmc
jmp 0x1404d3ad2
and rcx, rax
jmp 0x1404d3ada
call fcn.1404d49f9
mov ebx, eax
clc
test r11w, 0x7684
cmp di, r12w
test eax, eax
jmp 0x1404d3af3
je 0x1404d3c7f
movzx ecx, bx
jmp 0x1404d3b01
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
je 0x1404d3c7f
mov ecx, dword [rbp - 0x1c]
mov edx, 1
jmp 0x1404d3b1c
call qword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
jmp 0x1404d3b29
je 0x1404d3c7f
test r15, r15
jmp 0x1404d3b37
je 0x1404d3b45
mov dword [r15], ebx
bts rcx, r11
cdq
mov ecx, dword [rbp - 0x1c]
shl r8b, cl
and dl, r13b
movsx r8d, sp
lea rdx, [rsi + 0x2f0]
xchg rsi, rsi
xor r8b, r14b
and r8d, 0x5eb97fd3
xor r9d, r9d
movzx si, cl
jmp 0x1404d3b72
lea esi, [r9 + 0x55]
mov r8d, esi
jmp 0x1404d3b7e
call fcn.1404c868e
test rdi, rdi
jmp 0x1404d3b8b
je 0x1404d3c70
mov ecx, dword [rbp - 0x1c]
lea rdx, [rdi + 0x120]
sar r8, 0x9f
movsx r8, r11w
sub r9d, r9d
mov r8b, 0xcf
cmovne r8w, ax
bswap r8d
mov r8d, esi
jmp 0x1404d3bb9
call fcn.1404c868e
mov ecx, dword [rbp - 0x1c]
movzx esi, r9w
movsx edx, r10w
mov esi, 0x40
movsxd rdx, r12d
cwd
cqo
mov r9d, esi
movzx dx, dl
movsx dx, r10b
mov r8, rdi
sete dh
movzx dx, r14b
movzx rdx, bp
mov edx, 0x1001
jmp 0x1404d3bfa
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x1404d3c07
je 0x1404d3c7f
mov ecx, dword [rbp - 0x18]
movzx edx, bx
lea r8, [rdi + 0x80]
mov r9d, esi
mov edx, 0x1002
jmp 0x1404d3c27
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x1404d3c34
je 0x1404d3c7f
lea rdx, [rdi + 0x100]
setb r8b
mov r8, 0x766d5b61
mov ecx, ebx
movsx r8, bp
not r9w
lea r9d, [rsi - 0x36]
setne r8b
movsx r8, bx
lea r8d, [rsi - 0x30]
jmp 0x1404d3c6b
call fcn.1404e168c
mov eax, 1
jmp 0x1404d3c7a
jmp 0x1404d3c89
sub eax, eax
rol cx, 0x82
movzx rcx, sp
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
jmp 0x1404d3c95
call fcn.14049cefa
add rsp, 0x40
bswap esi
cmovge di, r15w
pop r15
pop r14
movsx di, r12b
jmp 0x1404d3cb6
pop r12
jmp 0x1404d3cc3
pop rdi
pop rsi
movsx bp, dil
movzx ebp, r15w
pop rbx
movsxd rbp, r11d
not bpl
cmovb bp, r11w
pop rbp
jmp 0x1404d3ce0
ret