Function at 0x1404dc111
Capabilities:
Get geographical location

Disassembly:
push rbp
push rbx
btc ax, 0xd7
movzx ax, dh
push rsi
and bpl, sil
bt rax, rdi
push rdi
cmp r15d, 0x3b0a0d1d
bts bp, r8w
ror ax, cl
push r12
sal dil, 0x1e
shld bp, sp, 0xd7
push r14
bsf r14, rax
push r15
shld r14d, ecx, 0x8f
mov rbp, rsp
movzx r15d, r8w
cdqe
sub rsp, 0x40
sar r14b, 0xaa
mov rax, qword [0x1400b7288]
bsr r15d, r8d
test r15b, 0x3a
bt edi, 0x2f
xor rax, rsp
xchg di, r14w
movsx rdi, r11w
mov qword [rbp - 0x10], rax
cmovo rdi, r10
movsx rdi, r10w
mov r15b, 0xb0
mov rdi, r8
xchg r15b, r14b
mov r15, rdx
xchg r14d, r14d
cmovl r14w, di
mov r14, rcx
jmp 0x1404dc1a4
call fcn.1404cf477
mov rsi, rax
test r14b, 0xce
cmp r12b, al
xor eax, eax
jmp 0x1404dc1ba
mov qword [rbp - 0x20], rax
jmp 0x1404dc1c3
mov dword [rbp - 0x18], eax
call fcn.1404cf477
lea rcx, [rbp - 0x20]
xor r12d, r12d
cmp sp, 0xc00
xadd bh, bl
lea rbx, [rsi + 0xa0]
mov qword [rax + 0x3a0], rcx
sal al, 0xaa
lea rax, [r14 + 0x80]
stc
jmp 0x1404dc1f9
mov qword [rsi + 0x98], r14
mov qword [rbx], rax
test rax, rax
jmp 0x1404dc20b
je 0x1404dc251
cmp word [rax], r12w
jmp 0x1404dc21a
je 0x1404dc251
mov edx, dword [0x1400c6a60]
movzx r8, r9w
lea rcx, [0x1400c68f0]
jmp 0x1404dc236
dec edx
not r8b
jmp 0x1404dc244
mov r8, rbx
jmp 0x1404dc24c
call fcn.1404dc634
mov dword [rbp - 0x20], r12d
mov rax, qword [rsi + 0x98]
cmp r11w, 0x4077
cmp bl, cl
stc
test rax, rax
jmp 0x1404dc26d
je 0x1404dc349
cmp word [rax], r12w
jmp 0x1404dc27c
je 0x1404dc349
mov rax, qword [rbx]
test edi, esp
test rax, rax
jmp 0x1404dc28f
je 0x1404dc2b2
cmp word [rax], r12w
jmp 0x1404dc29e
je 0x1404dc2b2
lea rcx, [rbp - 0x20]
call fcn.1404dc764
jmp 0x1404dc2c0
lea rcx, [rbp - 0x20]
jmp 0x1404dc2bb
call fcn.1404dcdd9
cmp dword [rbp - 0x20], r12d
jmp 0x1404dc2c9
jne 0x1404dc41f
mov edx, dword [0x1400c68e0]
movzx ecx, r8w
xchg r8b, r8b
movzx cx, bl
lea r8, [rsi + 0x98]
dec rcx
dec edx
setp ch
lea rcx, [0x1400c64d0]
jmp 0x1404dc2fb
call fcn.1404dc634
test al, al
je 0x1404dc410
mov rax, qword [rbx]
jmp 0x1404dc310
test rax, rax
je 0x1404dc336
cmp word [rax], r12w
je 0x1404dc336
lea rcx, [rbp - 0x20]
jmp 0x1404dc32c
call fcn.1404dc764
jmp 0x1404dc410
lea rcx, [rbp - 0x20]
jmp 0x1404dc33f
call fcn.1404dcdd9
jmp 0x1404dc410
mov rax, qword [rbx]
clc
cmp r9d, r8d
test rax, rax
je 0x1404dc3f2
cmp word [rax], r12w
jmp 0x1404dc362
je 0x1404dc3f2
call fcn.1404cf477
mov rdx, rax
or rcx, 0xffffffffffffffff
jmp 0x1404dc379
mov rax, qword [rax + 0xa0]
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x1404dc380
cmp rcx, 3
mov cx, 0x28f
not ax
cmovs eax, eax
mov eax, r12d
xchg cl, al
movsx ecx, r12w
mov al, cl
lea rcx, [0x1400ac1c0]
sete al
jmp 0x1404dc3b6
mov dword [rdx + 0xb4], eax
mov dl, bpl
sete dl
mov dh, 0x7d
mov edx, 1
jmp 0x1404dc3cf
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
test byte [rbp - 0x20], 4
jmp 0x1404dc3de
jne 0x1404dc410
mov dword [rbp - 0x20], r12d
jmp 0x1404dc3ed
jmp 0x1404dc410
mov dword [rbp - 0x20], 0x104
jmp 0x1404dc3fe
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [rbp - 0x18], eax
clc
stc
mov dword [rbp - 0x1c], eax
cmp r14b, 0x2d
cmp dword [rbp - 0x20], r12d
jmp 0x1404dc419
je 0x1404dc5c4
lea rax, [r14 + 0x100]
neg r14
setno dh
xchg rdx, rdx
lea rdx, [rbp - 0x20]
jmp 0x1404dc438
sbb rcx, rcx
and rcx, rax
call fcn.1404dd302
mov ebx, eax
jmp 0x1404dc44a
test eax, eax
jmp 0x1404dc451
je 0x1404dc5c4
movzx ecx, bx
jmp 0x1404dc45f
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jmp 0x1404dc46c
je 0x1404dc5c4
mov ecx, dword [rbp - 0x1c]
jmp 0x1404dc47e
mov edx, 1
jmp 0x1404dc488
call qword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
je 0x1404dc5c4
test r15, r15
jmp 0x1404dc49e
je 0x1404dc4b0
mov dword [r15], ebx
jmp 0x1404dc4b0
mov ecx, dword [rbp - 0x1c]
lea rdx, [rsi + 0x2f0]
sub r9d, r9d
lea esi, [r9 + 0x55]
mov r8b, 0x9e
movsx r8, ax
mov r8d, esi
jmp 0x1404dc4d0
call fcn.1404d0f64
test rdi, rdi
je 0x1404dc5b5
mov ecx, dword [rbp - 0x1c]
movsx dx, r11b
adc dl, 4
lea rdx, [rdi + 0x120]
sar r8d, cl
mov r8b, 1
xor r9d, r9d
cmovg r8, rsi
bswap r8w
mov r8d, esi
jmp 0x1404dc509
call fcn.1404d0f64
mov ecx, dword [rbp - 0x1c]
mov esi, 0x40
movzx edx, cx
movsx r8d, r9w
mov r9d, esi
movzx rdx, r13w
mov r8, rdi
not dl
mov edx, 0x1001
jmp 0x1404dc533
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x1404dc540
je 0x1404dc5c4
mov ecx, dword [rbp - 0x18]
bswap r8w
movsx r9, bp
movzx rdx, r11w
lea r8, [rdi + 0x80]
cwd
cmovp r9w, r10w
mov dx, di
mov r9d, esi
movsx edx, bx
xchg dl, dh
mov edx, 0x1002
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1404dc5c4
lea rdx, [rdi + 0x100]
mov cx, 0x41c7
setg r9b
mov ecx, ebx
cmovbe r8, rsi
movsx r9, r14w
mov r8d, 0x62e27907
lea r9d, [rsi - 0x36]
bswap r8d
movsx r8w, r8b
lea r8d, [rsi - 0x30]
call fcn.1404e9df7
mov eax, 1
jmp 0x1404dc5bf
jmp 0x1404dc5d5
xor eax, eax
xor cx, 0x5ac9
rcr cl, 0x91
test rbx, 0x48647178
mov rcx, qword [rbp - 0x10]
stc
jmp 0x1404dc5df
xor rcx, rsp
jmp 0x1404dc5e7
call fcn.1404a55f8
add rsp, 0x40
pop r15
cmovns esi, r14d
mov r12w, dx
bswap rsi
pop r14
movzx ebx, r13w
movsx si, al
movsx r12d, r15w
pop r12
movzx rsi, bx
movsx rsi, r13w
cmovbe rbp, rdi
pop rdi
xchg si, bx
setl bpl
not sil
pop rsi
pop rbx
movzx rbp, cx
movsx ebp, di
pop rbp
jmp 0x1404dc633
ret