Function at 0x1403e2a26
Capabilities:
Encrypt data using speck

Disassembly:
push r15
jmp 0x1403e2a36
push r14
cmovp r14w, r13w
push r13
ror r14, 0x43
rcr r14b, cl
shr r13, cl
push r12
cmp cx, 0x2581
movzx r13d, r14w
push rsi
push rdi
movzx r14, si
movzx edi, dx
push rbp
cmove r14d, r12d
rcr r14b, cl
push rbx
btr r14d, 0xa8
ror r14b, 0xec
bt r14, r10
sub rsp, 0x78
test cx, 0xa99
bts rdi, rdx
shrd r14d, ecx, 0x90
mov r14, rdx
test r11w, si
btc di, r10w
mov rdi, rcx
test dil, 0x7e
bsr r13w, r10w
mov r13, qword [rdx + 8]
test r13, r13
jmp 0x1403e2aa9
mov qword [rsp + 0x28], rdx
jmp 0x1403e2ab3
je 0x1403e2b90
mov eax, dword [r14 + 4]
bt edx, 0x6e
mov edx, dword [r14 + 0x30]
shr edx, 2
cmp r13d, 0x5ace04aa
adc cl, r9b
bsf rcx, rdx
and edx, 7
sar cx, cl
cmovs rcx, rax
imul eax, dword [r14]
inc cx
adc ecx, r10d
cmp edx, 3
movsxd rcx, esp
mov ecx, 2
cmovne ecx, edx
cmp r12b, 0x19
stc
test r9, r9
jmp 0x1403e2b05
cmovne ecx, edx
test ch, cl
cmp ecx, 3
jmp 0x1403e2b12
je 0x1403e2d2e
cmp ecx, 2
jmp 0x1403e2b20
jne 0x1403e2da2
test eax, eax
jmp 0x1403e2b2d
jle 0x1403e2da2
mov r8d, eax
jmp 0x1403e2b3e
cmp eax, 1
jmp 0x1403e2b46
jne 0x1403e3735
xor eax, eax
test r8b, 1
je 0x1403e2da2
mov rcx, qword [r14 + 0x18]
test sp, dx
clc
cmp byte [rcx + rax], 0
jmp 0x1403e2b69
je 0x1403e2da2
shl eax, 2
cdq
movsx edx, si
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
jmp 0x1403e2b83
mov edx, dword [rdx + rax]
jmp 0x1403e2b8b
jmp 0x1403e2d9d
mov rcx, rdi
cmovne edx, r8d
cmp r12b, r14b
mov rdx, r14
test r9b, 0xa2
xor r9d, r9d
call fcn.1403e4520
test eax, eax
jmp 0x1403e2bb0
je 0x1403e4459
mov ebx, dword [r14]
test r12, rsi
test spl, 0x23
xor eax, eax
cmp bx, ax
test bp, 0x1dce
test ebx, ebx
jmp 0x1403e2bd1
js 0x1403e445b
cmp ebx, 0x1fffffff
jmp 0x1403e2be2
ja 0x1403e445b
mov ecx, dword [r14 + 4]
add ebp, esi
lea ebp, [rbx*4]
cwde
mov eax, ebp
test r11w, r13w
or eax, ecx
jmp 0x1403e2c03
js 0x1403e4459
test ecx, ecx
jmp 0x1403e2c10
je 0x1403e2c39
mov eax, 0x7fffffff
xor edx, edx
jmp 0x1403e2c23
idiv ecx
test edx, 0x4f7a2c50
cmc
cmp eax, ebp
jmp 0x1403e2c33
jl 0x1403e4459
imul ebx, ecx
cmovp r15d, esp
mov rax, rcx
movzx r15, r13w
lea eax, [rbx*4]
jmp 0x1403e2c53
movsxd r15, eax
mov cl, r15b
cmovge rcx, r10
mov rcx, r15
jmp 0x1403e2c65
call fcn.1401c2175
mov r12, rax
mov qword [r14 + 8], rax
sets ch
movzx cx, dil
movsxd rcx, r13d
mov rcx, r15
jmp 0x1403e2c84
call fcn.1401c2175
mov rsi, rax
xchg cl, ch
mov qword [r14 + 0x10], rax
movsx rcx, dx
movzx ecx, r15w
movsxd rcx, esi
movsxd rbx, ebx
mov rcx, rbx
call fcn.1401c2175
mov qword [r14 + 0x18], rax
stc
cmp r8w, 0x3806
test r12, r12
jmp 0x1403e2cbb
je 0x1403e4459
mov rbp, rax
stc
clc
sub eax, eax
test rsi, rsi
jmp 0x1403e2cd0
je 0x1403e445b
test rbp, rbp
je 0x1403e445b
mov qword [rsp + 0x68], r13
mov rcx, r12
rol r8b, cl
xor edx, edx
mov r8, r15
call fcn.14045a4ef
mov rcx, rsi
xor edx, edx
jmp 0x1403e2d06
mov r8, r15
jmp 0x1403e2d0e
call fcn.14045a4ef
mov rcx, rbp
xor edx, edx
movzx r8d, dx
mov r8, rbx
jmp 0x1403e2d24
call fcn.14045a4ef
jmp 0x1403e2e0d
test eax, eax
jmp 0x1403e2d35
jle 0x1403e2da2
mov r8d, eax
jmp 0x1403e2d43
cmp eax, 1
jmp 0x1403e2d4b
jne 0x1403e37f4
sub eax, eax
cmp ax, 0x4134
cmp r13d, esp
test r8b, 1
jmp 0x1403e2d63
je 0x1403e2da2
mov rcx, qword [r14 + 0x18]
cmp byte [rcx + rax], 0
jmp 0x1403e2d76
je 0x1403e2da2
mov rcx, qword [r14 + 8]
shl eax, 2
movzx rdx, si
or r8w, 0x7c9c
mov edx, dword [r9 + rax]
bts r8, rcx
rol r8w, cl
sbb r8w, di
mov dword [rcx + rax], edx
rol ch, cl
mov qword [rsp + 0x68], r13
cmp r8b, 0xf2
cwde
cdq
mov rdx, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
adc r8b, r12b
mov r8b, r12b
movsxd rax, dword [r14]
movsxd r8, dword [r14 + 4]
test r14b, dil
cmp r12b, 0xd5
imul r8, rax
test r13b, 0xa4
cmp r9d, 0x73963c1c
shl r8, 2
jmp 0x1403e2de1
call fcn.140459a26
mov rbp, qword [r14 + 0x18]
btr cx, r8w
adc al, 0xaf
movsxd rax, dword [r14]
btr r8w, 0x81
dec ch
movsxd rbx, dword [r14 + 4]
imul rbx, rax
cmc
shl cx, 0x72
rol r8b, 0x4f
mov rcx, rbp
movzx r8d, r15w
cmp r13b, cl
adc r8b, r12b
sub edx, edx
movsx r8w, dl
mov r8, rbx
call fcn.14045a4ef
lea rsi, [rdi + 0xc0]
test di, 0x5d60
lea r12, [rdi + 0xc8]
movzx ax, r13b
lea r15, [rdi + 0x30]
shr rcx, 0x80
xor r13b, al
lea r13, [rdi + 0x38]
btr r14w, 0x2f
rcr ah, 0x16
lea r14, [rdi + 0x39]
ror al, cl
nop word cs:[rax + rax]
nop dword [rax]
movzx ax, r10b
mov rcx, qword [rsi]
sub ax, ax
stc
mov rax, qword [r12]
cmp rcx, rax
jmp 0x1403e2e85
jae 0x1403e2eaf
lea rdx, [rcx + 1]
cmc
cmp r11d, r15d
mov qword [rsi], rdx
cmp bpl, dil
mov cl, byte [rcx]
test r10b, 0x99
test edi, ebp
cmp cl, 0x21
je 0x1403e2f66
jmp 0x1403e35d1
cmp dword [r15], 0
jmp 0x1403e2eb8
je 0x1403e4459
mov r8d, dword [rdi + 0x34]
cdq
mov rcx, qword [rdi + 0x28]
cqo
mov rdx, r13
jmp 0x1403e2ed1
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
test r12w, dx
cmp spl, 0x3c
sub ecx, dword [rdi + 0xd0]
add dword [rdi + 0xb8], ecx
test eax, eax
je 0x1403e2f15
cdqe
add cl, 0xc
xor cl, 0x88
add rax, rdi
sub cl, r10b
add rax, 0x38
jmp 0x1403e2f0d
mov cl, byte [rdi + 0x38]
jmp 0x1403e2f42
mov dword [r15], 0
sbb dl, sil
add eax, 0x7de539bc
sub ah, 0xa5
mov byte [r13], 0
shld eax, ecx, 0xd7
sal ah, 0xd8
sub ecx, ecx
cmc
mov rax, r14
sar dl, 0x16
movzx rdx, r10w
add dl, dl
mov qword [r12], rax
shrd dx, cx, 0x63
mov qword [rsi], r14
mov rdx, r14
test r14, 0x5e404417
cmp cl, 0x21
jmp 0x1403e2f60
jne 0x1403e35d1
cmp rdx, rax
jmp 0x1403e2f6e
jae 0x1403e2f97
lea rbx, [rdx + 1]
sub cl, r12b
mov qword [rsi], rbx
adc cl, 0x21
shr cl, 0xbd
and cl, r10b
mov cl, byte [rdx]
cmp cl, 0xf9
jne 0x1403e348c
jmp 0x1403e304a
cmp dword [r15], 0
jmp 0x1403e2fa0
je 0x1403e348c
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
movzx edx, r9w
mov rdx, r13
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
stc
sub ecx, dword [rdi + 0xd0]
stc
cmp rdi, r9
add dword [rdi + 0xb8], ecx
test bl, spl
jmp 0x1403e2fd7
test eax, eax
jmp 0x1403e2fde
je 0x1403e3004
cdqe
sub cl, al
test sil, r11b
dec cl
lea rax, [rax + rdi]
mov cl, 0x41
sal cl, 0x66
add rax, 0x38
xchg cl, cl
mov cl, byte [rdi + 0x38]
jmp 0x1403e3032
mov dword [r15], 0
or al, r8b
mov byte [r13], 0
btr rax, 0x55
bsr ebx, r8d
xor ecx, ecx
cdqe
btc bx, 0x9f
mov rax, r14
cmp edi, r14d
mov bl, r9b
bts ebx, r15d
mov qword [r12], rax
mov qword [rsi], r14
mov rbx, r14
test r10b, 0x6c
cmc
cmp cl, 0xf9
jne 0x1403e348c
cmp rbx, rax
jae 0x1403e3090
lea rcx, [rbx + 1]
mov qword [rsi], rcx
mov dl, byte [rbx]
cmp dl, 4
jmp 0x1403e3064
jne 0x1403e31a6
cmp rcx, rax
jmp 0x1403e3072
jae 0x1403e30f8
lea rax, [rcx + 1]
jmp 0x1403e3081
mov qword [rsi], rax
mov al, byte [rcx]
jmp 0x1403e308b
jmp 0x1403e3271
cmp dword [r15], 0
je 0x1403e2e72
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov dl, bpl
mov rdx, r13
jmp 0x1403e30ad
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
stc
sub ecx, dword [rdi + 0xd0]
test r13w, r11w
jmp 0x1403e30c6
add dword [rdi + 0xb8], ecx
jmp 0x1403e30d2
test eax, eax
jmp 0x1403e30d9
je 0x1403e3165
cdqe
adc dl, 0x11
add rax, rdi
add rax, 0x38
mov dl, byte [rdi + 0x38]
jmp 0x1403e30f3
jmp 0x1403e3183
cmp dword [r15], 0
je 0x1403e3228
mov r8d, dword [rdi + 0x34]
bswap dx
mov rcx, qword [rdi + 0x28]
mov rdx, r13
jmp 0x1403e3115
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
test ch, 0xb0
stc
cmc
sub ecx, dword [rdi + 0xd0]
cmc
test si, ax
add dword [rdi + 0xb8], ecx
test eax, eax
je 0x1403e3234
cdqe
movzx rcx, si
cmp r14w, 0x6e4c
lea rcx, [rdi + rax]
sbb al, 0xff
sal al, cl
add rcx, 0x38
xchg al, al
mov al, sil
mov al, byte [rdi + 0x38]
jmp 0x1403e3160
jmp 0x1403e3265
mov dword [r15], 0
movzx cx, bl
test r8, r12
mov byte [r13], 0
xor edx, edx
mov rax, r14
bsf rcx, r14
inc ch
mov qword [r12], rax
mov qword [rsi], r14
rcr cl, 0x83
shld rcx, rcx, 0x31
sar ch, 0xd4
mov rcx, r14
cmp dl, 4
jmp 0x1403e31a0
je 0x1403e306a
test dl, dl
jmp 0x1403e31ad
je 0x1403e2e72
movzx r8d, dl
test r10w, ax
cmp qword [rdi + 0x10], 0
jmp 0x1403e31c5
je 0x1403e3213
mov ebx, eax
sal dl, 0x4b
sub ebx, ecx
cmp r15b, 0xad
or dl, bpl
btr rdx, r13
mov edx, r8d
cmp rbx, r13
sub edx, ebx
jmp 0x1403e31ea
jle 0x1403e3213
mov qword [rdi + 0xc0], rax
xchg cl, cl
movzx rcx, r9w
movzx cx, r12b
mov rcx, qword [rdi + 0x28]
jmp 0x1403e320b
call qword [rdi + 0x18]
jmp 0x1403e2e72
add rcx, r8
jmp 0x1403e321b
mov qword [rsi], rcx
jmp 0x1403e3223
jmp 0x1403e2e72
xor eax, eax
jmp 0x1403e322f
jmp 0x1403e3271
mov dword [r15], 0
xor bl, r14b
mov byte [r13], 0
cmp r8d, 0x203e7063
inc bx
movzx ecx, sp
xor eax, eax
xchg ch, bh
mov cx, r11w
movzx ebx, r10w
mov rcx, r14
movsxd rbx, eax
setae bl
mov qword [r12], rcx
movsx cx, dil
mov qword [rsi], r14
movzx eax, al
movsx ecx, bx
movsx cx, r10b
jmp 0x1403e3281
mov rbx, qword [rsp + 0x28]
bswap ecx
cmovle cx, r8w
mov dword [rbx + 0x30], eax
bswap rcx
mov rcx, rdi
jmp 0x1403e329b
call fcn.1403e1f7a
add eax, eax
stc
lea eax, [rax + rax*4]
test r15b, r10b
mov dword [rbx + 0x8868], eax
mov eax, dword [rbx + 0x2c]
cmp r10, rsp
cmp r15w, 0x166f
test eax, eax
jmp 0x1403e32c2
js 0x1403e32ce
mov byte [rbx + rax*4 + 0x37], 0xff
clc
test byte [rbx + 0x30], 1
jmp 0x1403e32d7
jne 0x1403e335b
cmp qword [rdi + 0x10], 0
jmp 0x1403e32e7
je 0x1403e33ea
mov rcx, qword [r12]
movzx bx, r15b
dec ah
mov rax, qword [rsi]
test sil, dil
sub bl, 0xbc
mov ebx, ecx
test r9w, 0x4b1c
clc
sub ebx, eax
test r8d, 0x32d517ab
test dil, dl
cmp r8b, dil
test ebx, ebx
jmp 0x1403e3320
jg 0x1403e33f2
mov qword [rdi + 0xc0], rcx
movzx rdx, bx
movsx ecx, r12w
mov dl, 0x85
mov edx, 1
bt ecx, 0x87
sub edx, ebx
movzx rcx, r12w
mov cx, 0x2e1
mov rcx, qword [rdi + 0x28]
jmp 0x1403e3353
call qword [rdi + 0x18]
jmp 0x1403e3401
mov rax, qword [rsi]
cmp rax, qword [r12]
jae 0x1403e3380
lea rcx, [rax + 1]
mov qword [rsi], rcx
jmp 0x1403e3374
mov al, byte [rax]
jmp 0x1403e337b
jmp 0x1403e3462
cmp dword [r15], 0
jmp 0x1403e3389
je 0x1403e341c
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov dh, 0x6b
mov dx, cx
mov rdx, r13
jmp 0x1403e33a5
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
clc
test r14, 0x25253cf0
sub ecx, dword [rdi + 0xd0]
jmp 0x1403e33c2
add dword [rdi + 0xb8], ecx
test eax, eax
jmp 0x1403e33cf
je 0x1403e3428
cdqe
mov cl, dil
lea rcx, [rdi + rax]
add rcx, 0x38
mov al, byte [rdi + 0x38]
jmp 0x1403e344c
mov rax, qword [rsi]
clc
test r9b, 0x72
add rax, 1
jmp 0x1403e33fb
mov qword [rsi], rax
bswap rax
mov rax, qword [rsp + 0x28]
jmp 0x1403e340b
mov dword [rax + 0x2c], 0xffffffff
jmp 0x1403e3417
jmp 0x1403e348c
sub eax, eax
jmp 0x1403e3423
jmp 0x1403e3462
mov dword [r15], 0
xchg cx, cx
btr cx, r13w
ror ecx, cl
mov byte [r13], 0
sub eax, eax
cmovle rcx, rdx
mov rcx, r14
jmp 0x1403e344c
mov qword [r12], rcx
cmovge cx, r13w
mov qword [rsi], r14
movsx cx, r12b
movsx ecx, dx
not ch
movzx eax, al
mov rcx, qword [rsp + 0x28]
jmp 0x1403e346f
mov dword [rcx + 0x2c], eax
jmp 0x1403e3477
mov byte [rcx + rax*4 + 0x37], 0
jmp 0x1403e3481
jmp 0x1403e348c
add rcx, rbx
mov qword [rsi], rcx
mov rdx, qword [rsi]
xor ax, 0x7741
mov ah, ah
mov rax, qword [r12]
test cx, r14w
cmp rdx, rax
jmp 0x1403e34a5
jae 0x1403e34cb
lea rcx, [rdx + 1]
stc
mov qword [rsi], rcx
clc
cmc
movzx edx, byte [rdx]
cmc
test dl, dl
jmp 0x1403e34c0
jne 0x1403e3576
jmp 0x1403e2e72
cmp dword [r15], 0
je 0x1403e2e72
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov edx, ecx
cqo
cmove edx, edx
mov rdx, r13
jmp 0x1403e34ec
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
cmc
sub ecx, dword [rdi + 0xd0]
add dword [rdi + 0xb8], ecx
cmc
test eax, eax
jmp 0x1403e350a
je 0x1403e3539
cdqe
movsxd rdx, ebx
add rax, rdi
sal dx, 0x4d
cmc
sbb edx, 0x42bb6b56
add rax, 0x38
cmovge rdx, rax
movzx edx, byte [rdi + 0x38]
jmp 0x1403e3534
jmp 0x1403e355f
mov dword [r15], 0
btr eax, 0x1e
mov byte [r13], 0
inc ah
xchg cl, ch
cmp dh, bl
xor edx, edx
sal cl, 0x9a
cmovs rax, rcx
mov rax, r14
bt rcx, r14
mov qword [r12], rax
mov qword [rsi], r14
mov rcx, r14
test dl, dl
jmp 0x1403e3570
je 0x1403e2e72
movzx ebx, dl
stc
cmp qword [rdi + 0x10], 0
jmp 0x1403e3584
je 0x1403e3486
mov ebp, eax
not dl
sbb dx, di
sub ebp, ecx
or edx, 0x15b541b8
add dx, r14w
clc
mov edx, ebx
cmp r14b, 0x91
test ax, r14w
clc
sub edx, ebp
jmp 0x1403e35b0
jle 0x1403e3486
mov qword [rdi + 0xc0], rax
movzx ecx, di
mov rcx, qword [rdi + 0x28]
jmp 0x1403e35c9
call qword [rdi + 0x18]
jmp 0x1403e348c
cmp cl, 0x3b
je 0x1403e3728
cmp cl, 0x2c
jmp 0x1403e35e2
jne 0x1403e4459
mov rcx, rdi
jmp 0x1403e35f0
call fcn.1403e1f7a
mov ebx, eax
mov rcx, rdi
call fcn.1403e1f7a
mov qword [rsp + 0x50], rax
jmp 0x1403e3610
mov rcx, rdi
jmp 0x1403e3618
call fcn.1403e1f7a
mov ebp, eax
setnp cl
movzx ecx, si
mov rcx, rdi
jmp 0x1403e362d
call fcn.1403e1f7a
mov r10, rbp
lea ecx, [rbx + rbp]
adc dx, 0x1567
rcl dl, 0x63
shld bp, bx, 0x97
mov rbp, qword [rsp + 0x28]
mov edx, dword [rbp]
cmp ecx, edx
jg 0x1403e4459
mov r8, rbx
mov r9, qword [rsp + 0x50]
movsxd rbx, r13d
lea ebx, [rax + r9]
jmp 0x1403e366a
cmp ebx, dword [rbp + 4]
jmp 0x1403e3672
jg 0x1403e4459
shl edx, 2
mov dword [rbp + 0x8864], edx
shl r8d, 2
mov dword [rbp + 0x884c], r8d
stc
test r14b, 0xa1
imul r9d, edx
jmp 0x1403e36a1
mov dword [rbp + 0x8850], r9d
cmc
test r13, 0x5516381b
shl ecx, 2
cmp r14w, 0x20bf
mov dword [rbp + 0x8854], ecx
clc
imul eax, edx
cmc
add eax, r9d
cmc
mov dword [rbp + 0x8858], eax
jmp 0x1403e36d4
mov dword [rbp + 0x885c], r8d
test r10d, r10d
jmp 0x1403e36e3
cmovne eax, r9d
jmp 0x1403e36ec
mov dword [rbp + 0x8860], eax
stc
shld ax, sp, 0x66
mov rax, qword [rsi]
test r9d, 0x5e23522
cmp r13b, r8b
stc
cmp rax, qword [r12]
jae 0x1403e38ba
lea rcx, [rax + 1]
jmp 0x1403e3719
mov qword [rsi], rcx
jmp 0x1403e3721
mov al, byte [rax]
jmp 0x1403e398c
mov rax, rdi
jmp 0x1403e3730
jmp 0x1403e445b
mov edx, r8d
and edx, 0xfffffffe
mov ebp, 4
cmc
xor eax, eax
jmp 0x1403e375f
add rax, 2
add rbp, 8
clc
cmp rdx, rax
jmp 0x1403e3759
je 0x1403e2b4e
mov rbx, qword [r14 + 0x18]
jmp 0x1403e376b
cmp byte [rbx + rax], 0
jmp 0x1403e3774
je 0x1403e379d
lea ebx, [rbp - 4]
stc
and ebx, 0xfffffff8
and sil, r13b
mov rsi, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
test dx, r13w
mov ecx, dword [rcx + rbx]
mov dword [rsi + rbx], ecx
bts cx, dx
shl rcx, cl
mov rcx, qword [r14 + 0x18]
cmp byte [rcx + rax + 1], 0
jmp 0x1403e37ab
je 0x1403e3748
mov ecx, ebp
shld si, r14w, 0x17
and ecx, 0xfffffffc
movzx rsi, cx
not sil
bswap si
mov rbx, qword [r14 + 8]
xchg sil, sil
jmp 0x1403e37d6
mov rsi, qword [r14 + 0x10]
jmp 0x1403e37df
mov esi, dword [rsi + rcx]
jmp 0x1403e37e7
mov dword [rbx + rcx], esi
jmp 0x1403e37ef
jmp 0x1403e3748
mov r10d, r8d
bsf edx, ebp
xor edx, ebp
and r10d, 0xfffffffe
cmp r11w, 0x22fb
mov edx, 4
stc
cmc
test r8b, 0x71
sub eax, eax
jmp 0x1403e3818
jmp 0x1403e3843
add rax, 2
cmp r8b, r13b
test r12w, 0x7b10
add rdx, 8
test r9w, 0x4ef5
cmp r11w, 0x6016
cmp r10, rax
je 0x1403e2d5a
mov rbx, qword [r14 + 0x18]
jmp 0x1403e384d
cmp byte [rbx + rax], 0
jmp 0x1403e3856
je 0x1403e3878
mov rbx, qword [r14 + 8]
lea esi, [rdx - 4]
and esi, 0xfffffff8
sar rcx, cl
sal ch, 0xff
mov ecx, dword [r9 + rsi]
mov dword [rbx + rsi], ecx
movsx cx, r9b
mov rcx, qword [r14 + 0x18]
test rsp, 0x4adf6bb9
cmp byte [rcx + rax + 1], 0
jmp 0x1403e388d
je 0x1403e381d
mov rcx, qword [r14 + 8]
bt ebp, r11d
cmp r14b, bl
mov ebp, edx
adc bx, 0x7864
and ebp, 0xfffffffc
seta bh
bswap rbx
mov ebx, dword [r9 + rbp]
mov dword [rcx + rbp], ebx
jmp 0x1403e381d
cmp dword [r15], 0
je 0x1403e3919
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
xchg dx, dx
movsxd rdx, ecx
cmovg dx, di
mov rdx, r13
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
clc
sub ecx, dword [rdi + 0xd0]
add dword [rdi + 0xb8], ecx
test eax, eax
je 0x1403e3950
cdqe
bsf cx, r8w
btc rcx, rsi
sbb cl, bh
lea rcx, [rdi + rax]
add rcx, 0x38
mov al, byte [rdi + 0x38]
jmp 0x1403e3914
jmp 0x1403e3974
mov rbp, qword [rsp + 0x28]
test rbp, 0x1e200e08
mov dword [rbp + 0x8848], 0
jmp 0x1403e3939
sub eax, eax
cmp cx, 0x6f1c
test dil, 0xc6
xor ecx, ecx
jmp 0x1403e394b
jmp 0x1403e39ef
mov dword [r15], 0
rol dh, cl
mov byte [r13], 0
mov dh, 0x8d
sub rcx, 0x29911bb0
movsx ebp, r12w
sub eax, eax
mov rcx, r14
xadd ebp, edx
mov qword [r12], rcx
bt ebx, r10d
movsx ecx, r13w
cdq
mov qword [rsi], r14
test r10w, 0x7a34
ror cl, cl
movzx ecx, al
neg bl
mov rbp, qword [rsp + 0x28]
and rax, rdx
inc bh
mov dword [rbp + 0x8848], ecx
ror rax, cl
cwd
cmp r15b, bl
mov eax, ecx
shl eax, 0x19
add ebx, esi
ror ebx, 0xef
sar eax, 0x1f
stc
mov ebx, dword [rbp + 0x8864]
cqo
mov dl, sil
shr edx, 0xde
lea edx, [rbx*8]
jmp 0x1403e39d1
test cl, 0x40
jmp 0x1403e39d9
cmove edx, ebx
test r9w, 0x25ea
clc
and eax, 3
stc
jmp 0x1403e39ef
mov dword [rbp + 0x8844], edx
test r10w, 0x1ccf
mov dword [rbp + 0x8840], eax
jmp 0x1403e3a09
test cl, 0x80
jne 0x1403e3a2f
test byte [rbp + 0x20], 0x80
jmp 0x1403e3a1b
je 0x1403e4459
lea rbx, [rbp + 0x34]
jmp 0x1403e3a2a
jmp 0x1403e3a82
mov r9d, 0xffffffff
clc
test byte [rbp + 0x30], 1
je 0x1403e3a50
mov r9d, dword [rbp + 0x2c]
bsr rdx, rdi
not bx
shrd dx, sp, 0xd1
and cl, 7
test r13b, 0x68
mov r8d, 2
shl r8d, cl
not rdx
movzx rcx, r9w
lea rbx, [rbp + 0x434]
mov dx, 0xd89
mov rcx, rdi
mov rdx, rbx
jmp 0x1403e3a7d
call fcn.1403e4fc2
mov qword [rbp + 0x8838], rbx
mov rax, qword [rsi]
cmp rax, qword [r12]
jmp 0x1403e3a95
jae 0x1403e3ab3
lea rcx, [rax + 1]
jmp 0x1403e3aa4
mov qword [rsi], rcx
mov cl, byte [rax]
jmp 0x1403e3aae
jmp 0x1403e3b6b
cmp dword [r15], 0
jmp 0x1403e3abc
je 0x1403e3b1e
mov r8d, dword [rdi + 0x34]
movsx edx, r12w
mov rcx, qword [rdi + 0x28]
mov rdx, r13
jmp 0x1403e3ad6
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
cmc
jmp 0x1403e3ae5
sub ecx, dword [rdi + 0xd0]
jmp 0x1403e3af0
add dword [rdi + 0xb8], ecx
jmp 0x1403e3b03
test eax, eax
je 0x1403e3b43
cdqe
add rax, rdi
shr cl, cl
add rax, 0x38
mov cl, byte [rdi + 0x38]
jmp 0x1403e3b5d
mov dword [rsp + 0x3c], 1
cdq
cqo
mov dword [rsp + 0x40], 1
bswap dx
movsx dx, r12b
mov edx, 1
jmp 0x1403e3bab
mov dword [r15], 0
cwde
add eax, r9d
mov byte [r13], 0
xor ecx, ecx
shr al, cl
and ax, cx
mov rax, r14
mov qword [r12], rax
mov qword [rsi], r14
cmp r13w, 0x4aed
clc
cmp cl, 0xc
jmp 0x1403e3b73
ja 0x1403e4459
mov edx, 1
shl edx, cl
movzx eax, cl
add eax, 1
mov dword [rsp + 0x40], eax
movsxd rax, r13d
ror ah, 0xf2
rcr al, cl
mov eax, 2
cmc
test al, r15b
shl eax, cl
test r8b, 0x50
cmc
add eax, 0xffffffff
clc
cmc
mov dword [rsp + 0x3c], eax
mov eax, 1
test sil, 0x6c
test cx, r12w
cmp edx, 2
cmovge eax, edx
jmp 0x1403e3bc3
jge 0x1403e3bd5
xor ecx, ecx
jmp 0x1403e3bd0
jmp 0x1403e3c8f
mov r8, rdx
mov bl, r11b
movsx ebx, ax
test bp, 0x3aa7
mov edx, eax
sal bpl, cl
inc bpl
shl ebx, 0x79
and edx, 0x7ffffffe
add bx, 0x459c
cmc
xor ecx, ecx
mov rbp, qword [rsp + 0x28]
nop word [rax + rax]
sub bl, 0x88
mov ebx, 0x32352150
sar bh, cl
mov word [rbp + rcx*4 + 0x834], 0xffff
add bl, r10b
shrd ebx, r9d, 0xc7
mov byte [rbp + rcx*4 + 0x836], cl
rcr ebx, 0x58
and bx, r15w
mov byte [rbp + rcx*4 + 0x837], cl
mov word [rbp + rcx*4 + 0x838], 0xffff
add bh, dh
cmp r13w, 0x590e
lea ebx, [rcx + 1]
mov byte [rbp + rcx*4 + 0x83a], bl
cmp r12, 0x7afb0d7b
test dil, 0x6f
cmc
mov byte [rbp + rcx*4 + 0x83b], bl
test ax, r15w
jmp 0x1403e3c74
add rcx, 2
clc
cmp rcx, rdx
jmp 0x1403e3c81
jne 0x1403e3c14
mov rdx, r8
test r11b, 0x8a
cmc
test al, 1
je 0x1403e3cd1
mov rax, qword [rsp + 0x28]
movsxd r10, r10d
adc bh, bl
mov word [rax + rcx*4 + 0x834], 0xffff
and r10d, ecx
xadd r10w, r11w
jmp 0x1403e3cb8
mov byte [rax + rcx*4 + 0x836], cl
adc r10b, r10b
mov byte [rax + rcx*4 + 0x837], cl
movsx r10w, dl
not r11b
lea ebx, [rdx + 2]
shld r10, rcx, 0xd8
shrd cx, si, 0x8f
mov qword [rsp + 0x70], rdx
bts r11w, r9w
lea eax, [rdx + 1]
mov dword [rsp + 0x60], eax
sar ch, 0x6d
mov r11d, 0xffffffff
jmp 0x1403e3d00
sub eax, eax
mov r10b, dil
rcr r10b, 0x93
cmp r14b, r11b
mov qword [rsp + 0x48], rax
movzx cx, bpl
mov ecx, dword [rsp + 0x40]
btr ax, 0x4f
bts ax, dx
mov eax, dword [rsp + 0x3c]
stc
btc r10w, 0xab
mov dword [rsp + 0x64], ebx
sar r10w, 0x9a
sub r9d, r9d
xor ebp, ebp
xor r8d, r8d
mov dword [rsp + 0x34], r11d
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x5c], eax
movsxd rbx, esi
cdqe
mov r10d, ecx
mov rax, qword [rsp + 0x48]
mov byte [rsp + 0x38], al
movzx ebx, r13w
movzx bx, r10b
mov ebx, ebp
mov qword [rsp + 0x48], r10
jmp 0x1403e3d72
jmp 0x1403e3dd2
lea rax, [rcx + 1]
bt bp, r10w
add bpl, bl
mov qword [rsi], rax
bts eax, r15d
movzx rbp, bp
and ebp, r9d
movzx eax, byte [rcx]
cmc
bt bp, di
movzx eax, al
cmp bl, 0x72
bts ebp, r12d
mov ecx, ebx
shl eax, cl
add r8d, 0xffffffff
or r9d, eax
sub rbp, 0xac36db8
bsr bp, r8w
test al, r11b
add ebx, 8
shrd bp, r10w, 0xf
movsxd rbp, ebp
bswap rbp
mov ebp, ebx
cmp r10w, sp
sub ebp, r10d
jmp 0x1403e3dda
jge 0x1403e4029
mov rcx, qword [rsi]
mov rax, qword [r12]
jmp 0x1403e3dee
test r8d, r8d
jmp 0x1403e3df6
je 0x1403e3e0f
cmp rcx, rax
jmp 0x1403e3e04
jb 0x1403e3d77
jmp 0x1403e3f4e
cmp rcx, rax
jmp 0x1403e3e17
jae 0x1403e3e49
lea r8, [rcx + 1]
cdq
mov qword [rsi], r8
movzx edx, r14w
cdq
movzx rdx, si
movzx edx, byte [rcx]
mov cx, di
cmovns rcx, r12
movsx rcx, dx
mov rcx, r8
jmp 0x1403e3e44
jmp 0x1403e3f29
cmp dword [r15], 0
je 0x1403e43e0
mov ebp, r9d
movzx edx, r15w
cqo
jmp 0x1403e3e61
mov r8d, dword [rdi + 0x34]
xchg cx, cx
mov rcx, qword [rdi + 0x28]
mov dl, r10b
cmovb edx, edi
mov rdx, r13
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
jmp 0x1403e3e8a
sub ecx, dword [rdi + 0xd0]
test r14b, spl
test r10b, 0x9d
add dword [rdi + 0xb8], ecx
test r11b, dl
cmp r12d, 0x6b7612d1
test r13b, 0x40
test eax, eax
je 0x1403e3ecb
cdqe
add rax, rdi
bt dx, 0xaf
stc
add rax, 0x38
movzx edx, byte [rdi + 0x38]
jmp 0x1403e3ef1
mov dword [r15], 0
shl r10, 0x34
not r10w
bswap r9d
mov byte [r13], 0
xor r9, rcx
xor edx, edx
bts cx, bx
mov r9b, 0x9e
mov rax, r14
mov qword [r12], rax
sal ch, 0xef
movzx r9w, r9b
mov qword [rsi], r14
movzx r9, r8w
add r10b, 0x29
mov r9b, r11b
mov rcx, r14
test al, r13b
or r9w, 0x83d
cmp al, 0x3c
mov r9d, ebp
neg r10d
rol r10w, 0x78
mov r10, qword [rsp + 0x48]
test dl, dl
jmp 0x1403e3f30
je 0x1403e43e0
movzx r8d, dl
jmp 0x1403e3f40
cmp rcx, rax
jmp 0x1403e3f48
jb 0x1403e3d77
cmp dword [r15], 0
jmp 0x1403e3f57
je 0x1403e3fcd
mov dword [rsp + 0x50], r8d
not r8w
mov r8b, 0x4d
cwd
mov ebp, r9d
movsxd rcx, eax
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
bswap dx
mov rdx, r13
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
cmc
sub ecx, dword [rdi + 0xd0]
test ecx, 0x2938256c
add dword [rdi + 0xb8], ecx
cmc
test eax, eax
je 0x1403e3fd9
cdqe
or cx, di
lea rcx, [rdi + rax]
bt rax, 0xa5
xchg al, ah
add rcx, 0x38
cwde
xchg al, al
cmovns eax, r15d
movzx eax, byte [rdi + 0x38]
jmp 0x1403e3fc8
jmp 0x1403e4006
xor eax, eax
jmp 0x1403e3fd4
jmp 0x1403e3d99
mov dword [r15], 0
shrd r8w, dx, 0xcc
movsxd rcx, ecx
mov byte [r13], 0
xor eax, eax
xchg r9b, cl
movzx r8w, bl
bswap ecx
mov rcx, r14
cmova r10d, edx
movsx r8w, al
mov r9d, ebp
mov r10, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x50]
mov qword [r12], rcx
jmp 0x1403e401c
mov qword [rsi], r14
jmp 0x1403e4024
jmp 0x1403e3d99
mov edx, r9d
mov ecx, r10d
shld r11w, ax, 0x24
btr ebx, r11d
sar r9d, cl
and edx, dword [rsp + 0x5c]
cmp si, 0x1a8d
dec ebx
mov al, 1
sar r11w, cl
shl ch, 0x92
and r11w, 0x56d0
mov qword [rsp + 0x48], rax
ror al, cl
xchg r11b, al
rol cl, cl
mov ecx, dword [rsp + 0x40]
stc
movsx ax, r13b
bsr r11d, edx
mov eax, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x64]
bswap r11
xadd r11w, r11w
sar r11d, cl
mov r11d, 0xffffffff
stc
cmp edx, dword [rsp + 0x70]
jmp 0x1403e4093
je 0x1403e3d3f
cmp edx, dword [rsp + 0x60]
je 0x1403e4217
mov ebx, dword [rsp + 0x44]
cmp bx, dx
cmp edx, ebx
setg al
mov cl, byte [rsp + 0x38]
jmp 0x1403e40bf
not cl
cmp r11w, r11w
clc
or cl, al
cmc
test cl, 1
jmp 0x1403e40d1
jne 0x1403e4459
cmp dword [rsp + 0x34], 0
jmp 0x1403e40e1
js 0x1403e4163
cmp ebx, 0x1fff
jmp 0x1403e40f2
jg 0x1403e4459
movsxd r11, ebx
btr cx, dx
add ebx, 1
mov rcx, qword [rsp + 0x28]
xchg al, al
rcl rax, 0xda
sbb al, cl
mov eax, dword [rsp + 0x34]
cmc
cmp bpl, r13b
mov word [rcx + r11*4 + 0x834], ax
mov eax, eax
test r8w, r12w
mov al, byte [rcx + rax*4 + 0x836]
mov byte [rcx + r11*4 + 0x836], al
cmp edx, ebx
jmp 0x1403e413c
je 0x1403e4156
movsxd rax, edx
jmp 0x1403e414a
mov al, byte [rcx + rax*4 + 0x836]
jmp 0x1403e4156
mov byte [rcx + r11*4 + 0x837], al
jmp 0x1403e4170
cmp edx, ebx
mov rcx, qword [rsp + 0x28]
je 0x1403e4459
mov dword [rsp + 0x44], ebx
bswap rbx
movsx ebx, r13w
mov dword [rsp + 0x34], r9d
bswap ebx
mov rbx, r10
jmp 0x1403e418a
mov dword [rsp + 0x50], r8d
jmp 0x1403e4194
mov dword [rsp + 0x38], edx
jmp 0x1403e419d
call fcn.1403e5376
mov r9d, dword [rsp + 0x34]
stc
mov edx, dword [rsp + 0x5c]
cbw
sbb r11w, r15w
mov r11d, dword [rsp + 0x44]
or r10b, r13b
test r11d, edx
mov eax, 0x3d8b56d4
movsxd rax, r15d
cbw
sete r8b
sal r10b, cl
cmp r11d, 0x1000
mov r10b, 0x27
setl r10b
lea ecx, [rbx + 1]
mov eax, 0xffffffff
shl eax, cl
not eax
test r10b, r8b
movsx r8, si
mov r8d, dword [rsp + 0x50]
jmp 0x1403e41f9
cmovne ebx, ecx
jmp 0x1403e4201
cmove eax, edx
mov ecx, ebx
cmovbe rbx, r10
mov ebx, r11d
mov r11d, dword [rsp + 0x38]
jmp 0x1403e3d3f
test r8d, r8d
jmp 0x1403e421f
je 0x1403e42b7
js 0x1403e4271
cmp qword [rdi + 0x10], 0
je 0x1403e4282
mov rcx, qword [r12]
xor dl, r10b
sbb dx, 0x3050
mov rax, qword [rsi]
movsx edx, bp
mov ebx, ecx
btc rdx, rbx
sub ebx, eax
ror dh, cl
sal rdx, cl
mov edx, r8d
sub edx, ebx
jmp 0x1403e425f
jle 0x1403e428d
mov qword [rdi + 0xc0], rcx
jmp 0x1403e429b
mov rax, qword [r12]
mov qword [rsi], rax
jmp 0x1403e427d
jmp 0x1403e42b7
mov rax, qword [rsi]
bt cx, 0xad
bsr ecx, ecx
mov ecx, r8d
add rcx, rax
mov qword [rsi], rcx
jmp 0x1403e42b7
mov rcx, qword [rdi + 0x28]
jmp 0x1403e42a4
call qword [rdi + 0x18]
jmp 0x1403e42b7
lea rcx, [rcx + rbx]
mov qword [rsi], rcx
bsr r8, rbx
mov rdx, qword [rsi]
btc r8w, r14w
mov r8, qword [r12]
test r8w, 0xc9a
cmp rdx, r8
jmp 0x1403e42d1
jae 0x1403e42f5
lea rcx, [rdx + 1]
jmp 0x1403e42e0
mov qword [rsi], rcx
jmp 0x1403e42e8
movzx edx, byte [rdx]
jmp 0x1403e42f0
jmp 0x1403e43a1
cmp dword [r15], 0
jmp 0x1403e42fe
je 0x1403e43e0
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
cmovbe edx, r8d
mov dl, dil
cdq
mov rdx, r13
jmp 0x1403e431c
call qword [rdi + 0x10]
mov ecx, dword [rdi + 0xc0]
test spl, 0x79
cmc
sub ecx, dword [rdi + 0xd0]
cmp r13b, 0x1b
test esp, r13d
cmc
add dword [rdi + 0xb8], ecx
cmp cx, 0x51f3
test eax, eax
jmp 0x1403e434a
je 0x1403e4372
cdqe
bt dx, 0x2b
lea r8, [rdi + rax]
adc dh, 0x1d
add r8, 0x38
xchg dl, dl
movzx edx, byte [rdi + 0x38]
jmp 0x1403e436d
jmp 0x1403e438c
mov dword [r15], 0
mov byte [r13], 0
neg rcx
xor edx, edx
add cx, bp
mov r8, r14
xadd cl, cl
mov qword [r12], r8
and cx, di
mov qword [rsi], r14
and cl, r13b
mov rcx, r14
clc
test r9w, bx
test dl, dl
jmp 0x1403e43a8
je 0x1403e43e0
movzx ebx, dl
cmp qword [rdi + 0x10], 0
je 0x1403e42ac
mov eax, r8d
sub eax, ecx
shld dx, di, 0x86
ror dl, 0xc5
mov edx, ebx
cmc
sub edx, eax
jle 0x1403e42ac
mov qword [rdi + 0xc0], r8
jmp 0x1403e429b
mov rdi, qword [rsp + 0x28]
bt eax, r15d
sbb ah, 0xdd
mov rax, qword [rdi + 8]
test rax, rax
jmp 0x1403e43f8
je 0x1403e4459
cmp qword [rsp + 0x68], 0
jne 0x1403e445b
cmp dword [rdi + 0x24], 0
jmp 0x1403e4413
jle 0x1403e445b
mov ecx, dword [rdi + 4]
jmp 0x1403e4421
imul ecx, dword [rdi]
test r15b, 6
cmp r8b, 0x4a
test ecx, ecx
jmp 0x1403e4433
jle 0x1403e445b
mov rsi, rax
inc ax
cwde
btc rax, r10
mov eax, ecx
cmp edx, 0x10c966ca
clc
xor ecx, ecx
jmp 0x1403e4454
jmp 0x1403e44b3
xor eax, eax
add rsp, 0x78
movsx bx, r9b
pop rbx
movsxd r13, esp
pop rbp
movzx r12d, r15w
pop rdi
pop rsi
movsxd r12, edi
movsx r15, dx
pop r12
sets r13b
movzx r14d, bx
pop r13
mov r14b, r13b
movsx r14w, r9b
movsx r14, r12w
pop r14
movzx r15, ax
pop r15
jmp 0x1403e449b
ret
add rcx, 1
cmp r11, 0x73ba2dfb
cmp spl, r15b
cmp rcx, rax
je 0x1403e4518
mov rdx, qword [rdi + 0x18]
test r15w, ax
jmp 0x1403e44c0
cmp byte [rdx + rcx], 0
jmp 0x1403e44c9
jne 0x1403e449c
movsxd rdx, dword [rdi + 0x24]
movsx rbp, r13w
movzx ebx, r13w
mov byte [rdi + rdx*4 + 0x37], 0xff
mov rdx, qword [rdi + 8]
movzx bx, dl
lea ebp, [rcx*4]
movzx bx, ch
movsx ebx, bp
xchg rbx, rbx
movsxd rbx, dword [rdi + 0x24]
jmp 0x1403e4502
mov ebx, dword [rdi + rbx*4 + 0x34]
jmp 0x1403e450b
mov dword [rdx + rbp], ebx
jmp 0x1403e4513
jmp 0x1403e449c
mov rax, rsi
jmp 0x1403e445b