Function at 0x9794e3
Capabilities:
Encrypt data using speck

Disassembly:
lea ebx, [ebx + edi + 4]
jmp 0x98ac78
or esi, ecx
inc eax
shl cx, 0x99
ror ch, cl
mov dword [ebp + 8], eax
bt cx, 0x7e
movzx eax, word [edi]
mov ecx, edx
stc
test sp, 0x4965
shr ecx, 0xb
stc
cmp al, 0x16
imul ecx, eax
stc
cmp esp, 0x68566dab
cmp esi, ecx
jae 0xca26a3
shl ebx, 4
setle dl
mov edx, ecx
jmp 0x8b0ff8
ret
imul ecx, edi
stc
cmp esi, ecx
jmp 0x98d00a
dec edi
and edi, edx
sub esi, edi
sub ebx, 1
jne 0xca2e90
mov ecx, dword [ebp - 8]
cmovns bx, dx
lea ecx, [ecx + 0x644]
bsr bx, si
rcr ebx, 0x69
mov ebx, 4
mov dword [ebp + 8], eax
lahf
cmp al, al
shr al, cl
mov dword [ebp - 0xc], ecx
setne cl
shr eax, 0xd3
mov dword [ebp - 0x14], ebx
and ax, bx
mov eax, 1
bt ecx, esp
btr ecx, 0x19
mov edi, edi
movsx ecx, ax
movzx ecx, bx
mov ecx, dword [ebp - 0xc]
jmp 0xc08d36
sub edx, edi
jmp 0xc7a62e
sub edx, ecx
jmp 0x993279
test ecx, ecx
jmp 0x993310
sub cl, al
sal eax, cl
or ah, 0xa9
shr ebx, cl
mov ecx, dword [edi + 4]
mov eax, 1
cmp di, 0x3fbd
shl eax, cl
xchg cx, cx
cmovns ecx, esi
mov ecx, dword [edi]
jmp 0xc0accf
jmp 0x8b81d0
jae 0xca981c
cmp eax, dword [ebp - 4]
jmp 0x98f5aa
sub edx, ecx
sub esi, ecx
lea edi, [edi + edi + 1]
cmp eax, edi
stc
clc
cmp edi, 0x40
jmp 0xc07680
mov eax, dword [ebp - 0xc]
mov di, 0x56cd
rol edi, 0xf3
movzx edi, word [eax + ecx*2]
cmp edx, 0x1000000
jmp 0xc0874d
shl esi, 8
test ebp, 0x51ca4b52
or esi, ecx
dec cx
inc eax
mov dword [ebp + 8], eax
movsx ecx, cx
shl cx, cl
mov ecx, edx
shr ecx, 0xb
imul ecx, edi
cmp esi, ecx
jae 0xca94f1
cmp ecx, 0x1000000
jmp 0xca31ce
shl esi, 8
shl edx, 8
stc
test ebx, esp
cmp dl, 0xd6
or esi, ecx
inc eax
mov dword [ebp + 8], eax
bt eax, ebp
dec al
xor al, 0xd5
movzx eax, word [edi + 2]
btr cx, 0x21
shl cl, cl
btr cx, dx
mov ecx, edx
test esi, 0x3a4f35b5
shr ecx, 0xb
stc
cmp si, ax
imul ecx, eax
cmp esi, ecx
jmp 0xc7b320
jb 0x8b63b1
mov eax, 1
jmp 0xc9d1f2
sub edx, ecx
sub esi, ecx
rcl ax, cl
lea ebx, [edi + 0x204]
mov dword [ebp - 0x14], 0x10
cmc
mov dword [ebp - 0x10], 0x100
shl eax, 0xd2
cmovbe eax, ecx
mov edi, 1
mov eax, dword [ebp + 8]
jmp 0xc78528
jmp 0xca950a
mov eax, dword [ebp + 8]
jmp 0x97e147
jae 0xca0d2f
mov edi, dword [ebp - 4]
test esi, 0x56af0c5c
cmp dword [ebp + 8], edi
jmp 0x9819ff
push ebp
bsr bp, dx
rcl dl, cl
mov ebp, esp
lea esp, [esp - 0x18]
shl edx, 0xe8
push ebx
btc edx, 0xdf
adc ebx, ecx
push esi
or dl, bl
push edi
jmp 0x97c3eb
mov dword [ebp - 0x14], ebx
jmp 0x984fad
mov edi, ecx
shl cl, cl
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 0x1c]
jmp 0x9844c3
mov esp, ebp
movzx ebp, bx
cmovnp bp, sp
not ebp
pop ebp
jmp 0x8b28cf
jmp 0x8b63b1
mov edi, 1
jmp 0xca3c09
inc ecx
test dh, 0x87
mov dword [ebp + 8], ecx
sal ch, cl
cmc
mov ecx, edx
cmp edi, 0x75885190
stc
shr ecx, 0xb
jmp 0xca6333
shl edx, 8
cmc
or esi, ecx
dec ch
inc eax
jmp 0xca9816
sub edx, ecx
clc
sub esi, ecx
sub ecx, edx
lea edi, [edi + edi + 1]
mov ecx, dword [ebp - 0x10]
test esp, 0x10dc60d8
cmp edi, ecx
jmp 0xc9b525
jae 0xc9c199
mov edi, dword [ebp - 8]
and edx, edi
mov edx, eax
mov eax, dword [ebp + 8]
jmp 0x9848e1
not eax
jmp 0xc9c9d1
jmp 0xc9e0b6
jae 0xca265d
mov edi, dword [ebp + 8]
sar ebx, cl
bsr bx, dx
movzx bx, al
movzx ebx, byte [edi]
jmp 0x9909dc
jb 0x981fd9
mov edi, 3
ror eax, cl
stc
mov eax, dword [ebp - 8]
bt ebx, esp
shl edi, 7
movsx ebx, bp
cmovge ebx, ebp
lea ebx, [edi + eax + 0x360]
jmp 0x8b86e3
sub edx, ecx
sub esi, ecx
sub ch, 0x1e
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1b0]
cmc
cmp edx, 0x1000000
jmp 0xca6297
shl edx, 8
stc
test si, si
or esi, ecx
bswap ecx
inc eax
adc ecx, ebp
ror cl, 0xb9
mov ecx, edx
test si, 0x47e0
shr ecx, 0xb
clc
imul ecx, dword [ebp - 0x10]
cmp esi, ecx
jmp 0xc99756
mov edx, ecx
lea ebx, [ebx + edi + 0x104]
jmp 0x99244d
jae 0xca2355
mov edx, eax
mov eax, dword [ebp - 8]
test edx, ebp
cmc
add eax, 0xe6c
clc
test ebx, 0x46496d2c
cmp esi, 0x16a92ab0
cmp dword [edi + 0x30], 0
jmp 0x98a563
mov dword [ebp - 0x18], 2
jmp 0x8b86db
mov esi, dword [edi + 0x20]
btc bx, di
adc bx, ax
add ecx, eax
stc
mov ebx, 0x20a9340b
mov eax, dword [edi + 0x10]
mov dword [ebp - 4], ecx
mov ecx, dword [edi + 0x34]
mov ebx, edi
mov dword [ebp - 0xc], ecx
sal cl, 0x22
cmp ebp, ecx
mov ecx, dword [edi + 8]
neg ebx
mov ebx, 1
cmc
cmp di, 0x4294
stc
shl ebx, cl
not cl
rcr ch, cl
rcr ch, 0x42
mov ecx, dword [ebp - 0xc]
jmp 0x98943e
mov dword [ebp - 0xc], 0
test ebp, edi
test dl, 0x6d
stc
add edi, 0x664
jmp 0x9844b2
jae 0xc9e0b2
mov eax, dword [edi + 0x28]
jmp 0x98121a
jne 0x8b2e6e
mov eax, dword [ebp - 0x18]
cmp edx, 0x1000000
jmp 0xc0ce0b
cmp edi, 0x100
jae 0x8b75ea
mov ecx, dword [ebp - 0x18]
jmp 0xca32d0
shl edx, 8
or esi, ebx
inc eax
stc
mov dword [ebp + 8], eax
movsx ax, ch
xadd ah, al
cwde
mov eax, edx
clc
shr eax, 0xb
test dl, 0xc9
test esi, eax
imul eax, edi
cmp esi, eax
jae 0x9919d6
mov edx, eax
clc
add ecx, ecx
jmp 0x9919e3
mov dword [ebp - 0x14], ebx
stc
cmc
cmp edi, 0xe
jmp 0xc9f8d4
shl ecx, 4
mov dword [ebp - 8], eax
dec ebx
cmp esp, 0x7bbe2e3d
cmp di, sp
test ax, 0x237
and ebx, dword [edi + 0x2c]
jmp 0xc09102
mov dword [ebp - 0xc], eax
jne 0x98a576
cmp dword [edi + 0x2c], 0
je 0xc0ace1
mov ecx, dword [edi + 0x24]
jmp 0x8b3fd4
jae 0xca265d
movzx ecx, byte [eax]
test bp, 0x6fcb
shl esi, 8
shl edx, 8
cmc
or esi, ecx
inc eax
stc
mov dword [ebp + 8], eax
sal al, 0x4a
mov eax, 0x69f1006d
mov eax, edx
cmp edx, edx
shr eax, 0xb
cmp edi, 0x19b147b0
test ebx, ebx
imul eax, dword [ebp - 0x10]
stc
cmc
cmp esi, eax
jmp 0x983a33
mov dword [ebp - 0x14], 0
jmp 0xca57be
jae 0xca94f1
mov edx, ecx
jmp 0xca94f6
inc eax
shld cx, cx, 0x1a
mov dword [ebp + 8], eax
mov ecx, edx
cmc
shr ecx, 0xb
jmp 0x8b2a6c
jae 0x97e1cc
mov ecx, dword [ebp + 8]
cmp bh, bl
cmp dx, 0xf6
cmp ecx, dword [ebp - 4]
jmp 0x9928a6
pop ebx
jmp 0x97cc34
jae 0xca265d
movzx ecx, byte [eax]
cmp bx, 0x1077
shl esi, 8
jmp 0x97fad8
jae 0xca265d
movzx ecx, byte [eax]
shl esi, 8
test al, 0xc7
test ebx, esp
jmp 0x982e5b
inc eax
shr edx, 1
adc di, dx
or edi, 0x16c87fde
bsf di, cx
mov edi, esi
clc
test ecx, 0x5e3165fc
sub edi, edx
shr edi, 0x1f
jmp 0x8b2e1c
shr ecx, 0xb
clc
cmc
imul ecx, eax
cmc
cmp esi, ecx
jmp 0xc0d664
jae 0x98a764
mov eax, dword [ebp + 8]
test ebx, 0x5010d3
cmp eax, dword [ebp - 4]
jmp 0x98a740
shl esi, 8
cmp ecx, 0x77c5031a
or esi, ebx
movzx bx, ah
btc ebx, 0x60
mov ebx, dword [ebp - 0x14]
shl edx, 8
jmp 0xca0d28
sub edx, eax
test al, 0x6c
sub esi, eax
test al, bh
lea ecx, [ecx + ecx + 1]
stc
cmp ecx, 0x100
jmp 0x8b75e4
mov dword [ebp - 0x14], eax
jmp 0xc78b89
jae 0xca265d
movzx ebx, byte [ecx]
cmc
clc
shl esi, 8
cmp ebx, 0x5b6a04e3
shl edx, 8
clc
cmp al, 0x1a
or esi, ebx
jmp 0x97e1c2
sub esi, ecx
clc
cmc
lea edi, [edi + edi + 1]
cmp dl, dl
and dword [ebp - 8], eax
test edx, 0x58b31e0e
jmp 0x985390
jmp 0xc7a636
jne 0x993319
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x14]
xor ah, 0x2f
btc eax, ebx
movzx ebx, byte [ebx + ecx - 1]
cmp esi, 0x73315c16
sar cx, cl
mov eax, dword [edi]
rol cx, 0xab
bsr cx, ax
mov ecx, 8
jmp 0x8b426f
jae 0xca265d
movzx ecx, byte [eax]
shl esi, 8
test bx, 0x67c4
jmp 0xca770b
mov dword [ebp - 0x10], eax
cmp edx, 0x1000000
jmp 0x98fe6c
jmp 0x97ff53
jb 0xc9e5cb
lea edi, [edi - 0x40]
clc
cmp esp, 0x627f3d26
cmp cl, cl
mov dword [ebp + 8], eax
stc
cmc
cmp edi, 4
jb 0x984fb3
mov ebx, edi
shr ebx, 1
jmp 0xc78512
jae 0x98705a
mov eax, dword [ebp + 8]
test ax, 0x48dd
cmp esi, eax
cmc
cmp eax, dword [ebp - 4]
jmp 0xca88c4
jae 0x8b66d4
cmp eax, dword [ebp - 4]
jmp 0xc9a747
movzx ecx, word [ecx + eax*2]
jmp 0xc9b44d
add ecx, ebx
movzx eax, word [eax + ecx*2]
cmp esi, 0x6698561a
clc
jmp 0xc064f4
jae 0x8b2fbd
mov edx, edi
test ah, 0x38
add eax, eax
jmp 0x9932d1
dec eax
and eax, dword [edi + 0x2c]
shl eax, cl
lea ebx, [ebx + eax]
imul ebx, ebx, 0x600
add dword [ebp - 0xc], ebx
cmp dword [edi + 0x34], 7
jae 0xc9b334
mov ecx, 1
jmp 0x97d96c
shl esi, 8
shl edx, 8
or esi, ecx
setle cl
movzx cx, ch
movzx ecx, di
inc eax
mov dword [ebp + 8], eax
xor ch, 0xf0
sbb cx, si
mov ecx, edx
cmp bl, 0x44
shr ecx, 0xb
stc
cmp cx, dx
imul ecx, edi
cmp esi, ecx
jae 0xc7a1a9
mov edx, ecx
jmp 0xca8536
jae 0xca2667
mov edx, dword [ebp - 4]
clc
stc
cmp edx, ecx
cmp dword [ebp + 8], edx
jmp 0xca2657
sub esi, ecx
cmp edx, 0x1000000
jmp 0xca0278
mov edi, dword [ebp - 0xc]
clc
cmp bh, 0xc8
jmp 0x98237d
jae 0x97ff48
mov edx, ecx
add edi, edi
jmp 0xc07380
jmp 0x8b5d92
shl edx, 8
or esi, edi
inc eax
mov dword [ebp + 8], eax
or ah, 0x82
ror eax, 0x5d
mov eax, edx
shr eax, 0xb
imul eax, ecx
cmp esi, eax
jmp 0x980da6
dec ebx
jmp 0x98850b
cmp edx, 0x1000000
jmp 0x8b5021
mov dword [ebp - 0x10], eax
jmp 0x8b4e83
jae 0x8b30f2
mov edx, ecx
cmp sp, 0xd9f
cmc
add edi, edi
jmp 0x980ea1
mov edi, dword [ebp - 0xc]
cmp esi, 0x49f176ce
sub edx, ecx
test cx, si
sub esi, ecx
bsr ecx, esi
mov ecx, dword [ebp - 8]
jmp 0xc9a5cb
sub esi, edi
test ebp, ebx
lea eax, [eax + eax + 1]
sub ebx, 1
jmp 0x97bc94
jmp 0x8b81d0
jae 0x8b81ae
mov eax, 8
and dx, 0x4b42
shl ebx, 4
bswap edx
cdq
jmp 0x983204
jae 0x8b5d86
mov edx, ecx
add edi, edi
jmp 0xc780fe
pop ebx
mov esp, ebp
mov ebp, eax
pop ebp
ret
movzx edi, word [ecx + edi*2 + 0x1c8]
test sp, cx
cmp edx, 0x1000000
jmp 0xca34f2
jae 0xca265d
shl ecx, 8
movzx edx, dx
shl dl, 0xac
adc dx, bx
mov edx, ecx
sar cx, 0xbd
movzx ecx, byte [eax]
jmp 0x8b66bc
mov ecx, dword [edi + 0x24]
mov bx, sp
mov ebx, dword [edi + 0x38]
cmp di, sp
cmp ecx, ebx
jmp 0x984c6d
cmp edx, 0x1000000
jmp 0x9783a9
jb 0x8b81d5
mov eax, dword [ebp - 0x14]
test eax, 0x922367b
sub eax, ecx
clc
cmp edi, esi
add edi, eax
cmp dword [ebp - 0xc], 4
jmp 0xc9c6aa
jae 0xca265d
movzx ecx, byte [eax]
cmp edi, 0x1033a64
jmp 0x8b6733
jae 0xca265d
movzx edi, byte [eax]
shl esi, 8
clc
shl edx, 8
test ecx, esi
or esi, edi
mov edi, esi
jmp 0x98f6dc
mov ecx, dword [ebp - 8]
sub edx, eax
ror di, 0xd1
rol edi, 0xba
sub esi, eax
mov eax, dword [ebp - 0xc]
movzx edi, word [ecx + eax*2 + 0x198]
mov eax, dword [ebp + 8]
cmc
clc
cmp edi, ebp
mov dword [ebp - 0x18], 3
cmp bh, dh
jmp 0xca3cd7
jae 0x984fb3
cmp edi, 4
jmp 0x981fcb
jmp 0x993283
jmp 0x984fb6
jae 0x8b1735
cmp eax, dword [ebp - 4]
jmp 0x99386d
xor eax, eax
cmp al, 0xca
mov edi, dword [edi + 0x14]
stc
jmp 0xca8a02
movzx ecx, word [ebx + edi*2]
cmc
mov dword [ebp - 0x10], ecx
test ebp, ebx
clc
cmp edx, 0x1000000
jae 0x982e6c
cmp eax, dword [ebp - 4]
jmp 0x98f5f5
jae 0xca2e89
mov eax, edi
sub ch, 0x29
and eax, 1
sal cl, cl
or eax, 2
shl cl, cl
shr ch, cl
shl cl, 0xd0
mov ecx, ebx
shl eax, cl
sar cx, cl
and ecx, ebp
rol cx, cl
mov ecx, dword [ebp - 8]
test dx, dx
cmp ebx, ebp
sub eax, edi
lea eax, [ecx + eax*2 + 0x55e]
mov dword [ebp - 0xc], eax
jmp 0xca30c1
jae 0x8b674c
mov eax, dword [ebp + 8]
test ch, 9
stc
test esp, ebp
cmp eax, dword [ebp - 4]
jmp 0xc9b9bd
jae 0xca265d
movzx edi, byte [eax]
test ebp, edx
cmp ax, si
shl esi, 8
jmp 0xc7814d
inc edi
mov dword [ebp + 8], edi
or di, ax
mov edi, edx
cmp di, 0x2ee2
shr edi, 0xb
imul edi, ecx
test esi, esi
cmp al, 0xa0
cmp esi, edi
jmp 0xc09af2
cmp eax, dword [ebp - 4]
jmp 0xca035c
mov ecx, dword [ebp - 0xc]
test ebp, 0x56711cf0
test ah, ah
stc
sub edx, eax
test ebx, ebp
clc
sub esi, eax
neg al
shl eax, 0xb6
mov eax, dword [ebp - 8]
cmp edi, 0x7868448a
cmp al, bh
movzx ecx, word [eax + ecx*2 + 0x180]
test si, dx
cmc
clc
cmp edx, 0x1000000
jmp 0xca4fcf
jb 0xca2667
xor eax, eax
mov bx, bp
xchg bx, si
bswap edi
pop edi
pop esi
jmp 0x98e390
sub edx, ecx
jmp 0xc0cf21
jae 0xca2911
cmp eax, dword [ebp - 4]
jae 0xca265d
movzx ecx, byte [eax]
cmp edi, 0x6b793b29
shl esi, 8
shl edx, 8
cmp esi, edx
clc
or esi, ecx
movsx ecx, sp
inc eax
neg cl
rcr ch, cl
mov dword [ebp + 8], eax
movsx ecx, bp
xadd ecx, ecx
bts ecx, ebx
mov ecx, edx
test eax, ecx
cmc
shr ecx, 0xb
imul ecx, edi
cmp edx, 0x787d0cf1
cmp esi, ecx
jae 0xc0cf81
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
bts dx, ax
bt dx, 0x2f
lea eax, [eax + 0xf]
sub dh, 0xf
bts dx, bx
ror dh, 0x2d
shl eax, 4
lea eax, [eax + ebx]
cdq
movzx edi, word [edi + eax*2]
cmp bx, 0x5ebb
cmc
mov eax, dword [ebp + 8]
stc
adc dx, 0xf6
mov edx, ecx
cmp ecx, 0x1000000
jmp 0xc08880
mov ecx, dword [ebp - 4]
lea ebx, [ebx - 4]
stc
cmp edx, 0x1000000
jae 0x98f6dd
cmp eax, ecx
jmp 0xc9bbaa
jmp 0x8b2e5a
jae 0xca31dd
cmp eax, dword [ebp - 4]
jae 0xca265d
pop edi
xchg si, ax
pop esi
xchg bl, bh
mov eax, 3
not bl
setne bh
jmp 0xc99ac1
jmp 0xca8a2a
jae 0x98d347
cmp eax, dword [ebp - 4]
jae 0xca265d
movzx ecx, byte [eax]
cmp si, 0x6739
clc
shl esi, 8
stc
shl edx, 8
cmp bx, cx
or esi, ecx
jmp 0x98d33e
jmp 0xc9e5cb
cmp edx, 0x1000000
jmp 0xca28da
jae 0xc7815c
mov eax, dword [ebp + 8]
cmc
jmp 0xca16e4
mov dword [ebp - 0x10], 8
jmp 0xc7a920
jae 0xc0ca50
cmp eax, dword [ebp - 4]
jmp 0xca7df0
imul ecx, dword [ebp - 0x10]
cmc
cmp bl, 0x9f
cmp dx, bx
cmp esi, ecx
jmp 0xc79a8f
shl edx, 8
jmp 0x8b1724
jae 0xca265d
movzx ecx, byte [eax]
test ebp, ebx
stc
jmp 0xc0ca34
jmp 0xca94f6
jae 0xca265d
movzx ebx, byte [eax]
clc
shl esi, 8
jmp 0x987048
sub edi, ebx
not bx
xadd bx, bx
mov ebx, esi
lea edi, [edi + ecx]
dec ch
movzx ebx, bp
movzx ecx, byte [edi + eax]
mov dword [ebp - 8], 0x100
mov edi, 1
mov edi, edi
btr ebx, esi
mov ebx, dword [ebp - 8]
add ecx, ecx
or ax, bp
bts ax, sp
mov eax, ebx
test edi, 0x43d7790a
stc
and eax, ecx
mov dword [ebp - 0x18], ecx
movzx ecx, sp
lea ecx, [eax + edi]
clc
cmp ax, si
cmc
lea ecx, [ecx + ebx]
or ebx, esp
stc
mov ebx, dword [ebp - 0xc]
movzx ecx, word [ebx + ecx*2]
cmc
test di, sp
mov dword [ebp - 0x10], ecx
clc
cmp sp, di
cmp edx, 0x1000000
jmp 0x98e125
sub edx, ecx
cmc
sub esi, ecx
mov edi, dword [ebp - 8]
mov dword [ebp - 0xc], 0xc
add edi, 0xa68
cmp edx, edx
test bh, dl
cmp edx, 0x1000000
jmp 0xc9d420
mov dword [ebp + 8], eax
rol cl, 0x45
movzx eax, word [ebx + edi*2]
and cx, dx
mov ecx, edx
jmp 0x98fd6d