Function at 0x1404a9642
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 8], rbx
stc
mov qword [rsp + 0x18], rsi
bt rsi, 0xef
add sil, dl
xchg rsi, rsi
mov qword [rsp + 0x20], rdi
push rbp
movzx di, al
push r12
cmp r8, 0x6f024869
push r13
push r14
sal si, cl
push r15
cmp bpl, 0xa
movsx ebp, r13w
bts rsi, rbx
mov rbp, rsp
bts rdi, rdx
ror dil, 0x1b
sub rsp, 0x50
bt di, 0x62
and dil, 0xe9
bswap si
mov rsi, r8
ror r14w, 4
add r8b, 0x64
mov rdi, r9
movzx r8d, dx
add dx, 0x177c
mov r14, rcx
mov edx, r8d
jmp 0x1404a96be
cmp r8d, 0x5a
jbe 0x1404aa5d4
mov ecx, 0x62
cmc
cmp edx, 0x6e
jmp 0x1404a96d6
ja 0x1404a9f34
je 0x1404a9ecb
sub edx, 0x61
je 0x1404a9e29
sub edx, 1
jmp 0x1404a96f3
je 0x1404a9d84
sub edx, 1
jmp 0x1404a9701
je 0x1404a9970
sub edx, 1
jmp 0x1404a970f
je 0x1404a992f
sub edx, 1
jmp 0x1404a971d
je 0x1404a98ec
sub edx, 2
jmp 0x1404a972b
je 0x1404a982b
sub edx, 1
jmp 0x1404a9739
jne 0x1404a9757
mov r8d, ecx
cdq
cmovle edx, ecx
movsx dx, r11b
mov edx, ecx
jmp 0x1404a9752
jmp 0x1404a96ce
sub edx, 2
jmp 0x1404a975f
je 0x1404a97d9
cmp edx, 3
jmp 0x1404a976d
jne 0x1404a9e48
mov ecx, dword [rsi + 0x10]
cmp ecx, 0xb
ja 0x1404a9e33
mov al, byte [rbp + 0x60]
neg al
movzx r9, bx
setle r8b
sbb dx, dx
stc
rol r9w, 0xae
not dx
and r9, rcx
and dx, 0x30
mov r9b, r10b
inc ecx
movzx r8, r8w
mov word [rsp + 0x20], dx
cmovae r8d, ecx
mov edx, 2
not r9w
movsx r8, r14w
mov r9, qword [rbp + 0x50]
movzx r8w, r8b
mov r8, rdi
jmp 0x1404a97cf
call fcn.1404a90ca
jmp 0x1404ab277
mov ecx, dword [rsi + 0x1c]
cmp ecx, 0x16d
jmp 0x1404a97e7
ja 0x1404a9e33
mov al, byte [rbp + 0x60]
neg al
jmp 0x1404a97f7
sbb dx, dx
test si, r10w
not dx
and dx, 0x30
jmp 0x1404a980a
mov word [rsp + 0x20], dx
inc ecx
movzx dx, dil
xchg dl, dl
mov dx, 0x7642
mov edx, 3
jmp 0x1404a9826
jmp 0x1404a97be
mov r14d, dword [rsi + 0x14]
bt ax, 0x96
sbb rax, 0x5e412a90
movsxd rax, esi
lea eax, [r14 + 0x76c]
cmp cl, r9b
cmp eax, 0x270f
jmp 0x1404a9852
ja 0x1404a9e33
mov r8d, dword [rsi + 0x1c]
movsx rcx, r15w
mov cx, 0x5d1a
mov ecx, r14d
cqo
cwd
movsx dx, r11b
mov edx, dword [rsi + 0x18]
jmp 0x1404a9878
call fcn.1404a93e9
test eax, eax
jne 0x1404a9892
dec r14d
jmp 0x1404a988d
jmp 0x1404a989b
jg 0x1404a989b
inc r14d
lea ecx, [r14 + 0x76c]
rol esi, cl
adc al, r8b
cqo
mov eax, 0x51eb851f
imul ecx
test bl, dil
rcr al, cl
movsxd rax, ebx
mov esi, 0x30
sar edx, 5
mov eax, edx
mov word [rsp + 0x20], si
stc
shr eax, 0x1f
cmc
clc
add edx, eax
xor ax, 0x7dc9
lahf
rol ax, 0x74
imul eax, edx, 0x64
stc
cmp r9b, 0xf3
jmp 0x1404a98e5
sub ecx, eax
jmp 0x1404a97b1
mov ecx, dword [rsi + 0xc]
bswap eax
shld rax, r12, 0xe0
lea eax, [rcx - 1]
cmp r11w, cx
cmp eax, 0x1e
jmp 0x1404a9905
ja 0x1404a9e33
mov al, byte [rbp + 0x60]
cmp r14w, r15w
stc
xor al, 1
shl al, 5
jmp 0x1404a991d
movzx eax, al
mov word [rsp + 0x20], ax
jmp 0x1404a992a
jmp 0x1404a97b1
mov ecx, dword [rsi + 0xc]
bts ax, si
and al, r11b
lea eax, [rcx - 1]
jmp 0x1404a9941
cmp eax, 0x1e
jmp 0x1404a9949
ja 0x1404a9e33
mov al, byte [rbp + 0x60]
cmc
neg al
jmp 0x1404a995a
sbb dx, dx
not dx
stc
clc
and dx, 0x30
jmp 0x1404a996b
jmp 0x1404a97a8
mov r13, qword [rbp + 0x58]
lea rax, [0x1400c6040]
cmp r8w, 0x3e23
xor ebx, ebx
cmp r13, rax
jmp 0x1404a998b
jne 0x1404a9cb2
cmp byte [rbp + 0x60], bl
jmp 0x1404a9999
jne 0x1404a9cb2
mov r15, qword [rbp + 0x50]
xchg dx, cx
movzx edx, di
jmp 0x1404a99ae
lea edx, [rbx + 0x61]
mov byte [rsp + 0x30], bl
sets cl
mov r8, rsi
mov qword [rsp + 0x28], r13
mov rcx, r14
jmp 0x1404a99c8
mov qword [rsp + 0x20], r15
jmp 0x1404a99d2
call fcn.1404a9642
test al, al
jmp 0x1404a99de
jne 0x1404a99f9
call fcn.1404b7622
mov dword [rax], 0x16
jmp 0x1404a99f4
jmp 0x1404a9e48
lea r12, [0x1400cf014]
rcr ch, cl
rol ch, cl
rol ch, 0x4a
mov rcx, r12
cmp ebx, 0x60c43670
cmp qword [r15], rbx
jmp 0x1404a9a18
je 0x1404a9a73
movzx r8d, word [rcx]
cmp r12b, 0x4e
test bpl, 0xbc
test r8w, r8w
jmp 0x1404a9a33
je 0x1404a9a73
mov rax, qword [rdi]
jmp 0x1404a9a47
add rcx, 2
jmp 0x1404a9a53
mov word [rax], r8w
clc
test cl, r9b
add qword [rdi], 2
cmc
cmp r9b, sil
clc
sub qword [r15], 1
jmp 0x1404a9a6d
jne 0x1404a9a1e
mov byte [rsp + 0x30], bl
mov edx, 0x62
mov qword [rsp + 0x28], r13
xchg r9b, cl
mov r9, rdi
not r8b
mov r8, rsi
mov qword [rsp + 0x20], r15
movsx ecx, r9w
mov rcx, r14
jmp 0x1404a9a9e
call fcn.1404a9642
test al, al
je 0x1404a99e4
mov rcx, r12
cmp edx, ebp
cmp di, 0x4f88
cmp qword [r15], rbx
je 0x1404a9b01
movzx edx, word [rcx]
test dx, dx
je 0x1404a9b01
mov rax, qword [rdi]
jmp 0x1404a9ad3
add rcx, 2
cmp r14d, 0x52907777
jmp 0x1404a9ae3
mov word [rax], dx
cmp ebp, ecx
jmp 0x1404a9aee
add qword [rdi], 2
sub qword [r15], 1
jmp 0x1404a9afb
jne 0x1404a9abe
mov byte [rsp + 0x30], bl
cdq
setl ch
mov edx, 0x65
jmp 0x1404a9b16
mov qword [rsp + 0x28], r13
mov r8d, 0x59622393
mov r9, rdi
bswap cx
mov r8, rsi
movzx cx, dil
mov qword [rsp + 0x20], r15
mov cx, 0x79f1
mov rcx, r14
jmp 0x1404a9b40
call fcn.1404a9642
test al, al
jmp 0x1404a9b4c
je 0x1404a99e4
mov rcx, r12
test ecx, esp
test r14w, 0x7b0a
cmp qword [r15], rbx
jmp 0x1404a9b65
je 0x1404a9bad
movzx edx, word [rcx]
cmc
test dx, dx
jmp 0x1404a9b77
je 0x1404a9bad
mov rax, qword [rdi]
jmp 0x1404a9b88
add rcx, 2
cmc
clc
mov word [rax], dx
jmp 0x1404a9b96
add qword [rdi], 2
clc
cmp r13b, r12b
jmp 0x1404a9ba3
sub qword [r15], 1
jne 0x1404a9b6b
mov byte [rsp + 0x30], bl
setno r9b
movzx ecx, ax
cwd
mov edx, 0x54
setnp cl
movzx rcx, si
mov qword [rsp + 0x28], r13
setb r9b
xchg r9b, r8b
mov r9, rdi
movzx r8w, r13b
mov r8d, edi
not ch
mov r8, rsi
mov qword [rsp + 0x20], r15
jmp 0x1404a9bef
mov rcx, r14
jmp 0x1404a9bf7
call fcn.1404a9642
test al, al
je 0x1404a99e4
cmp qword [r15], rbx
jmp 0x1404a9c0c
je 0x1404a9c5f
movzx ecx, word [r12]
cmp ebp, 0x792a6f92
stc
jmp 0x1404a9c23
test cx, cx
jmp 0x1404a9c2b
je 0x1404a9c5f
mov rax, qword [rdi]
add r12, 2
test r11b, bpl
cmp r14, 0x6b017fb2
cmp rdi, rax
mov word [rax], cx
test spl, 0xbd
add qword [rdi], 2
sub qword [r15], 1
jmp 0x1404a9c59
jne 0x1404a9c12
mov byte [rsp + 0x30], bl
movzx rdx, bx
movsxd r8, r9d
mov edx, 0x59
movzx r8, bx
mov qword [rsp + 0x28], r13
jmp 0x1404a9c86
mov qword [rsp + 0x20], r15
movzx r8d, bp
mov r9, rdi
mov r8, rsi
movzx ecx, cx
mov rcx, r14
call fcn.1404a9642
test al, al
jmp 0x1404a9ca7
jne 0x1404ab277
jmp 0x1404a99e4
mov r15, qword [rbp + 0x50]
mov r8, rsi
mov dx, 0x2109
movzx edx, byte [rbp + 0x60]
seta cl
jmp 0x1404a9ccc
mov rcx, r14
jmp 0x1404a9cd4
mov qword [rsp + 0x28], r13
jmp 0x1404a9cde
mov qword [rsp + 0x20], r15
call fcn.1404ab2d3
test al, al
je 0x1404a99e4
lea r12, [0x1400cf014]
cmp r14b, 0xf3
cmc
cmp qword [r15], rbx
je 0x1404a9d49
movzx ecx, word [r12]
stc
cmp r10b, r13b
test cx, cx
jmp 0x1404a9d16
je 0x1404a9d49
mov rax, qword [rdi]
add r12, 2
mov word [rax], cx
test r13, rax
cmp r9d, 0x922574e
add qword [rdi], 2
jmp 0x1404a9d3a
sub qword [r15], 1
jmp 0x1404a9d43
jne 0x1404a9d05
mov qword [rsp + 0x28], r13
mov r9, rdi
movsx r8d, r10w
movsx cx, bpl
cqo
mov qword [rsp + 0x20], r15
not cx
movsxd rdx, ecx
mov edx, 2
bswap r8w
cmova ecx, r8d
mov rcx, r14
mov r8, rsi
call fcn.1404ab2d3
jmp 0x1404a9ca0
cmp dword [rsi + 0x10], 0xb
jmp 0x1404a9d8d
ja 0x1404a9e33
movsxd rcx, dword [rsi + 0x10]
xor ebx, ebx
mov rax, qword [rbp + 0x58]
bts dx, r14w
bsf dx, di
mov rdx, qword [rax + rcx*8 + 0x1d0]
sal rcx, 0xa7
shr ch, 0x47
cmp bpl, dil
mov rcx, qword [rbp + 0x50]
test r15d, 0x6a8f7c10
stc
cmp qword [rcx], rbx
jmp 0x1404a9dcc
je 0x1404ab277
movzx r8d, word [rdx]
test r15b, r8b
cmc
test r8w, r8w
jmp 0x1404a9de3
je 0x1404ab277
mov rax, qword [r9]
jmp 0x1404a9df7
add rdx, 2
test ch, 0xd1
clc
jmp 0x1404a9e04
mov word [rax], r8w
cmp r8b, 0x30
clc
add qword [r9], 2
cmp r12w, r10w
sub qword [rcx], 1
jmp 0x1404a9e1e
jne 0x1404a9dd2
jmp 0x1404ab277
cmp dword [rsi + 0x18], 6
jbe 0x1404a9e54
call fcn.1404b7622
mov dword [rax], 0x16
jmp 0x1404a9e43
call fcn.1404b8312
sub al, al
jmp 0x1404a9e4f
jmp 0x1404ab27e
movsxd rcx, dword [rsi + 0x18]
xor ebx, ebx
mov rax, qword [rbp + 0x58]
bt dx, di
jmp 0x1404a9e67
mov rdx, qword [rax + rcx*8 + 0x160]
sbb rcx, r8
add cl, r14b
adc cx, 0x4305
mov rcx, qword [rbp + 0x50]
stc
cmc
cmp qword [rcx], rbx
jmp 0x1404a9e88
je 0x1404ab277
movzx r8d, word [rdx]
cmp cl, 0x99
cmc
test r8w, r8w
jmp 0x1404a9e9f
je 0x1404ab277
mov rax, qword [r9]
add rdx, 2
cmp bpl, dil
mov word [rax], r8w
add qword [r9], 2
sub qword [rcx], 1
jmp 0x1404a9ec0
jne 0x1404a9e8e
jmp 0x1404ab277
mov rcx, qword [rbp + 0x50]
and dh, 0x9c
lea rdx, [0x1400cf018]
cmp r15b, al
xor ebx, ebx
test r11b, 0xbb
cmp r14b, 0x51
stc
cmp qword [rcx], rbx
jmp 0x1404a9eef
je 0x1404ab277
movzx r8d, word [rdx]
clc
test r8w, r8w
je 0x1404ab277
mov rax, qword [r9]
test r9, 0x39075b38
clc
stc
add rdx, 2
mov word [rax], r8w
add qword [r9], 2
test bpl, 0xd2
sub qword [rcx], 1
jmp 0x1404a9f29
jne 0x1404a9ef5
jmp 0x1404ab277
sub edx, 0x70
je 0x1404aa543
sub edx, 2
jmp 0x1404a9f45
je 0x1404aa30e
sub edx, 2
jmp 0x1404a9f53
je 0x1404aa2a1
sub edx, 1
jmp 0x1404a9f61
je 0x1404aa231
sub edx, 2
je 0x1404aa231
sub edx, 1
jmp 0x1404a9f78
je 0x1404aa203
sub edx, 1
je 0x1404aa17d
cmp edx, 1
jmp 0x1404a9f8f
jne 0x1404a9e48
call fcn.1400a642c
sub ebx, ebx
lea rcx, [rbp + 0x38]
mov dword [rbp + 0x38], ebx
jmp 0x1404a9fa8
call fcn.1404cdfd7
test eax, eax
jne 0x1404a9e33
cmp dword [rsi + 0x20], ebx
jmp 0x1404a9fbd
je 0x1404a9ffc
lea rcx, [rbp - 0x10]
jmp 0x1404a9fcc
mov dword [rbp - 0x10], ebx
call fcn.1404cdf92
test eax, eax
jmp 0x1404a9fdb
jne 0x1404a9e33
mov r8d, dword [rbp + 0x38]
add r8d, dword [rbp - 0x10]
jmp 0x1404a9fee
mov dword [rbp + 0x38], r8d
jmp 0x1404a9ff7
jmp 0x1404aa009
mov r8d, dword [rbp + 0x38]
sar cx, cl
test r12b, 0x58
cbw
mov r9d, 0x88888889
bts rdx, rcx
lea r12, [0x1400cf008]
mov eax, r8d
xor r10, rcx
movsx r14w, r14b
movzx r10d, bx
cdq
shrd r14d, r14d, 0xda
bsr r14d, r15d
mov ecx, eax
bts r14w, r14w
btc eax, r11d
sub r14b, r14b
mov eax, r9d
xor ecx, edx
cmc
xor r14b, 0xc6
sub ecx, edx
rcl r14b, cl
bts edx, edi
imul ecx
mov eax, r9d
xadd r10, r14
neg r9b
mov r9, qword [rbp + 0x50]
stc
lea r14d, [rcx + rdx]
sar r14d, 5
mov ecx, r14d
mov dx, di
shr ecx, 0x1f
neg r10b
add r14d, ecx
bt r10d, 0x68
inc r10
imul r14d
cbw
bt r10w, 0xc9
lea r10d, [r14 + rdx]
neg ax
inc rax
sar r10d, 5
xor ah, 0x39
sar al, 0xfc
rol rax, 0x82
mov eax, r10d
cmp r9w, r12w
test rbp, r12
shr eax, 0x1f
jmp 0x1404aa0b8
add r10d, eax
sub al, r9b
imul eax, r10d, 0x3c
sub r14d, eax
test r10w, r14w
setle ah
lea rax, [0x1400cf00c]
test r11w, 0x6875
test bp, r8w
jmp 0x1404aa0e2
test r8d, r8d
jmp 0x1404aa0ea
cmovle r12, rax
clc
cmp qword [r9], rbx
jmp 0x1404aa0f7
je 0x1404aa139
movzx ecx, word [r12]
test cx, cx
je 0x1404aa139
mov rax, qword [rdi]
clc
test sp, dx
add r12, 2
cmc
clc
mov word [rax], cx
test ah, 0x48
test r12b, sil
add qword [rdi], 2
test sp, r15w
cmc
sub qword [r9], 1
jmp 0x1404aa133
jne 0x1404aa0fd
mov esi, 0x30
movsxd rdx, eax
movsx cx, dl
mov r8, rdi
mov ecx, r10d
movzx dx, sil
bswap rdx
cmovl dx, bp
mov word [rsp + 0x20], si
movzx rdx, si
lea edx, [rsi - 0x2e]
jmp 0x1404aa168
call fcn.1404a90ca
lea edx, [rsi - 0x2e]
mov word [rsp + 0x20], si
mov ecx, r14d
jmp 0x1404a97c7
mov ecx, dword [rsi + 0x14]
test ax, 0x6a88
add ecx, 0x76c
test r13d, 0x28851bd4
cmp ecx, 0x270f
ja 0x1404a9e33
mov al, byte [rbp + 0x60]
cmp cx, si
btr edx, ecx
neg al
jmp 0x1404aa1ad
mov eax, 0x51eb851f
sbb r8w, r8w
rol dh, 0xa7
cdq
rol rdx, cl
imul ecx
movzx ax, r15b
not r8w
shld ax, cx, 0x83
rcl ah, 0x50
sar edx, 5
and r8w, 0x30
rcr ax, 0xe5
mov eax, edx
jmp 0x1404aa1e3
shr eax, 0x1f
add edx, eax
shld ax, dx, 0x7b
imul eax, edx, 0x64
clc
sub ecx, eax
mov word [rsp + 0x20], r8w
jmp 0x1404aa1fe
jmp 0x1404a97b1
mov rax, qword [rbp + 0x58]
cdq
movzx edx, byte [rbp + 0x60]
jmp 0x1404aa211
mov qword [rsp + 0x28], rax
not ax
mov rax, qword [rbp + 0x50]
jmp 0x1404aa222
mov qword [rsp + 0x20], rax
jmp 0x1404aa22c
jmp 0x1404a9d74
mov ecx, dword [rsi + 0x18]
cmp di, 0x3c8b
cmp ecx, 6
jmp 0x1404aa241
ja 0x1404a9e33
test ecx, ecx
jmp 0x1404aa24e
jne 0x1404aa269
cmp r8w, 0x75
jmp 0x1404aa25e
jne 0x1404aa269
mov ecx, 7
mov al, byte [rbp + 0x60]
test r12b, 0x80
jmp 0x1404aa275
neg al
jmp 0x1404aa27c
sbb dx, dx
cmp spl, 0xdb
not dx
cmp cl, r13b
and dx, 0x30
jmp 0x1404aa292
mov word [rsp + 0x20], dx
mov edx, 1
jmp 0x1404a97be
mov rcx, qword [rbp + 0x50]
sub dh, 0xb4
shr edx, 0x16
rcr dl, cl
lea rdx, [0x1400cf01c]
clc
xor ebx, ebx
cmp qword [rcx], rbx
je 0x1404ab277
movzx r8d, word [rdx]
test r13, 0x55945e86
cmp dil, 0xf5
stc
test r8w, r8w
jmp 0x1404aa2d9
je 0x1404ab277
mov rax, qword [r9]
test al, r10b
jmp 0x1404aa2ea
add rdx, 2
test dh, 0x34
cmp r15d, r14d
mov word [rax], r8w
test r11b, r14b
add qword [r9], 2
sub qword [rcx], 1
jne 0x1404aa2c0
jmp 0x1404ab277
mov r12, qword [rbp + 0x58]
sub ecx, eax
add ax, 0x1260
lea rax, [0x1400c6040]
sub rcx, rdx
shld cx, cx, 0x87
shrd cx, di, 0x99
cmp r12, rax
movzx r8w, r13b
mov r8, rsi
mov al, byte [rbp + 0x60]
not ch
mov ecx, 0x28911597
mov rcx, r14
mov byte [rsp + 0x30], al
jmp 0x1404aa34d
mov qword [rsp + 0x28], r12
jne 0x1404aa524
mov r13, qword [rbp + 0x50]
cwd
mov edx, 0x49
jmp 0x1404aa368
mov qword [rsp + 0x20], r13
jmp 0x1404aa372
call fcn.1404a9642
sub ebx, ebx
clc
test al, al
je 0x1404a99e4
lea r15, [0x1400ceffc]
shrd ecx, r13d, 0xd8
mov rcx, r15
cmc
stc
cmp qword [r13], rbx
jmp 0x1404aa39c
je 0x1404aa3ce
movzx edx, word [rcx]
test dx, dx
jmp 0x1404aa3ad
je 0x1404aa3ce
mov rax, qword [rdi]
add rcx, 2
clc
mov word [rax], dx
add qword [rdi], 2
cmc
sub qword [r13], 1
jne 0x1404aa3a2
mov al, byte [rbp + 0x60]
cmovne r9w, di
mov edx, 0x4d
movsxd r8, r13d
movsx r8, r9w
movzx r9w, sil
mov byte [rsp + 0x30], al
mov r9, rdi
mov qword [rsp + 0x28], r12
movzx rcx, r12w
sets cl
movsx ecx, cx
mov r8, rsi
movsx rcx, bp
jmp 0x1404aa409
mov rcx, r14
jmp 0x1404aa411
mov qword [rsp + 0x20], r13
call fcn.1404a9642
test al, al
je 0x1404a99e4
cmp qword [r13], rbx
jmp 0x1404aa42c
je 0x1404aa467
movzx ecx, word [r15]
test cx, cx
je 0x1404aa467
mov rax, qword [rdi]
add r15, 2
mov word [rax], cx
test di, r12w
add qword [rdi], 2
cmc
jmp 0x1404aa457
sub qword [r13], 1
jmp 0x1404aa461
jne 0x1404aa432
mov r15b, byte [rbp + 0x60]
cdq
mov edx, 0x53
movzx r8d, r11w
mov byte [rsp + 0x30], r15b
movsx rcx, di
movsxd r9, r12d
mov r9, rdi
mov r8b, cl
mov qword [rsp + 0x28], r12
movsxd r8, r13d
mov r8, rsi
mov rcx, r14
mov qword [rsp + 0x20], r13
jmp 0x1404aa49f
call fcn.1404a9642
test al, al
je 0x1404a99e4
lea r12, [0x1400cf014]
test rdi, r15
cmp qword [r13], rbx
je 0x1404aa4fd
movzx ecx, word [r12]
cmp r13, rdx
test cx, cx
jmp 0x1404aa4d0
je 0x1404aa4fd
mov rax, qword [rdi]
cmp cl, r10b
cmc
stc
add r12, 2
mov word [rax], cx
cmp bpl, r10b
add qword [rdi], 2
stc
sub qword [r13], 1
jmp 0x1404aa4f7
jne 0x1404aa4c0
mov rax, qword [rbp + 0x58]
mov edx, 0x70
mov byte [rsp + 0x30], r15b
jmp 0x1404aa510
mov qword [rsp + 0x28], rax
jmp 0x1404aa51a
mov qword [rsp + 0x20], r13
jmp 0x1404a9c8f
mov rax, qword [rbp + 0x50]
xchg dh, dh
mov edx, 0x26032e0c
mov edx, 0x58
jmp 0x1404aa539
mov qword [rsp + 0x20], rax
jmp 0x1404a9c9b
cmp dword [rsi + 8], 0x17
ja 0x1404a9e33
cmp dword [rsi + 8], 0xb
nop
cwde
movsxd rax, r15d
mov rax, qword [rbp + 0x58]
jmp 0x1404aa560
jg 0x1404aa577
mov rcx, qword [rax + 0x290]
jmp 0x1404aa572
jmp 0x1404aa585
mov rcx, qword [rax + 0x298]
cmc
bswap dx
shr dx, cl
mov rdx, qword [rbp + 0x50]
xor ebx, ebx
cmp qword [rdx], rbx
je 0x1404ab277
movzx r8d, word [rcx]
clc
test r8w, r8w
jmp 0x1404aa5a2
je 0x1404ab277
mov rax, qword [r9]
add rcx, 2
mov word [rax], r8w
cmp r13w, sp
add qword [r9], 2
cmp ax, 0x736e
cmc
sub qword [rdx], 1
jmp 0x1404aa5c9
jne 0x1404aa594
jmp 0x1404ab277
je 0x1404ab1c6
mov r13d, 0x4d
cmp edx, r13d
jmp 0x1404aa5e8
ja 0x1404aac73
je 0x1404aac64
sub edx, 0x25
jmp 0x1404aa5fc
je 0x1404aabfe
sub edx, 0x1c
jmp 0x1404aa60a
je 0x1404aab6d
sub edx, 1
jmp 0x1404aa618
je 0x1404aaae2
sub edx, 1
jmp 0x1404aa626
je 0x1404aaa5b
sub edx, 1
je 0x1404aa8e6
sub edx, 2
je 0x1404aa77c
sub edx, 1
jmp 0x1404aa646
je 0x1404aa6e0
sub edx, 1
jmp 0x1404aa654
je 0x1404aa6c6
cmp edx, 1
jmp 0x1404aa662
jne 0x1404a9e48
mov ecx, dword [rsi + 8]
cmp ecx, 0x17
jmp 0x1404aa673
ja 0x1404a9e33
mov eax, 0x2aaaaaab
imul ecx
xor al, r12b
sar edx, 1
and ax, 0x4b82
xor ax, 0x7cf0
mov eax, edx
shr eax, 0x1f
jmp 0x1404aa697
add edx, eax
not ah
mov al, 0x96
lea eax, [rdx + rdx*2]
test bx, dx
shl eax, 2
cmp r13b, bl
sub ecx, eax
movsx ax, r14b
lea eax, [r13 - 0x41]
jmp 0x1404aa6b9
cmove ecx, eax
jmp 0x1404aa6c1
jmp 0x1404a994f
mov ecx, dword [rsi + 8]
cmp r13b, sil
stc
cmp ecx, 0x17
jmp 0x1404aa6d5
jbe 0x1404a994f
jmp 0x1404a9e33
mov r14d, dword [rsi + 0x14]
sub ah, 0xd1
movzx eax, r8w
lea eax, [r14 + 0x76c]
stc
cmp eax, 0x270f
jmp 0x1404aa6fd
ja 0x1404a9e33
mov r8d, dword [rsi + 0x1c]
movsx dx, spl
cqo
mov ecx, r14d
bswap dx
mov dx, r9w
jmp 0x1404aa71d
mov edx, dword [rsi + 0x18]
jmp 0x1404aa725
call fcn.1404a93e9
test eax, eax
jmp 0x1404aa731
jne 0x1404aa744
dec r14d
jmp 0x1404aa73f
jmp 0x1404aa74d
jg 0x1404aa74d
inc r14d
mov esi, 0x30
cdq
mov rdx, r8
not cx
lea ecx, [r14 + 0x76c]
mov word [rsp + 0x20], si
movsx rdx, di
cdq
sete dh
mov edx, 4
jmp 0x1404aa777
jmp 0x1404a97be
mov rax, qword [rbp + 0x58]
mov edx, 0x59
mov r15b, 0xc
mov r13b, byte [rbp + 0x60]
cmovns r15w, si
mov r8, rsi
movsx r15, r9w
jmp 0x1404aa7a2
mov r15, qword [rbp + 0x50]
jmp 0x1404aa7ab
mov byte [rsp + 0x30], r13b
jmp 0x1404aa7b5
mov qword [rsp + 0x28], rax
jmp 0x1404aa7bf
mov qword [rsp + 0x20], r15
jmp 0x1404aa7c9
call fcn.1404a9642
sub ebx, ebx
cmc
clc
test al, al
je 0x1404a99e4
lea r12, [0x1400cf008]
and ch, 0x41
cmc
mov rcx, r12
cmc
clc
stc
cmp qword [r15], rbx
jmp 0x1404aa7f3
je 0x1404aa833
movzx edx, word [rcx]
jmp 0x1404aa803
test dx, dx
jmp 0x1404aa80b
je 0x1404aa833
mov rax, qword [rdi]
add rcx, 2
test bx, 0x6fb9
mov word [rax], dx
test r14w, r8w
add qword [rdi], 2
cmc
sub qword [r15], 1
jne 0x1404aa7f9
mov rax, qword [rbp + 0x58]
not dh
movsx r9w, dl
cqo
mov edx, 0x6d
bswap r9d
movsx cx, r9b
movzx r8, sp
mov byte [rsp + 0x30], r13b
mov r8d, esp
mov r9, rdi
mov qword [rsp + 0x28], rax
mov r8, rsi
movsx rcx, r13w
jmp 0x1404aa86d
mov rcx, r14
jmp 0x1404aa875
mov qword [rsp + 0x20], r15
jmp 0x1404aa87f
call fcn.1404a9642
test al, al
jmp 0x1404aa88b
je 0x1404a99e4
cmp qword [r15], rbx
je 0x1404aa8d7
movzx ecx, word [r12]
test cx, cx
jmp 0x1404aa8a7
je 0x1404aa8d7
mov rax, qword [rdi]
cmp r8, rsi
jmp 0x1404aa8b8
add r12, 2
mov word [rax], cx
stc
cmp dx, r10w
add qword [rdi], 2
sub qword [r15], 1
jmp 0x1404aa8d1
jne 0x1404aa89a
mov edx, 0x64
jmp 0x1404aa8e1
jmp 0x1404aaa39
mov rax, qword [rbp + 0x58]
mov edx, 0x6d
mov r8b, 0x31
mov r13b, byte [rbp + 0x60]
movzx r8d, r10w
mov r8, rsi
mov r15, qword [rbp + 0x50]
jmp 0x1404aa906
mov byte [rsp + 0x30], r13b
jmp 0x1404aa910
mov qword [rsp + 0x28], rax
jmp 0x1404aa91a
mov qword [rsp + 0x20], r15
jmp 0x1404aa924
call fcn.1404a9642
xor ebx, ebx
test al, al
jmp 0x1404aa932
je 0x1404a99e4
lea r12, [0x1400cf000]
sub ch, 0xec
btr cx, 0x8a
cmp ch, dh
mov rcx, r12
cmp qword [r15], rbx
jmp 0x1404aa954
je 0x1404aa984
movzx edx, word [rcx]
test dx, dx
je 0x1404aa984
mov rax, qword [rdi]
add rcx, 2
cmc
mov word [rax], dx
add qword [rdi], 2
sub qword [r15], 1
jmp 0x1404aa97e
jne 0x1404aa95a
mov rax, qword [rbp + 0x58]
mov rdx, rax
movzx r9d, dx
mov edx, 0x64
bswap r9d
mov byte [rsp + 0x30], r13b
mov r9, rdi
movsx rcx, r10w
mov qword [rsp + 0x28], rax
not cx
movzx r8, r12w
xchg r8d, r8d
mov r8, rsi
bswap rcx
mov cx, sp
jmp 0x1404aa9c0
mov rcx, r14
jmp 0x1404aa9c8
mov qword [rsp + 0x20], r15
call fcn.1404a9642
test al, al
jmp 0x1404aa9d9
je 0x1404a99e4
cmp qword [r15], rbx
jmp 0x1404aa9e7
je 0x1404aaa27
movzx ecx, word [r12]
test cx, cx
je 0x1404aaa27
mov rax, qword [rdi]
cmp edx, ebp
add r12, 2
clc
test cx, r14w
mov word [rax], cx
test r15b, 0xc6
add qword [rdi], 2
cmp r9w, r15w
jmp 0x1404aaa1d
sub qword [r15], 1
jne 0x1404aa9ed
mov edx, 0x79
movsx ax, r11b
cmovg eax, r12d
movzx eax, r13w
mov rax, qword [rbp + 0x58]
jmp 0x1404aaa42
mov byte [rsp + 0x30], r13b
jmp 0x1404aaa4c
mov qword [rsp + 0x28], rax
jmp 0x1404aaa56
jmp 0x1404a9c86
mov ecx, dword [rsi + 0x14]
jmp 0x1404aaa65
add ecx, 0x76c
cmp ecx, 0x270f
jmp 0x1404aaa76
ja 0x1404a9e33
mov al, byte [rbp + 0x60]
cwd
movsxd rdx, eax
neg al
movsx rdx, r12w
movzx ax, r8b
mov eax, 0x51eb851f
mov rdx, rdi
bswap dx
movsx dx, r14b
sbb r8w, r8w
btr dx, r14w
imul ecx
bsr ax, di
not r8w
mov ecx, edx
btc eax, eax
cmc
and r8w, 0x30
sar ecx, 5
lahf
sbb al, 0x76
sub ax, r9w
mov eax, ecx
clc
test sp, r8w
test r13b, 0x7f
shr eax, 0x1f
cmc
add ecx, eax
jmp 0x1404aaadd
jmp 0x1404aa1f3
cmp dword [rsi + 0x10], 0xb
jmp 0x1404aaaeb
ja 0x1404a9e33
movsxd rcx, dword [rsi + 0x10]
rol dh, cl
or dl, 0x18
sbb ax, 0x21a5
xor ebx, ebx
mov rax, qword [rbp + 0x58]
shr dl, cl
rol dx, 0xc8
bsr dx, bx
mov rdx, qword [rax + rcx*8 + 0x230]
sbb rcx, 0xb0e682e
ror ch, cl
mov rcx, qword [rbp + 0x50]
cmp qword [rcx], rbx
jmp 0x1404aab2b
je 0x1404ab277
movzx r8d, word [rdx]
test bp, 0x6610
test r8w, r8w
jmp 0x1404aab43
je 0x1404ab277
mov rax, qword [r9]
stc
add rdx, 2
mov word [rax], r8w
add qword [r9], 2
sub qword [rcx], 1
jmp 0x1404aab62
jne 0x1404aab31
jmp 0x1404ab277
cmp dword [rsi + 0x18], 6
jmp 0x1404aab76
ja 0x1404a9e33
movsxd rcx, dword [rsi + 0x18]
btr eax, 0x60
sub eax, 0x9241fa4
sub ebx, ebx
mov rax, qword [rbp + 0x58]
and dx, 0x674
add dl, r14b
mov rdx, qword [rax + rcx*8 + 0x198]
movsx rcx, bx
xadd ecx, ecx
mov rcx, qword [rbp + 0x50]
test r8w, r9w
cmp qword [rcx], rbx
jmp 0x1404aabb6
je 0x1404ab277
movzx r8d, word [rdx]
clc
test r8w, r8w
jmp 0x1404aabca
je 0x1404ab277
mov rax, qword [r9]
add rdx, 2
mov word [rax], r8w
cmp dx, 0x8ed
stc
add qword [r9], 2
jmp 0x1404aabea
sub qword [rcx], 1
jmp 0x1404aabf3
jne 0x1404aabbc
jmp 0x1404ab277
mov rcx, qword [rbp + 0x50]
add rdx, 0xbf6320b
lea rdx, [0x1400cf010]
xor ebx, ebx
cmp qword [rcx], rbx
jmp 0x1404aac1a
je 0x1404ab277
movzx r8d, word [rdx]
test r8w, r8w
jmp 0x1404aac2d
je 0x1404ab277
mov rax, qword [r9]
test r14d, 0x54007124
add rdx, 2
mov word [rax], r8w
test sp, r14w
add qword [r9], 2
test dh, 0xba
sub qword [rcx], 1
jmp 0x1404aac59
jne 0x1404aac20
jmp 0x1404ab277
mov ecx, dword [rsi + 4]
cmp r14b, 0xa5
cmp ecx, 0x3b
jmp 0x1404aa6d5
sub edx, 0x52
jmp 0x1404aac7b
je 0x1404ab0d5
sub edx, 1
jmp 0x1404aac89
je 0x1404ab0bd
sub edx, 1
jmp 0x1404aac97
je 0x1404aaf0f
sub edx, 1
je 0x1404aae24
sub edx, 1
je 0x1404aad52
sub edx, 1
jmp 0x1404aacb7
je 0x1404aae24
sub edx, 1
jmp 0x1404aacc5
je 0x1404aad28
cmp edx, 1
jmp 0x1404aacd3
jne 0x1404a9e48
mov ecx, dword [rsi + 0x14]
add ecx, 0x76c
jmp 0x1404aace7
cmp ecx, 0x270f
ja 0x1404a9e33
mov al, byte [rbp + 0x60]
test r13w, 0x3807
clc
neg al
jmp 0x1404aad04
sbb dx, dx
cmc
clc
not dx
test bh, 0x83
cmc
and dx, 0x30
jmp 0x1404aad19
mov word [rsp + 0x20], dx
jmp 0x1404aad23
jmp 0x1404aa76d
mov rax, qword [rbp + 0x58]
movzx rdx, cx
mov edx, 2
jmp 0x1404aad3a
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x50]
jmp 0x1404aad48
mov qword [rsp + 0x20], rax
jmp 0x1404a9d77
mov r14d, dword [rsi + 0x18]
mov edx, r14d
movsx ecx, r11w
mov r15d, dword [rsi + 0x14]
movsxd rcx, r9d
setl r8b
movzx r8d, bp
mov ecx, r15d
bswap r8d
mov r8d, dword [rsi + 0x1c]
jmp 0x1404aad7b
call fcn.1404a93e9
test eax, eax
jne 0x1404aade6
lea ecx, [r15 - 1]
jmp 0x1404aad91
call fcn.1400e1847
sub r14d, dword [rsi + 0x1c]
shl r8b, 0xf9
sar r8d, 0xbe
lea ecx, [r15 - 1]
adc rdx, 0x7de80f98
inc r8d
setb dl
movzx r8d, al
mov edx, 7
jmp 0x1404aadc5
add r8d, 0x16d
cmp ecx, ecx
test al, r10b
add edx, r14d
jmp 0x1404aadd9
call fcn.1404a93e9
mov r10d, eax
jmp 0x1404aadfa
test eax, eax
movsx r10w, al
bswap r10d
mov r10d, 1
cmovg r10d, eax
mov al, byte [rbp + 0x60]
neg al
jmp 0x1404aae04
sbb cx, cx
not cx
cmc
and cx, 0x30
jmp 0x1404aae14
mov word [rsp + 0x20], cx
bswap rcx
mov ecx, r10d
jmp 0x1404a97b1
mov ecx, dword [rsi + 0x18]
test r13b, r9b
clc
cmp ecx, 6
jmp 0x1404aae33
ja 0x1404a9e33
xor ebx, ebx
cmp r8d, 0x57
jmp 0x1404aae44
jne 0x1404aae6c
test ecx, ecx
jmp 0x1404aae51
jne 0x1404aae64
lea ecx, [rbx + 6]
jmp 0x1404aae5f
jmp 0x1404aae6c
dec ecx
shrd r8w, si, 0x1c
mov r8d, dword [rsi + 0x1c]
cmp r8d, 0x16d
ja 0x1404a9e33
cmp r8d, ecx
jl 0x1404aaee3
mov eax, 0x92492493
cwd
shrd bx, r14w, 0x19
imul r8d
add edx, r8d
add ax, 0x55d4
rcl eax, 0xed
sar edx, 2
test r9b, 0xf0
movsx ax, r10b
mov eax, edx
rol bl, cl
shr eax, 0x1f
movsx rbx, ax
add edx, eax
imul eax, edx, 7
mov ebx, edx
sub r8d, eax
test r12w, 0x7f87
clc
jmp 0x1404aaecd
cmp r8d, ecx
jmp 0x1404aaed5
jl 0x1404aaee3
inc ebx
movsx cx, r8b
cmc
mov al, byte [rbp + 0x60]
sal ecx, 0x55
mov ecx, ebx
test bpl, sil
jmp 0x1404aaef3
neg al
sbb dx, dx
cmc
jmp 0x1404aaefe
not dx
and dx, 0x30
jmp 0x1404aaf0a
jmp 0x1404a97a8
mov al, byte [rbp + 0x60]
mov r8b, 0x26
xchg dl, r12b
movzx r12d, di
mov edx, 0x48
movsx r12w, r12b
movzx r12d, r8w
mov r12, qword [rbp + 0x50]
not r8d
movzx r8, r9w
mov r8, rsi
jmp 0x1404aaf3d
mov byte [rsp + 0x30], al
cwde
movsx eax, dx
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
jmp 0x1404aaf58
call fcn.1404a9642
sub ebx, ebx
test r15b, 0xe0
jmp 0x1404aaf6b
test al, al
jmp 0x1404aaf72
je 0x1404a99e4
lea r15, [0x1400ceffc]
bt rcx, rdx
mov rcx, r15
cmp r15b, 0x63
clc
cmp qword [r12], rbx
jmp 0x1404aaf94
je 0x1404aafd8
movzx edx, word [rcx]
cmp dil, 0x46
test dx, dx
je 0x1404aafd8
mov rax, qword [rdi]
jmp 0x1404aafb6
add rcx, 2
clc
mov word [rax], dx
stc
clc
cmp dil, 0x1a
add qword [rdi], 2
sub qword [r12], 1
jmp 0x1404aafd2
jne 0x1404aaf9a
mov rax, qword [rbp + 0x58]
setbe ch
movsxd r8, r14d
jmp 0x1404aafe7
mov edx, r13d
movzx r8w, r11b
mov r13b, byte [rbp + 0x60]
movsx ecx, r14w
setle r8b
movzx r8w, bpl
mov r9, rdi
cmovp ecx, r14d
movzx r8w, r11b
movsx rcx, r15w
mov byte [rsp + 0x30], r13b
mov r8, rsi
cmovae cx, cx
xchg ch, ch
jmp 0x1404ab023
mov qword [rsp + 0x28], rax
mov cx, r11w
jmp 0x1404ab033
mov rcx, r14
jmp 0x1404ab03b
mov qword [rsp + 0x20], r12
jmp 0x1404ab045
call fcn.1404a9642
test al, al
jmp 0x1404ab051
je 0x1404a99e4
cmp qword [r12], rbx
jmp 0x1404ab060
je 0x1404ab0a4
movzx ecx, word [r15]
cmc
test sil, 0xd4
clc
test cx, cx
je 0x1404ab0a4
mov rax, qword [rdi]
cmc
stc
add r15, 2
test r10b, r9b
mov word [rax], cx
cmp r12, rbx
add qword [rdi], 2
jmp 0x1404ab094
sub qword [r12], 1
jmp 0x1404ab09e
jne 0x1404ab066
mov edx, 0x53
jmp 0x1404ab0ae
mov byte [rsp + 0x30], r13b
jmp 0x1404ab0b8
jmp 0x1404ab1a4
mov ecx, dword [rsi]
jmp 0x1404ab0c8
cmp ecx, 0x3c
jmp 0x1404ab0d0
jmp 0x1404aa6d5
mov al, byte [rbp + 0x60]
movzx r8d, r8w
jmp 0x1404ab0e1
mov edx, 0x48
mov r12, qword [rbp + 0x50]
movzx r8, cx
mov r8w, 0x2136
movsx r8w, r12b
mov r8, rsi
jmp 0x1404ab100
mov byte [rsp + 0x30], al
movzx eax, cx
mov rax, qword [rbp + 0x58]
jmp 0x1404ab110
mov qword [rsp + 0x28], rax
jmp 0x1404ab11a
mov qword [rsp + 0x20], r12
call fcn.1404a9642
xor ebx, ebx
test al, al
jmp 0x1404ab12d
je 0x1404a99e4
lea r15, [0x1400ceffc]
cmp qword [r12], rbx
je 0x1404ab194
movzx ecx, word [r15]
cmp edx, 0x51375b85
test cx, cx
jmp 0x1404ab156
je 0x1404ab194
mov rax, qword [rdi]
cmc
cmp r14w, r13w
test r14d, 0x4a5354ff
add r15, 2
cmc
mov word [rax], cx
clc
cmp r11b, 0x43
add qword [rdi], 2
test dx, r11w
test dil, 0xb1
sub qword [r12], 1
jmp 0x1404ab18e
jne 0x1404ab144
mov al, byte [rbp + 0x60]
mov edx, r13d
jmp 0x1404ab19f
mov byte [rsp + 0x30], al
cwde
mov rax, qword [rbp + 0x58]
jmp 0x1404ab1ad
mov qword [rsp + 0x28], rax
jmp 0x1404ab1b7
mov qword [rsp + 0x20], r12
jmp 0x1404ab1c1
jmp 0x1404a9c8f
call fcn.1400a642c
call fcn.140194c9b
mov ecx, dword [rsi + 0x20]
jmp 0x1404ab1d8
neg ecx
movsx rcx, dx
sbb rdx, rdx
mov cx, r14w
sub ebx, ebx
not cl
btr rcx, r11
and edx, 8
btr cx, di
or ecx, 0x3b61732a
mov rcx, qword [rax + rdx]
adc dl, r11b
movsxd rdx, r15d
bt dx, cx
mov rdx, qword [rbp + 0x50]
clc
cmp al, 0x46
jmp 0x1404ab214
cmp qword [rdx], rbx
jmp 0x1404ab21c
je 0x1404ab277
movzx r8d, word [rcx]
cmp r14w, 0x4933
clc
test r8w, r8w
jmp 0x1404ab236
je 0x1404ab277
mov rax, qword [rdi]
jmp 0x1404ab246
add rcx, 2
clc
jmp 0x1404ab251
mov word [rax], r8w
cmp bpl, 0xaf
add qword [rdi], 2
cmp r14d, 0x28124799
test r8b, 0x54
sub qword [rdx], 1
jmp 0x1404ab271
jne 0x1404ab222
mov al, 1
jmp 0x1404ab27e
lea r11, [rsp + 0x50]
jmp 0x1404ab28c
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
movsx ebp, cx
mov rdi, qword [r11 + 0x48]
setnp r14b
cmovno r14w, r11w
movsx rbp, si
mov rsp, r11
cmovp r13w, dx
pop r15
cmovnp bp, ax
pop r14
setnp bpl
bswap r12d
movsx r12, r12w
pop r13
pop r12
mov bpl, 0x22
setbe bpl
mov rbp, rdi
pop rbp
ret