Function at 0x1404d2673
Capabilities:
Encrypt data using speck
Get geographical location

Disassembly:
push rbp
xor bpl, 0xeb
or bpl, 0x63
push rbx
setno ah
push rsi
movzx eax, sp
or ah, 0xa2
push rdi
stc
adc di, 0x3566
push r12
sbb bpl, al
shl bpl, 0xb1
push r14
ror ax, 0xae
push r15
test edx, esi
rcl r14, 0x8b
mov rbp, rsp
and ax, 0x7e70
bsr edi, r13d
shr ah, cl
sub rsp, 0x40
adc r15w, r11w
dec r15d
mov rax, qword [0x1400b7288]
shrd r14, r8, 0x85
xadd dil, r15b
xor rax, rsp
cmovle r15w, si
setbe dil
movsx r14d, sp
mov qword [rbp - 0x10], rax
mov rdi, r8
mov r14d, 0x7a4c5229
movsx r14, cx
mov r15, rdx
bswap r14w
sets r14b
movsx r14, si
mov r14, rcx
jmp 0x1404d2706
call fcn.1404c59a7
mov rsi, rax
cmp r12w, 0x3c35
xor eax, eax
jmp 0x1404d271b
mov qword [rbp - 0x20], rax
jmp 0x1404d2724
mov dword [rbp - 0x18], eax
jmp 0x1404d272c
call fcn.1404c59a7
lea rcx, [rbp - 0x20]
sub r12d, r12d
add bl, ah
shrd ebx, r10d, 0xe2
cmp rax, rcx
lea rbx, [rsi + 0xa0]
test rsi, rdi
cmp r9b, al
mov qword [rax + 0x3a0], rcx
lea rax, [r14 + 0x80]
cmp r9b, dil
test rcx, r8
mov qword [rsi + 0x98], r14
test spl, 0xe3
mov qword [rbx], rax
clc
test rsp, rbx
test r12b, 0x37
test rax, rax
jmp 0x1404d2781
je 0x1404d27c9
cmp word [rax], r12w
jmp 0x1404d2790
je 0x1404d27c9
mov edx, dword [0x1400c6a60]
movzx ecx, r14w
lea rcx, [0x1400c68f0]
mov r8b, 0xcc
movsx r8w, al
dec edx
xchg r8d, r8d
mov r8w, r13w
movsx r8d, r15w
mov r8, rbx
jmp 0x1404d27c4
call fcn.1404d2b9f
mov dword [rbp - 0x20], r12d
adc ax, r15w
mov rax, qword [rsi + 0x98]
cmc
cmp sil, 0x1b
test rax, rax
je 0x1404d28d4
cmp word [rax], r12w
jmp 0x1404d27ef
je 0x1404d28d4
mov rax, qword [rbx]
test rax, rax
jmp 0x1404d2800
je 0x1404d2828
cmp word [rax], r12w
jmp 0x1404d280f
je 0x1404d2828
lea rcx, [rbp - 0x20]
jmp 0x1404d281e
call fcn.1404d2d13
jmp 0x1404d2836
lea rcx, [rbp - 0x20]
jmp 0x1404d2831
call fcn.1404d33a8
cmp dword [rbp - 0x20], r12d
jmp 0x1404d283f
jne 0x1404d29b7
mov edx, dword [0x1400c68e0]
mov r8d, 0x5148186c
inc r8w
lea r8, [rsi + 0x98]
seto ch
movzx cx, ch
movsx rcx, r15w
dec edx
movsx cx, bpl
bswap cx
movzx rcx, cx
lea rcx, [0x1400c64d0]
call fcn.1404d2b9f
test al, al
jmp 0x1404d2888
je 0x1404d29a8
mov rax, qword [rbx]
test r11b, r9b
cmc
stc
test rax, rax
jmp 0x1404d289e
je 0x1404d28c1
cmp word [rax], r12w
je 0x1404d28c1
lea rcx, [rbp - 0x20]
jmp 0x1404d28b7
call fcn.1404d2d13
jmp 0x1404d29a8
lea rcx, [rbp - 0x20]
jmp 0x1404d28ca
call fcn.1404d33a8
jmp 0x1404d29a8
mov rax, qword [rbx]
test rax, rax
jmp 0x1404d28df
je 0x1404d2980
cmp word [rax], r12w
jmp 0x1404d28ee
je 0x1404d2980
call fcn.1404c59a7
mov rdx, rax
clc
test rdi, rbx
or rcx, 0xffffffffffffffff
jmp 0x1404d2909
mov rax, qword [rax + 0xa0]
inc rcx
clc
stc
cmp word [rax + rcx*2], r12w
jne 0x1404d2910
cmp rcx, 3
setl al
movsxd rax, ebx
cmovae cx, si
mov eax, r12d
movzx rcx, r14w
movzx ecx, ax
xchg al, al
lea rcx, [0x1400ac1c0]
sete al
jmp 0x1404d2949
mov dword [rdx + 0xb4], eax
xchg dh, dl
mov dh, 0x6d
movsx rdx, r15w
mov edx, 1
jmp 0x1404d2962
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
test byte [rbp - 0x20], 4
jmp 0x1404d2971
jne 0x1404d29a8
mov dword [rbp - 0x20], r12d
jmp 0x1404d29a8
mov dword [rbp - 0x20], 0x104
jmp 0x1404d298c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [rbp - 0x18], eax
cmp r11w, r12w
cmc
test r14d, 0x2fba11f6
mov dword [rbp - 0x1c], eax
cmp r14b, r15b
stc
cmp dword [rbp - 0x20], r12d
jmp 0x1404d29b1
je 0x1404d2b4b
lea rax, [r14 + 0x100]
rcr edx, cl
sal dx, cl
bt dx, bp
neg r14
not dh
cmovle dx, ax
xchg dh, dl
lea rdx, [rbp - 0x20]
jmp 0x1404d29db
sbb rcx, rcx
cmp r10b, r9b
and rcx, rax
jmp 0x1404d29e9
call fcn.1404d38bf
mov ebx, eax
test eax, eax
je 0x1404d2b4b
movzx ecx, bx
jmp 0x1404d2a00
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jmp 0x1404d2a0d
je 0x1404d2b4b
mov ecx, dword [rbp - 0x1c]
mov edx, 1
jmp 0x1404d2a20
call qword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
jmp 0x1404d2a2d
je 0x1404d2b4b
test r15, r15
je 0x1404d2a41
mov dword [r15], ebx
ror dl, cl
mov ecx, dword [rbp - 0x1c]
lea rdx, [rsi + 0x2f0]
xor r9d, r9d
mov esi, 0x722b0c93
movsxd rsi, edx
lea esi, [r9 + 0x55]
mov r8b, r9b
mov r8w, 0x7d0e
mov r8d, esi
call fcn.1404c7533
test rdi, rdi
jmp 0x1404d2a72
je 0x1404d2b3c
mov ecx, dword [rbp - 0x1c]
movzx r8, bx
rcl r8w, cl
add edx, edx
lea rdx, [rdi + 0x120]
movzx r8d, dx
movsxd r8, r10d
xor r9d, r9d
mov r8d, esi
jmp 0x1404d2a9e
call fcn.1404c7533
mov ecx, dword [rbp - 0x1c]
mov esi, 0x40
mov r9d, esi
bswap r8w
cqo
not r8w
mov r8, rdi
mov dl, r10b
movsx dx, sil
jmp 0x1404d2ac8
mov edx, 0x1001
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1404d2b4b
mov ecx, dword [rbp - 0x18]
bswap edx
lea r8, [rdi + 0x80]
mov r9, 0x26801aa1
mov r9d, esi
movzx edx, ax
movsx dx, spl
setnp dl
mov edx, 0x1002
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jmp 0x1404d2b0e
je 0x1404d2b4b
lea rdx, [rdi + 0x100]
not r9
mov cx, di
mov ecx, ebx
mov r9b, al
movsx r8, dx
lea r9d, [rsi - 0x36]
lea r8d, [rsi - 0x30]
jmp 0x1404d2b37
call fcn.1404e0289
mov eax, 1
jmp 0x1404d2b46
jmp 0x1404d2b56
sub eax, eax
sbb ch, 0xbf
shl cl, cl
ror rcx, 0xee
mov rcx, qword [rbp - 0x10]
test r11b, 0x2b
xor rcx, rsp
jmp 0x1404d2b66
call fcn.14049bbae
add rsp, 0x40
not si
pop r15
movzx rdi, r13w
bswap bx
pop r14
movsx ebx, r12w
movsx di, r13b
mov dil, 0xb5
pop r12
pop rdi
movsx bp, r13b
pop rsi
not bl
pop rbx
movsx ebp, r13w
movsx rbp, cx
pop rbp
ret