Function at 0x1801401f0
Capabilities:
Get geographical location

Disassembly:
push rbp
push rbx
btr ax, 0xf
push rsi
dec al
bts ebp, ebp
push rdi
push r12
movsx eax, bx
sub rdi, rsi
push r14
lahf
adc r14b, 0x5a
xchg al, al
push r15
ror di, cl
mov rbp, rsp
movzx r14, r11w
sub rsp, 0x40
mov rax, qword [0x180086020]
add r15w, 0x1d51
bsf r14, rsi
movzx rdi, dx
xor rax, rsp
movsx di, r11b
movzx r14w, r8b
movzx rdi, r11w
mov qword [rbp - 0x10], rax
movsxd r15, r12d
mov rdi, r12
mov rdi, r8
movsxd r15, r10d
mov r15b, 0x37
mov r15, rdx
mov r14w, r11w
not r14b
movzx r14d, r11w
mov r14, rcx
jmp 0x18014026f
call fcn.18012cb44
mov rsi, rax
cmc
test r9b, 0x74
sub eax, eax
jmp 0x180140283
mov qword [rbp - 0x20], rax
jmp 0x18014028c
mov dword [rbp - 0x18], eax
jmp 0x180140294
call fcn.18012cb44
lea rcx, [rbp - 0x20]
sbb rbx, 0x9694d55
test bp, 0x5acd
xor r12d, r12d
and bl, bpl
rcl bh, cl
bt bx, 0
lea rbx, [rsi + 0xa0]
stc
cmp ch, 0x19
mov qword [rax + 0x3a0], rcx
lea rax, [r14 + 0x80]
test cx, r14w
test sil, 0xc
cmp bpl, 0xd9
mov qword [rsi + 0x98], r14
test r12b, 0x5f
mov qword [rbx], rax
jmp 0x1801402ee
test rax, rax
jmp 0x1801402f6
je 0x180140331
cmp word [rax], r12w
jmp 0x180140305
je 0x180140331
mov edx, dword [0x180075180]
movsxd r8, r10d
inc r8b
not ecx
lea rcx, str.america
dec edx
mov r8b, 0xfe
movsx r8, r10w
mov r8, rbx
call fcn.1801400bf
mov dword [rbp - 0x20], r12d
cmovnp ax, si
mov rax, qword [rsi + 0x98]
test rax, rax
jmp 0x180140348
je 0x180140431
cmp word [rax], r12w
jmp 0x180140357
je 0x180140431
mov rax, qword [rbx]
stc
cmc
test r10b, 0x5a
test rax, rax
jmp 0x18014036e
je 0x180140396
cmp word [rax], r12w
jmp 0x18014037d
je 0x180140396
lea rcx, [rbp - 0x20]
jmp 0x18014038c
call fcn.18013f448
jmp 0x1801403a4
lea rcx, [rbp - 0x20]
jmp 0x18014039f
call fcn.18013f5ff
cmp dword [rbp - 0x20], r12d
jmp 0x1801403ad
jne 0x180140509
mov edx, dword [0x180075000]
dec r8d
jmp 0x1801403c4
lea r8, [rsi + 0x98]
mov cx, r8w
dec edx
bswap cx
movzx ecx, cx
lea rcx, str.american
jmp 0x1801403e3
call fcn.1801400bf
test al, al
jmp 0x1801403ef
je 0x1801404fa
mov rax, qword [rbx]
test rax, rax
jmp 0x180140400
je 0x180140423
cmp word [rax], r12w
jmp 0x18014040f
je 0x180140423
lea rcx, [rbp - 0x20]
call fcn.18013f448
jmp 0x1801404fa
lea rcx, [rbp - 0x20]
call fcn.18013f5ff
jmp 0x1801404fa
mov rax, qword [rbx]
clc
test rax, rax
je 0x1801404d5
cmp word [rax], r12w
je 0x1801404d5
call fcn.18012cb44
mov rdx, rax
test r12b, spl
or rcx, 0xffffffffffffffff
jmp 0x18014045c
mov rax, qword [rax + 0xa0]
jmp 0x180140468
inc rcx
clc
cmp word [rax + rcx*2], r12w
jmp 0x180140476
jne 0x180140468
cmp rcx, 3
movzx rcx, ax
setne ah
mov eax, r12d
setl al
movzx ecx, bp
lea rcx, [0x180064ea0]
xchg al, al
sete al
jmp 0x1801404a1
mov dword [rdx + 0xb4], eax
movzx dx, r9b
cdq
mov edx, 1
jmp 0x1801404b7
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
test byte [rbp - 0x20], 4
jne 0x1801404fa
mov dword [rbp - 0x20], r12d
jmp 0x1801404d0
jmp 0x1801404fa
mov dword [rbp - 0x20], 0x104
jmp 0x1801404e1
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x1c], eax
test si, r15w
cmp r10w, 0x684e
cmp r12b, bl
cmp dword [rbp - 0x20], r12d
jmp 0x180140503
je 0x1801406f0
lea rax, [r14 + 0x100]
neg r14
movsx edx, r9w
mov dx, 0x397a
movzx rdx, r11w
lea rdx, [rbp - 0x20]
jmp 0x180140528
sbb rcx, rcx
cmp rcx, 0xa2011cc
clc
and rcx, rax
call fcn.18013fde9
mov ebx, eax
cmp r15b, al
clc
test eax, eax
jmp 0x180140548
je 0x1801406f0
movzx ecx, bx
jmp 0x180140556
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jmp 0x180140563
je 0x1801406f0
mov ecx, dword [rbp - 0x1c]
movsxd rdx, r10d
bswap dx
not dh
mov edx, 1
jmp 0x18014057e
call qword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
jmp 0x18014058b
je 0x1801406f0
test r15, r15
jmp 0x180140599
je 0x1801405af
mov dword [r15], ebx
btr r8w, r15w
mov dx, r11w
xor r8w, si
mov ecx, dword [rbp - 0x1c]
dec r8w
lea rdx, [rsi + 0x2f0]
xor r9d, r9d
lea esi, [r9 + 0x55]
movsx r8, r12w
not r8d
movsxd r8, r9d
mov r8d, esi
jmp 0x1801405d6
call fcn.180133769
test rdi, rdi
jmp 0x1801405e3
je 0x1801406e1
mov ecx, dword [rbp - 0x1c]
rcr dh, cl
clc
sal r8b, cl
lea rdx, [rdi + 0x120]
clc
or r8, rsp
xor r9d, r9d
not r8w
mov r8w, 0x505e
mov r8w, di
mov r8d, esi
call fcn.180133769
mov ecx, dword [rbp - 0x1c]
bswap dx
mov esi, 0x40
movzx edx, cx
movsx edx, r15w
mov r9d, esi
movsxd rdx, ebp
mov r8, rdi
movsx edx, r15w
movzx rdx, r12w
jmp 0x18014063d
mov edx, 0x1001
jmp 0x180140647
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x180140654
je 0x1801406f0
mov ecx, dword [rbp - 0x18]
jmp 0x18014066a
lea r8, [rdi + 0x80]
bswap rdx
movsx edx, r9w
seta dl
mov r9d, esi
mov rdx, 0x25a37b5d
cqo
cmovae edx, r15d
mov edx, 0x1002
jmp 0x180140695
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x1801406a2
je 0x1801406f0
lea rdx, [rdi + 0x100]
movzx ecx, r10w
movzx r9w, bpl
mov ecx, ebx
not r9b
xchg r9w, r8w
mov r8w, bp
lea r9d, [rsi - 0x36]
movsx r8d, bx
xchg r8b, r8b
movsxd r8, ebx
lea r8d, [rsi - 0x30]
jmp 0x1801406dc
call fcn.18014823b
mov eax, 1
jmp 0x1801406eb
jmp 0x1801406f9
xor eax, eax
bt rcx, r11
rcl rcx, cl
mov rcx, qword [rbp - 0x10]
jmp 0x180140707
xor rcx, rsp
jmp 0x18014070f
call fcn.1801152b0
add rsp, 0x40
not ebx
pop r15
pop r14
pop r12
pop rdi
jmp 0x18014072d
pop rsi
mov bp, 0x7aea
movzx bx, cl
not ebx
pop rbx
movzx ebp, cx
bswap ebp
cmovae bp, bp
pop rbp
jmp 0x180140748
ret