Function at 0x1ebaac8
Capabilities:
Encrypt data using speck

Disassembly:
jb 0x138b824
mov edi, 3
mov eax, dword [ebp - 8]
sub bx, si
rcl bl, 5
shl edi, 7
lea ebx, [edi + eax + 0x360]
movsx eax, ax
mov eax, dword [ebp + 8]
cmovge di, dx
jmp 0x1808bcc
mov dword [ebp - 0xc], eax
jmp 0x17f8615
shr ecx, 0xb
cmp bp, 0x3ceb
test al, 0x6d
imul ecx, edi
cmp esi, ecx
jmp 0x1392572
imul eax, dword [ebp - 0x10]
stc
cmp esi, eax
jae 0x17eb3b4
mov edx, eax
mov eax, dword [ebp - 8]
cmp esp, 0x5b3468c9
cmc
lea eax, [eax + 0xe6c]
cmp ebx, esi
cmp dword [edi + 0x30], 0
jmp 0x138d8dd
jae 0x1809f26
cmp ecx, 0x1000000
jmp 0x18141da
mov dword [ebp - 8], eax
dec ebx
jmp 0x17f0a45
jae 0x17ed086
mov edi, dword [ebp + 8]
rol bx, 0x8d
movzx ebx, byte [edi]
shl esi, 8
stc
or esi, ebx
inc bl
cmp ebx, edi
or ebx, 0x1636cd4
mov ebx, dword [ebp - 0x14]
jmp 0x1815c16
mov dword [ebp + 8], eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], ebx
mov eax, 1
mov edi, edi
dec ecx
mov ecx, dword [ebp - 0xc]
test di, ax
movzx ecx, word [ecx + eax*2]
cmp ah, ch
cmp edx, 0x1000000
jae 0x1815c1f
mov edi, dword [ebp - 4]
cmp dword [ebp + 8], edi
jmp 0x13955a2
dec ebx
test bx, 0x2f6a
clc
stc
mov dword [ebp - 0x14], ebx
cmp edi, 0xe
jae 0x181c106
mov eax, edi
mov ch, 0xd3
and eax, 1
sbb cl, ch
xor cx, cx
or eax, 2
bsr ecx, ebp
mov ecx, ebx
cmp dl, 0x52
shl eax, cl
rcr cl, cl
bt cx, 0x16
shld ecx, ecx, 0x79
mov ecx, dword [ebp - 8]
cmp eax, esi
sub eax, edi
jmp 0x17e7826
sub edx, eax
cmp dh, 0xf4
sub esi, eax
test sp, 0x2f96
clc
lea ecx, [ecx + ecx + 1]
cmp ecx, 0x100
jb 0x139d0a1
mov eax, 1
jmp 0x1eb9a6d
mov edi, dword [ebp - 0xc]
stc
cmp sp, 0x7232
sub edx, ecx
cmp bl, 0xb6
sub esi, ecx
rol ecx, 0x16
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1b0]
test ecx, 0x52076d30
cmp edx, 0x1000000
jmp 0x1ebdf9d
sub edx, ecx
sub esi, ecx
test di, 0x1a7d
stc
lea edi, [edi + edi + 1]
jmp 0x17f554a
shl edx, 8
or esi, edi
jmp 0x17fbf2a
not eax
jmp 0x1ec140a
cmp edi, 4
jmp 0x1808285
jne 0x13956ed
mov eax, dword [ebp - 0x18]
cmp edx, 0x1000000
jmp 0x17fb3eb
jmp 0x13956e5
lea ebx, [ebx + edi + 0x104]
mov dword [ebp - 0x14], eax
jmp 0x1811370
or esi, ebx
jmp 0x17eb298
mov eax, dword [ebp - 0xc]
clc
movzx edi, word [eax + ecx*2]
cmp edx, 0x1000000
jae 0x17eb2a3
mov eax, dword [ebp + 8]
cmp sp, sp
test di, dx
cmp eax, dword [ebp - 4]
jmp 0x17e44ff
or esi, ecx
movsx ecx, sp
inc eax
adc ecx, ebp
mov dword [ebp + 8], eax
sal ecx, 0x43
mov ecx, edx
jmp 0x138f3cc
sub edx, edi
clc
jmp 0x17ee517
or esi, ecx
cmovle cx, ax
dec ecx
inc eax
adc cx, bx
mov dword [ebp + 8], eax
mov ecx, edx
clc
stc
cmp cl, dl
shr ecx, 0xb
imul ecx, edi
cmp esi, ecx
jmp 0x18122e7
and edi, edx
sub esi, edi
test dh, 0x1b
cmp edx, 0x43d70530
sub ebx, 1
jne 0x181c116
mov ecx, dword [ebp - 8]
add ecx, 0x644
dec bx
mov ebx, 4
cmp ch, ch
jmp 0x13956dc
jmp 0x1ebe84c
lea ecx, [ecx + ebx]
jmp 0x17f3687
jae 0x17ed086
movzx ebx, byte [eax]
cmp ebp, 0x48b14071
shl esi, 8
shl edx, 8
jmp 0x139cfd5
jae 0x17ed086
shl ecx, 8
rcr dl, 0x4f
mov edx, ecx
movzx ecx, byte [eax]
shl esi, 8
test esp, esp
jmp 0x139dbee
dec eax
cmp ax, si
and eax, dword [edi + 0x2c]
stc
clc
shl eax, cl
cmp di, 0x73a4
add ebx, eax
clc
imul ebx, ebx, 0x600
jmp 0x1eb9bba
mov edx, ecx
jmp 0x1ec0267
lea eax, [ecx + eax*2 + 0x55e]
mov dword [ebp - 0xc], eax
jmp 0x139c909
inc eax
mov dword [ebp + 8], eax
adc ax, cx
sar eax, cl
mov ah, bl
mov eax, edx
test bp, 0x1a61
cmc
shr eax, 0xb
stc
imul eax, edi
test edx, esi
cmp ax, 0xc85
cmp esi, eax
jae 0x1395ddc
mov edx, eax
cmp edx, esp
jmp 0x1805508
mov ecx, dword [ebp - 0xc]
test ax, sp
sub edx, eax
cmc
sub esi, eax
bswap eax
shr ah, 0x4f
mov eax, dword [ebp - 8]
clc
cmp dx, 0x1d73
movzx ecx, word [eax + ecx*2 + 0x180]
clc
stc
cmp edx, 0x1000000
jmp 0x17feb47
sub eax, eax
clc
mov edi, dword [edi + 0x14]
sub edi, ebx
lea edi, [edi + ecx]
movzx ecx, byte [edi + eax]
cmovle ax, dx
sar edi, 0x66
mov bx, si
mov dword [ebp - 8], 0x100
btc edi, 0x35
mov edi, 1
ror eax, cl
mov edi, edi
movsx eax, dx
xadd bx, bx
mov ebx, dword [ebp - 8]
mov ax, sp
inc ax
add ecx, ecx
mov eax, ebx
cmc
and eax, ecx
test ebp, esi
mov dword [ebp - 0x18], ecx
mov cl, dl
bts ecx, edx
lea ecx, [eax + edi]
lea ecx, [ecx + ebx]
sub bx, di
mov ebx, dword [ebp - 0xc]
test ebx, 0x76813dbb
cmp al, 0x6e
cmc
movzx ecx, word [ebx + ecx*2]
mov dword [ebp - 0x10], ecx
cmp bp, di
cmc
cmp edx, 0x1000000
jmp 0x1ebb8e2
imul ecx, edi
cmp esi, ecx
jae 0x1397705
mov eax, dword [ebp - 0xc]
sal dl, cl
bsr dx, si
mov edi, dword [ebp - 8]
lea eax, [eax + 0xf]
cmp ebp, eax
ror dl, 0xd0
shl eax, 4
rol dh, 0x2f
cmp ax, di
add eax, ebx
rol dh, cl
movzx edi, word [edi + eax*2]
bswap edx
cdq
mov eax, dword [ebp + 8]
sar dx, 0x47
bts dx, bx
mov edx, ecx
clc
cmp sp, sp
cmp ecx, 0x1000000
jmp 0x17feef0
jae 0x17ed086
movzx ecx, byte [eax]
cmc
shl esi, 8
jmp 0x17fe99d
jb 0x17ed088
sub eax, eax
pop edi
mov esi, ebp
mov esi, 0x191b299b
pop esi
pop ebx
jmp 0x1e40230
jae 0x17ed086
movzx ecx, byte [eax]
cmc
shl esi, 8
test esi, edi
jmp 0x17efe77
sub esi, edi
cmp dl, 0x3d
lea eax, [eax + eax + 1]
clc
stc
sub ebx, 1
jmp 0x182621e
jae 0x1398fa9
mov edx, ecx
cmc
test si, 0x41c1
add edi, edi
jmp 0x139af8a
jb 0x1808b8e
sub edi, 0x40
test sp, 0x303b
cmp ebp, ecx
cmp edx, 0x14c92a3b
mov dword [ebp + 8], eax
test bp, sp
jmp 0x139c7a3
jmp 0x139d0a1
shl edx, 8
cmc
jmp 0x1802d7e
jae 0x17f09e0
cmp eax, ecx
jae 0x17ed086
movzx edi, byte [eax]
shl esi, 8
shl edx, 8
cmp esp, 0x76f132a4
test ax, 0x4630
or esi, edi
inc eax
shr edx, 1
btc di, bp
mov di, di
jmp 0x18150ac
and ebx, dword [edi + 0x2c]
jmp 0x17e37ae
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x10], eax
cmp edx, 0x1000000
jmp 0x17fa595
jae 0x17ed086
movzx ecx, byte [eax]
clc
cmp edi, 0x73d33df4
cmp dl, ah
shl esi, 8
jmp 0x1808d28
and dword [ebp - 8], eax
test esp, 0x3ee92bc2
clc
cmp edi, 0x100
jmp 0x17fced1
shl ebx, 4
cwd
mov edx, ebp
mov edx, ecx
jmp 0x139cfbe
jne 0x1804976
cmp dword [edi + 0x2c], 0
jmp 0x1804970
jae 0x17fc5bc
cmp eax, dword [ebp - 4]
jmp 0x17ed665
jae 0x180c52f
mov eax, dword [ebp + 8]
cmp bp, cx
cmp di, 0x3c4c
cmp eax, dword [ebp - 4]
jmp 0x17ece21
mov ecx, dword [edi + 0x24]
mov ebx, dword [edi + 0x38]
test bh, 0x4f
cmp ecx, ebx
jmp 0x1ebfb0a
sub edx, ecx
test ch, 0x80
cmp cl, 0xf9
sub esi, ecx
cmp esi, 0xfab22dd
jmp 0x1ebe848
jae 0x17fac7b
cmp eax, dword [ebp - 4]
jae 0x17ed086
movzx ecx, byte [eax]
test ebp, ebx
shl esi, 8
cmc
cmp dh, dl
test edx, 0xae74ef2
shl edx, 8
cmp ax, 0x62fd
or esi, ecx
cmove cx, di
inc eax
inc cl
mov dword [ebp + 8], eax
movzx eax, word [ebx + edi*2]
and cx, 0x48b6
mov ecx, edx
cmp edx, 0x50265407
shr ecx, 0xb
cmc
cmp di, cx
imul ecx, eax
jmp 0x1ebb514
shr ecx, 0xb
jmp 0x17ec3cc
jae 0x17ed088
mov edx, dword [ebp - 4]
cmp ecx, 0x567d5a18
cmp dword [ebp + 8], edx
jmp 0x17ed080
inc ecx
mov dword [ebp + 8], ecx
bts ecx, esp
mov ecx, edx
shr ecx, 0xb
cmp si, 0x647d
imul ecx, dword [ebp - 0x10]
cmp esi, edi
clc
cmp esi, ecx
jmp 0x17ee52a
inc eax
cmp esp, 0x564e4674
mov dword [ebp + 8], eax
rol ax, cl
mov eax, edx
test cx, sp
shr eax, 0xb
clc
imul eax, ecx
stc
cmp esi, eax
jmp 0x1804a4b
inc eax
clc
mov dword [ebp + 8], eax
xor cl, 0xdd
sal ecx, cl
mov ecx, edx
clc
shr ecx, 0xb
clc
cmp esp, 0x2b604ed0
cmc
imul ecx, edi
cmp ch, dh
cmp ch, 0x7e
cmp esi, ecx
jmp 0x181658c
jae 0x1ec01b5
mov eax, 8
jmp 0x17f5580
jae 0x17fca30
cmp eax, dword [ebp - 4]
jae 0x17ed086
movzx ecx, byte [eax]
stc
shl esi, 8
test dl, dh
cmp bh, 0x76
shl edx, 8
test esp, 0x26cb3149
or esi, ecx
inc eax
shld ecx, edi, 0xa
sbb ch, ch
mov ecx, edx
cmp si, bx
shr ecx, 0xb
test esi, 0x548d5275
cmp esi, edi
imul ecx, dword [ebp - 0x10]
cmp ebp, esi
cmp esi, ecx
jmp 0x1825d5d
inc eax
jmp 0x180c52c
jae 0x1395df9
mov ecx, dword [ebp - 0x18]
jmp 0x17ec339
shl edx, 8
test al, 0xee
stc
or esi, ecx
jmp 0x17fcdd1
jae 0x17fbf37
mov eax, dword [ebp + 8]
stc
clc
cmp eax, dword [ebp - 4]
jae 0x17ed086
movzx edi, byte [eax]
test bp, 0x1b12
cmp edi, 0xef8612e
cmp dx, si
shl esi, 8
jmp 0x1399102
jae 0x139dbfc
cmp eax, dword [ebp - 4]
jmp 0x17e4ac2
mov eax, 3
xchg ebx, ebx
pop ebx
jmp 0x1812f34
or esi, ecx
jmp 0x17fc5b2
je 0x1eb9bbd
mov ecx, dword [edi + 0x24]
test di, cx
test ecx, ecx
jne 0x1804987
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x14]
movzx ebx, byte [ebx + ecx - 1]
bts cx, si
bt ecx, 0xd6
mov eax, dword [edi]
xadd ecx, ecx
mov ecx, 8
test sp, 0x394b
cmc
sub cl, al
shr ebx, cl
mov ecx, dword [edi + 4]
mov eax, 1
stc
shl eax, cl
mov ecx, dword [edi]
jmp 0x17e536d
jae 0x180dbe0
mov edi, dword [ebp - 8]
rcr dh, 0xcb
btr dx, 0x48
mov edx, eax
sbb ax, 0x3695
btc eax, 2
xor eax, 0xe4608d5
mov eax, dword [ebp + 8]
cmc
mov dword [ebp - 0xc], 0
test di, di
stc
jmp 0x18285e9
add ecx, ecx
jmp 0x1395ded
jmp 0x1809f3d
jb 0x139c7f5
mov ebx, edi
stc
test si, 0x4eb6
shr ebx, 1
jmp 0x1395d82
movzx ecx, word [ebx + edi*2]
clc
test bp, 0x147f
test al, bl
mov dword [ebp - 0x10], ecx
cmp edx, 0x1000000
jmp 0x17fca03
mov edi, 1
jmp 0x1eba261
shl edx, 8
clc
cmp bx, dx
or esi, ecx
mov ch, bh
jmp 0x1808dd9
sub esi, ecx
stc
cmp edx, 0x1000000
jae 0x1808de8
mov eax, dword [ebp + 8]
cmp edx, ebp
cmp eax, dword [ebp - 4]
jmp 0x17f4835
inc eax
movzx ecx, sp
ror cl, cl
mov dword [ebp + 8], eax
bt eax, ecx
mov cx, bx
movzx eax, word [edi + 2]
cmp dl, 0xde
cmp eax, edx
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
cmp esi, ecx
jmp 0x17fc70d
sub edx, ecx
sal di, 0xe8
bt di, 0xd8
sub esi, ecx
btr edi, 0x6b
sbb edi, 0x15e94cce
mov edi, dword [ebp - 8]
clc
mov dword [ebp - 0xc], 0xc
cmc
stc
add edi, 0xa68
clc
cmp edx, 0x1000000
jmp 0x180abf1
jae 0x180ac21
cmp eax, dword [ebp - 4]
jae 0x17ed086
movzx ecx, byte [eax]
cmc
cmp ebx, esi
shl esi, 8
shl edx, 8
cmp edi, 0x340817af
cmp ecx, edi
clc
or esi, ecx
inc eax
movsx ecx, si
sbb ch, 0x11
mov dword [ebp + 8], eax
movzx eax, word [edi]
btr cx, bp
cmp ecx, eax
mov cx, di
mov ecx, edx
shr ecx, 0xb
clc
cmp cl, 0x17
imul ecx, eax
cmp dx, cx
test ecx, 0x461512db
cmp esi, ecx
jae 0x1e3df2b
shl ebx, 4
jmp 0x17e6220
jmp 0x1ec01e5
mov dword [ebp + 8], eax
mov eax, edx
shr eax, 0xb
jmp 0x138f554
sub edx, ecx
sub esi, ecx
not ch
bt cx, 8
lea edi, [edi + edi + 1]
sal cx, 0xc5
mov ecx, dword [ebp - 0x10]
stc
clc
test ch, 0xf7
cmp edi, ecx
jmp 0x18142ce
mov ecx, dword [ebp - 8]
sub edx, eax
sub esi, eax
mov eax, dword [ebp - 0xc]
inc di
movzx edi, word [ecx + eax*2 + 0x198]
mov eax, dword [ebp + 8]
cmp bp, 0x2dc8
mov dword [ebp - 0x18], 3
cmp edx, 0x1000000
jmp 0x1ebe9e2
mov dword [ebp - 0x10], eax
jmp 0x1ebe4ed
jae 0x1825c2d
mov edx, ecx
jmp 0x18073b9
mov esp, ebp
pop ebp
ret
jae 0x18179e5
cmp eax, dword [ebp - 4]
jmp 0x18179df
jb 0x1ec01f2
mov eax, dword [ebp - 0x14]
test di, 0x4db6
cmp di, 0x439e
sub eax, ecx
lea edi, [edi + eax]
cmp si, di
test cl, 0x75
cmp dword [ebp - 0xc], 4
jae 0x139c7f5
cmp edi, 4
jmp 0x138b819
jae 0x17ed086
movzx ecx, byte [eax]
shl esi, 8
stc
clc
shl edx, 8
or esi, ecx
movzx ecx, di
setp cl
bswap cx
inc eax
mov dword [ebp + 8], eax
sar ecx, cl
mov ecx, edx
jmp 0x17fad4c
mov edi, esi
clc
test al, dl
test ebp, 0x13835aa8
sub edi, edx
test ebp, 0x11cc24d1
cmp edx, ebx
shr edi, 0x1f
dec edi
clc
jmp 0x139fd97
shl edx, 8
inc edi
cmp ebx, ecx
mov dword [ebp + 8], edi
mov edi, edx
cmp eax, edi
shr edi, 0xb
cmp eax, edi
test eax, 0x11d873dc
cmp eax, 0x35d10bd9
imul edi, ecx
cmc
cmp esi, edi
jae 0x139f7fa
mov edx, edi
jmp 0x18170d2
jae 0x1809f26
mov edx, ecx
jmp 0x1809f3d
add eax, eax
jmp 0x1e3fbde
jae 0x17ed086
pop edi
cwde
pop esi
jmp 0x1801b62
mov ecx, dword [ebp - 4]
cmp edi, ebp
sub ebx, 4
test si, 0x3442
test sp, ax
cmp edx, 0x1000000
jmp 0x17f09bc
cmp ecx, dword [ebp - 4]
jmp 0x182951e
mov edi, dword [ebp - 0xc]
cmp al, dl
cmc
test esp, 0x4af67846
sub edx, ecx
sub esi, ecx
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1c8]
test ebp, 0x70071ef2
cmp edx, 0x1000000
jmp 0x17f973a
jae 0x17fabf0
mov edx, ecx
stc
test dh, ah
cmp esp, 0x3907167f
add edi, edi
jmp 0x17e368d
mov dword [ebp - 0x14], ebx
jmp 0x139c7ef
jae 0x17fa7db
mov ecx, 1
jmp 0x17ef81d
add edi, 0x664
jmp 0x1ebf03a
jae 0x17ed086
movzx ebx, byte [ecx]
cmc
cmp di, 0x6fc7
clc
shl esi, 8
clc
shl edx, 8
cmp esi, 0x6dad679c
test edi, 0x575e7e4a
or esi, ebx
jmp 0x17fb54a
sub edx, ecx
jmp 0x1808da3
jmp 0x180d9a0
jmp 0x17ee522
mov esp, ebp
cmovne ebp, edi
pop ebp
ret
jmp 0x139c7f8
add dword [ebp - 0xc], ebx
cmp dword [edi + 0x34], 7
jmp 0x1826bf6
jmp 0x1808b8e
push ebp
mov ebp, esp
sbb dl, 0xdd
shr dh, 0x9a
add edx, esi
sub esp, 0x18
clc
btr edx, ecx
ror dh, 0xff
push ebx
btc bx, ax
adc bx, bp
movsx edx, sp
push esi
rcr esi, 6
push edi
cdq
mov edi, ecx
mov ecx, dword [ebp + 8]
rcl dl, cl
sbb dh, ah
mov edx, dword [edi + 0x1c]
and bh, dh
xor ebx, esi
mov esi, dword [edi + 0x20]
bsr bx, bp
rcl bx, cl
test sp, 0x3fa4
lea ecx, [ecx + eax]
cbw
mov eax, dword [edi + 0x10]
or bh, 0x22
mov dword [ebp - 4], ecx
shr cl, cl
rol cx, 0xf8
cmp bx, 0x2da4
mov ecx, dword [edi + 0x34]
rol bh, 0xb7
mov dword [ebp - 0xc], ecx
btr bx, 0x72
cmp sp, dx
mov ecx, dword [edi + 8]
btr ebx, 0x2e
shl bh, cl
mov ebx, 1
cmp bp, si
cmp dh, 0x1a
clc
shl ebx, cl
rcl cx, cl
mov ecx, dword [ebp - 0xc]
cmc
shl ecx, 4
jmp 0x1393bc0
cmp esi, ecx
jae 0x180d98d
mov edx, ecx
test bx, di
add edi, edi
jmp 0x1e3df60
jae 0x17fb551
mov ecx, dword [ebp + 8]
jmp 0x181c71e
mov dword [ebp - 0x10], 8
jmp 0x180ac52
jae 0x139fc80
cmp eax, dword [ebp - 4]
jae 0x17ed086
movzx ecx, byte [eax]
clc
shl esi, 8
shl edx, 8
jmp 0x139fc72
jmp 0x1ec01e5
lea edi, [edi + edi + 1]
cmp edi, 0x40
jmp 0x17ef011
jae 0x1815090
cmp eax, dword [ebp - 4]
jmp 0x181506e
mov dword [ebp - 0x18], 2
jmp 0x1809f51
jae 0x17ec305
mov eax, dword [edi + 0x28]
jmp 0x1ec0000
jmp 0x17ec308
sub edx, ecx
shld bx, bx, 0x22
btr ebx, ecx
sub esi, ecx
sete bh
rcl bh, 0xc4
lea ebx, [edi + 0x204]
mov dword [ebp - 0x14], 0x10
btr eax, edi
mov dword [ebp - 0x10], 0x100
bt eax, 0x2d
lahf
xor edi, edx
mov edi, 1
movsx eax, di
ror ah, cl
sar ah, 0x49
mov eax, dword [ebp + 8]
cmp edx, 0x1000000
jmp 0x17fac48
lea ebx, [ebx + edi + 4]
mov dword [ebp - 0x14], 0
jmp 0x1ebc750
jmp 0x17f554a