Function at 0x1404d99c2
Capabilities:
Get geographical location

Disassembly:
push rbp
xadd al, ah
push rbx
bt ebp, 0xe
xadd ebp, ebp
push rsi
adc al, 0x9a
and bpl, r10b
push rdi
dec ah
push r12
bts di, ax
cmp r12w, 0x73b6
push r14
btr bp, 0xc9
push r15
cmp di, cx
bsf ax, r14w
mov rbp, rsp
bt r14d, 0x81
cmp r8, rsi
sub rsp, 0x40
mov rax, qword [0x1400b7288]
xor rax, rsp
not dil
cmovnp edi, r12d
movsx r14d, r12w
mov qword [rbp - 0x10], rax
movsx di, dil
jmp 0x1404d9a2a
mov rdi, r8
cmovs r14w, r9w
mov r15, rdx
mov r14, rcx
jmp 0x1404d9a3d
call fcn.1404ccd41
mov rsi, rax
test bl, bpl
test dil, 0x3a
xor eax, eax
jmp 0x1404d9a53
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], eax
call fcn.1404ccd41
lea rcx, [rbp - 0x20]
sal bl, 0x49
bsf rbx, rdi
sub r12d, r12d
neg bl
xor bl, 0xf9
bt rbx, r10
lea rbx, [rsi + 0xa0]
mov qword [rax + 0x3a0], rcx
cmp r10w, ax
xchg ah, al
and ah, 0x78
lea rax, [r14 + 0x80]
mov qword [rsi + 0x98], r14
cmp r9d, 0x67fe540e
mov qword [rbx], rax
test rax, rax
je 0x1404d9af4
cmp word [rax], r12w
jmp 0x1404d9ab7
je 0x1404d9af4
mov edx, dword [0x1400c6a60]
dec cl
movzx r8w, r14b
mov cl, sil
lea rcx, [0x1400c68f0]
jmp 0x1404d9ade
dec edx
movzx r8d, r12w
mov r8b, spl
movzx r8w, r10b
mov r8, rbx
call fcn.1404d9e99
mov dword [rbp - 0x20], r12d
sar rax, 0x17
adc eax, edx
cwde
mov rax, qword [rsi + 0x98]
test rax, rax
jmp 0x1404d9b0e
je 0x1404d9be1
cmp word [rax], r12w
jmp 0x1404d9b1d
je 0x1404d9be1
mov rax, qword [rbx]
jmp 0x1404d9b2b
test rax, rax
jmp 0x1404d9b33
je 0x1404d9b56
cmp word [rax], r12w
jmp 0x1404d9b42
je 0x1404d9b56
lea rcx, [rbp - 0x20]
call fcn.1404d9fc6
jmp 0x1404d9b64
lea rcx, [rbp - 0x20]
jmp 0x1404d9b5f
call fcn.1404da671
cmp dword [rbp - 0x20], r12d
jne 0x1404d9cba
mov edx, dword [0x1400c68e0]
lea r8, [rsi + 0x98]
xchg cl, cl
dec edx
not ecx
lea rcx, [0x1400c64d0]
jmp 0x1404d9b8d
call fcn.1404d9e99
test al, al
je 0x1404d9cb0
mov rax, qword [rbx]
cmc
clc
cmp r8w, sp
test rax, rax
je 0x1404d9bce
cmp word [rax], r12w
jmp 0x1404d9bb5
je 0x1404d9bce
lea rcx, [rbp - 0x20]
jmp 0x1404d9bc4
call fcn.1404d9fc6
jmp 0x1404d9cb0
lea rcx, [rbp - 0x20]
jmp 0x1404d9bd7
call fcn.1404da671
jmp 0x1404d9cb0
mov rax, qword [rbx]
jmp 0x1404d9be9
test rax, rax
jmp 0x1404d9bf1
je 0x1404d9c98
cmp word [rax], r12w
jmp 0x1404d9c00
je 0x1404d9c98
call fcn.1404ccd41
mov rdx, rax
test r14b, 0x8d
or rcx, 0xffffffffffffffff
jmp 0x1404d9c1b
mov rax, qword [rax + 0xa0]
jmp 0x1404d9c27
inc rcx
jmp 0x1404d9c30
cmp word [rax + rcx*2], r12w
jmp 0x1404d9c3a
jne 0x1404d9c27
cmp rcx, 3
mov eax, r12d
mov al, r13b
setge al
lea rcx, [0x1400ac1c0]
setp al
sete al
jmp 0x1404d9c5f
mov dword [rdx + 0xb4], eax
movzx dx, cl
movsx rdx, r13w
mov dl, r13b
mov edx, 1
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
test byte [rbp - 0x20], 4
jmp 0x1404d9c84
jne 0x1404d9cb0
mov dword [rbp - 0x20], r12d
jmp 0x1404d9c93
jmp 0x1404d9cb0
mov dword [rbp - 0x20], 0x104
jmp 0x1404d9ca4
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x1c], eax
cmp dword [rbp - 0x20], r12d
je 0x1404d9e4d
lea rax, [r14 + 0x100]
neg r14
cwd
movsxd rdx, edx
lea rdx, [rbp - 0x20]
sbb rcx, rcx
cmp r10d, edi
and rcx, rax
jmp 0x1404d9cdb
call fcn.1404dab91
mov ebx, eax
cmp dil, r10b
test eax, eax
jmp 0x1404d9cec
je 0x1404d9e4d
movzx ecx, bx
jmp 0x1404d9cfa
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jmp 0x1404d9d07
je 0x1404d9e4d
mov ecx, dword [rbp - 0x1c]
bswap edx
mov edx, 1
jmp 0x1404d9d1c
call qword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
jmp 0x1404d9d29
je 0x1404d9e4d
test r15, r15
je 0x1404d9d45
mov dword [r15], ebx
sub rdx, 0x7794013f
test dil, bpl
mov ecx, dword [rbp - 0x1c]
add dl, r13b
sete dh
rol rdx, cl
lea rdx, [rsi + 0x2f0]
shrd si, r13w, 0xef
test di, r10w
not r8
xor r9d, r9d
lea esi, [r9 + 0x55]
mov r8b, dil
movsx r8d, r10w
cmovns r8w, r8w
mov r8d, esi
call fcn.1404ce8a3
test rdi, rdi
jmp 0x1404d9d88
je 0x1404d9e3e
mov ecx, dword [rbp - 0x1c]
lea rdx, [rdi + 0x120]
bts r8w, bp
inc r8b
sub r9d, r9d
movsx r8d, r10w
mov r8d, esi
call fcn.1404ce8a3
mov ecx, dword [rbp - 0x1c]
mov esi, 0x40
setno dl
mov r9d, esi
cdq
mov r8, rdi
movsx rdx, r12w
mov edx, 0x1001
jmp 0x1404d9dcf
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x1404d9ddc
je 0x1404d9e4d
mov ecx, dword [rbp - 0x18]
xchg r8b, r8b
lea r8, [rdi + 0x80]
mov dx, 0x6857
mov r9d, esi
mov edx, 0x1002
jmp 0x1404d9e00
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x1404d9e0d
je 0x1404d9e4d
lea rdx, [rdi + 0x100]
mov ecx, ebx
movsxd r9, eax
movzx r8w, r15b
movsx r9w, r15b
lea r9d, [rsi - 0x36]
xchg r8b, r8b
lea r8d, [rsi - 0x30]
jmp 0x1404d9e39
call fcn.1404e77db
mov eax, 1
jmp 0x1404d9e48
jmp 0x1404d9e52
sub eax, eax
test rcx, rdx
mov rcx, qword [rbp - 0x10]
test r9b, 0x9c
clc
cmp r13w, 0x7f63
xor rcx, rsp
jmp 0x1404d9e69
call fcn.1404a30f1
add rsp, 0x40
pop r15
movsx r14w, sil
pop r14
mov rsi, 0xcb37aad
not r12b
pop r12
pop rdi
jmp 0x1404d9e8d
pop rsi
movzx ebp, ax
pop rbx
pop rbp
jmp 0x1404d9e98
ret