Function at 0x118c57b
Capabilities:
Encrypt data using speck

Disassembly:
jae 0x117e911
mov eax, dword [ebp + 8]
cmp sp, 0x304f
test bl, cl
cmc
cmp eax, dword [ebp - 4]
jmp 0x11903b2
jmp 0x117a618
jmp 0xb8d62a
jae 0x11901d1
mov edx, dword [ebp - 4]
cmp dword [ebp + 8], edx
jmp 0x11901c0
jae 0xb9591b
mov ecx, dword [ebp - 0x18]
jmp 0x1190db4
lea eax, [eax + eax + 1]
sub ebx, 1
jmp 0x1187841
jmp 0x1190d77
mov ecx, dword [ebp - 4]
jmp 0xba39d1
jae 0x11a3fa6
cmp eax, dword [ebp - 4]
jmp 0x11a3f8b
imul ecx, eax
stc
test eax, 0x5dea397c
cmp esi, ecx
jmp 0x10a652f
add ecx, ecx
jmp 0x1185149
jae 0x11901c6
movzx ecx, byte [eax]
shl esi, 8
test ch, 0x46
test ax, bp
shl edx, 8
jmp 0x119dd27
inc eax
jmp 0x109d8bd
mov dword [ebp - 0x14], ebx
cmp edi, 0xe
jae 0xb83ffc
mov eax, edi
bts ecx, esi
and eax, 1
test bl, al
add cl, 0x83
ror ecx, 0x6f
or eax, 2
mov ecx, ebx
cmp dx, si
test edi, ebx
shl eax, cl
xchg cx, cx
mov ecx, dword [ebp - 8]
cmp eax, esp
sub eax, edi
jmp 0x1181244
imul ecx, edi
cmp esi, ecx
jmp 0x117f772
jmp 0x1182378
dec edi
clc
and edi, edx
test ch, 0xfb
sub esi, edi
test sp, sp
cmp di, si
sub ebx, 1
jmp 0xb8d5f6
inc eax
jmp 0x117e90a
jne 0xba39d7
mov ecx, dword [ebp - 8]
add ecx, 0x644
sal ebx, cl
mov ebx, 4
stc
cmp al, ah
test dx, sp
mov dword [ebp + 8], eax
btc eax, esi
not al
mov dword [ebp - 0xc], ecx
rol cx, cl
mov dword [ebp - 0x14], ebx
xor al, 0x47
not eax
movsx eax, dx
mov eax, 1
not ecx
bsr cx, bp
mov edi, edi
mov ecx, dword [ebp - 0xc]
movzx ecx, word [ecx + eax*2]
test esi, 0x2bba6987
cmp edx, 0x1000000
jmp 0x117f91d
jae 0x117cd88
mov edx, edi
jmp 0x10a3450
jae 0xb92c5f
cmp eax, dword [ebp - 4]
jmp 0xb92c2a
shl eax, cl
jmp 0x118c103
jae 0x11901c6
shl ecx, 8
inc edx
btc dx, ax
test ecx, 0x37da6cdb
mov edx, ecx
and ch, ah
movzx ecx, byte [eax]
cmp ecx, ecx
shl esi, 8
cmp ebp, edx
cmp bl, 0x1a
or esi, ecx
mov ch, bl
inc eax
shl cl, cl
mov dword [ebp + 8], eax
ror cx, 0x14
sal cl, cl
mov ecx, edx
test bl, 0xd0
shr ecx, 0xb
jmp 0x11a07a3
cmp esi, ecx
jmp 0x117b3c2
jae 0x119e7f2
cmp eax, dword [ebp - 4]
jmp 0x119e7ec
mov edi, dword [ebp - 0xc]
jmp 0x119fb42
jae 0x117a5e6
mov eax, 8
sbb dh, 0xb0
shl ebx, 4
mov edx, ecx
jmp 0x10a0c19
sub edx, eax
sub esi, eax
cmc
cmp si, sp
clc
lea ecx, [ecx + ecx + 1]
stc
cmp ecx, 0x100
jb 0x1180451
mov eax, 1
jmp 0x11a1a18
jae 0x11978d4
mov ecx, 1
jmp 0x10a6e79
jae 0x1190d75
mov eax, dword [edi + 0x28]
jmp 0xb83d53
shl esi, 8
cmp ax, bp
test edi, edx
test cx, 0x665a
shl edx, 8
or esi, ecx
inc eax
btr ecx, edx
xor ch, 0x6b
sub cx, 0x6f83
mov dword [ebp + 8], eax
dec cx
sbb ecx, 0x24223fc5
movzx eax, word [edi]
mov ecx, edx
cmp edi, 0x6724786
shr ecx, 0xb
test bp, 0x1835
imul ecx, eax
cmp esi, ecx
jmp 0xba28a8
mov dword [ebp - 0x10], eax
test di, bp
cmp edx, 0x1000000
jmp 0x1198b86
mov ecx, dword [ebp - 0xc]
test bx, 0x4448
clc
cmc
sub edx, eax
test ax, dx
test sp, 0x4b33
cmp si, 0x7f19
sub esi, eax
shrd ax, si, 0xf
bswap ax
mov eax, dword [ebp - 8]
cmp si, 0x4529
movzx ecx, word [eax + ecx*2 + 0x180]
cmp edx, 0x1000000
jmp 0xb819b2
dec ebx
test ax, 0x771c
and ebx, dword [edi + 0x2c]
clc
add ecx, ebx
test edi, 0x7ae82e0c
cmc
movzx eax, word [eax + ecx*2]
cmc
jmp 0xb9faa9
jae 0x10a44b3
shl ebx, 4
movzx edx, di
mov edx, ecx
jmp 0x11909d5
jae 0x118236a
mov edx, ecx
jmp 0xb8bd32
mov esp, ebp
pop ebp
jmp 0x10a46bf
jae 0x1181c34
cmp eax, dword [ebp - 4]
jmp 0x117efbb
jae 0xb9e839
cmp eax, dword [ebp - 4]
jmp 0x118bfa3
jae 0x11901c6
movzx ebx, byte [eax]
test eax, 0x5fac444c
shl esi, 8
cmp ebp, 0x44b3330a
test eax, edx
shl edx, 8
or esi, ebx
jmp 0xb873ee
lea ebx, [ebx - 4]
cmc
cmp cl, ah
cmp edx, 0x1000000
jmp 0x11a15e7
jae 0x10a50a2
cmp eax, dword [ebp - 4]
jae 0x11901c6
movzx ecx, byte [eax]
shl esi, 8
jmp 0x10a5088
inc eax
test di, 0x7398
clc
stc
mov dword [ebp + 8], eax
btr ax, 0xa6
mov eax, edx
shr eax, 0xb
cmc
imul eax, dword [ebp - 0x10]
jmp 0x109db84
jae 0x11808af
mov ecx, dword [ebp + 8]
cmp dl, cl
clc
test edi, ecx
cmp ecx, dword [ebp - 4]
jmp 0x1185820
mov dword [ebp + 8], eax
add ax, 0x51d9
mov eax, edx
shr eax, 0xb
test si, bx
cmp edx, 0x6acc48f0
imul eax, edi
cmp esi, eax
jmp 0x11a3025
cmp esi, eax
jmp 0x1190cf4
jmp 0x1182378
jae 0x109d8c4
mov eax, dword [ebp + 8]
test sp, dx
cmp cx, 0x6b37
cmp eax, dword [ebp - 4]
jmp 0xba3934
sub edx, ecx
cmc
sub esi, ecx
lea edi, [edi + edi + 1]
inc cl
sub cx, 0x72c
mov ecx, dword [ebp - 0x10]
test dh, bh
clc
stc
cmp edi, ecx
jmp 0x117f0f5
sub edx, ecx
jmp 0x1196f85
add dword [ebp - 0xc], ebx
cmc
cmp dword [edi + 0x34], 7
jmp 0xb96262
cmp esi, ecx
jae 0xb93fcb
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
cmp edi, 0x584722db
add eax, 0xf
bt edx, 0xc4
cmc
or dh, 0x60
shl eax, 4
seta dh
dec dx
btr edx, ebx
add eax, ebx
movzx edi, word [edi + eax*2]
clc
dec dl
mov eax, dword [ebp + 8]
bsf dx, cx
ror edx, cl
mov edx, ecx
cmp ecx, 0x1000000
jmp 0xb8e093
lea ebx, [ebx + edi + 0x104]
jmp 0x11879ee
jb 0x11a2424
sub edi, 0x40
mov dword [ebp + 8], eax
test ecx, edi
cmp edi, 4
jmp 0x11916e1
cmp edx, 0x1000000
jmp 0x118d021
mov dword [ebp - 0x14], 0
jmp 0x117fd2b
jne 0xb8d637
mov eax, dword [ebp - 0x18]
cmp edx, 0x1000000
jmp 0xb81fd1
add eax, eax
jmp 0x117fd37
sub edx, ecx
cmp cl, 0xc4
sub esi, ecx
stc
cmp edx, 0x1000000
jmp 0x1197cd1
ret
shl edx, 8
test ebp, ebx
or esi, ecx
cmovle cx, si
movsx ecx, ax
xchg ch, ch
inc eax
add cx, 0x1adf
adc ecx, edi
or ecx, esp
mov ecx, edx
shr ecx, 0xb
imul ecx, dword [ebp - 0x10]
jmp 0xb92f52
jae 0x109fa31
mov edx, ecx
clc
jmp 0x1183064
jmp 0x1180451
jae 0x118236a
cmp ecx, 0x1000000
jmp 0xb93008
mov edi, dword [ebp - 0xc]
cmp ebp, 0x24c045e1
test bp, dx
sub edx, ecx
clc
cmc
sub esi, ecx
mov ecx, dword [ebp - 8]
cmp bp, 0x1ac9
movzx edi, word [ecx + edi*2 + 0x1c8]
stc
cmp edx, 0x1000000
jmp 0xba341e
sub edx, ecx
sub esi, ecx
xadd al, al
ror bl, cl
cmc
lea ebx, [edi + 0x204]
test bp, sp
shrd di, sp, 0x3d
mov dword [ebp - 0x14], 0x10
movzx ax, dl
mov dword [ebp - 0x10], 0x100
and di, si
adc di, 0x2fab
mov edi, 1
bswap eax
not ah
mov eax, dword [ebp + 8]
stc
cmp ecx, 0x14e964fb
cmp edx, 0x1000000
jmp 0x11a3ba6
dec eax
and eax, dword [edi + 0x2c]
clc
jmp 0xb90cc6
jae 0x117c857
mov edx, ecx
jmp 0x117ede9
je 0x109fc38
mov ecx, dword [edi + 0x24]
test dx, 0x34f3
cmc
test ecx, ecx
jmp 0x118b49d
sub edx, ecx
test al, 0x45
test esi, esi
sub esi, ecx
lea edi, [edi + edi + 1]
test dh, 0x9a
test cx, bx
cmp edi, 0x40
jmp 0x10a1ba0
sub edx, edi
sub esi, edi
stc
jmp 0xb82bb6
mov dword [ebp + 8], eax
btc eax, 0xd7
mov eax, edx
shr eax, 0xb
cmp eax, esi
clc
imul eax, ecx
cmp esi, eax
jmp 0x1180b86
add edi, edi
jmp 0x1187711
jae 0x11901c6
movzx ecx, byte [eax]
cmp eax, ebx
shl esi, 8
jmp 0x1181c22
jb 0x117a621
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp esp, edi
add edi, eax
test sp, di
cmp dword [ebp - 0xc], 4
jmp 0x11a22fe
jae 0x117a51d
mov edx, ecx
jmp 0x109f0ee
jae 0x119c5c3
mov edi, dword [ebp - 4]
test esi, ebx
cmc
cmp esi, 0x24f74f13
cmp dword [ebp + 8], edi
jmp 0x119ef29
mov dword [ebp - 0x10], 8
jmp 0x117a618
jmp 0xb82bba
mov eax, dword [ebp - 0xc]
movzx edi, word [eax + ecx*2]
test ax, sp
clc
cmp edx, 0x1000000
jmp 0x109f66c
inc ecx
mov dword [ebp + 8], ecx
movsx ecx, ax
neg ecx
and ecx, 0x2f3d2ec6
mov ecx, edx
clc
shr ecx, 0xb
cmp bp, sp
cmc
imul ecx, dword [ebp - 0x10]
cmp esi, ecx
jmp 0x118bd94
jae 0x11812b8
mov edi, dword [ebp - 8]
adc dx, 0xe39
btc edx, eax
movzx dx, al
mov edx, eax
ror eax, cl
mov eax, dword [ebp + 8]
test ecx, esi
mov dword [ebp - 0xc], 0
cmc
test si, dx
add edi, 0x664
jmp 0x1196f73
lea eax, [ecx + eax*2 + 0x55e]
jmp 0x11a306f
mov ecx, dword [ebp - 8]
ror di, 0xbf
clc
sub edx, eax
inc di
rol edi, 0x6e
cmovle edi, esi
sub esi, eax
shl al, 0x5c
mov eax, dword [ebp - 0xc]
rcr edi, 0xb
movzx edi, word [ecx + eax*2 + 0x198]
movsx eax, si
mov eax, dword [ebp + 8]
cmp cl, 0xde
test edi, ecx
mov dword [ebp - 0x18], 3
clc
jmp 0x10a1c34
shl edx, 8
or esi, ecx
inc eax
ror ch, 0x7b
sar cl, 0xec
and ch, 0x2a
mov dword [ebp + 8], eax
mov ecx, edx
shr ecx, 0xb
imul ecx, edi
cmc
cmp esi, ecx
jmp 0xba28bb
jmp 0x1196f8b
sub edx, ecx
btc edi, ebx
shr di, 0x34
sub esi, ecx
sal edi, 0x1a
mov edi, dword [ebp - 8]
test dh, 0xa8
mov dword [ebp - 0xc], 0xc
lea edi, [edi + 0xa68]
stc
cmp edx, 0x1000000
jmp 0xba3530
jmp 0x118238c
add edi, edi
jmp 0x119eeb8
ret
jmp 0xb9590f
jmp 0x11a2424
jae 0x11901c6
movzx ebx, byte [ecx]
shl esi, 8
shl edx, 8
or esi, ebx
jmp 0x11808a0
jmp 0x117c869
mov dword [ebp - 0x14], ebx
jmp 0x10a2a1b
or esi, ecx
not ch
movsx cx, al
xchg cx, cx
inc eax
stc
mov dword [ebp + 8], eax
movzx eax, word [ebx + edi*2]
mov ecx, edx
cmp edx, 0x49310020
test ebx, ebp
shr ecx, 0xb
jmp 0xb84b7b
mov dword [ebp - 0x14], eax
jmp 0x11a45b8
mov dword [ebp - 0xc], eax
jne 0x117b45d
cmp dword [edi + 0x2c], 0
jmp 0x117b457
jne 0x118b4ad
mov ecx, dword [edi + 0x28]
sal bl, cl
rcr bl, cl
movzx eax, dx
mov ebx, dword [edi + 0x14]
sar ah, cl
movzx ebx, byte [ebx + ecx - 1]
sub ah, 0x20
clc
rol ecx, cl
mov eax, dword [edi]
jmp 0x119cbe6
jae 0x109fc18
mov edx, ecx
add edi, edi
jmp 0x11981fc
jae 0x11901c6
movzx ecx, byte [eax]
jmp 0xb9e80f
add ebx, eax
test ecx, esi
imul ebx, ebx, 0x600
jmp 0x109fc34
push ebp
mov ebp, esp
cmp di, di
sub esp, 0x18
rol edx, 9
xadd dl, dh
push ebx
push esi
sub bl, ch
push edi
rcr di, 0xd6
shr bl, 0x11
mov edi, ecx
bts si, si
test ecx, 0x5f033cbb
mov ecx, dword [ebp + 8]
movsx esi, bp
sbb bx, 0x4295
mov edx, dword [edi + 0x1c]
xor ebx, esi
mov esi, dword [edi + 0x20]
dec ebx
add ecx, eax
cmp si, dx
mov eax, dword [edi + 0x10]
mov dword [ebp - 4], ecx
xor ch, 5
test ecx, ecx
sub bl, al
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0xc], ecx
sbb bx, 0x8b1
mov ecx, dword [edi + 8]
bswap bx
adc bx, 0x3e9c
btc ebx, eax
mov ebx, 1
jmp 0x11a4509
jae 0x118d052
cmp eax, dword [ebp - 4]
jae 0x11901c6
movzx ecx, byte [eax]
shl esi, 8
test ch, 0x46
test edi, ebp
stc
shl edx, 8
cmp cl, 0x4a
cmp si, ax
or esi, ecx
inc eax
xadd ecx, ecx
mov dword [ebp + 8], eax
bt cx, sp
mov ecx, edx
cmc
shr ecx, 0xb
test cx, cx
imul ecx, edi
jmp 0x10a020a
jae 0x11901c6
movzx ecx, byte [eax]
shl esi, 8
cmc
shl edx, 8
jmp 0x1187963
jb 0x11901d1
sub eax, eax
not bl
mov di, 0x48
movsx ebx, ax
pop edi
mov si, 0x55c0
pop esi
movsx bx, ah
pop ebx
jmp 0x119699e
jae 0x11901c6
movzx edi, byte [eax]
cmp bp, di
cmc
shl esi, 8
shl edx, 8
clc
cmp ebp, 0x6c512200
or esi, edi
jmp 0xb8d355
lea ebx, [ebx + edi + 4]
jmp 0x10a29f1
jae 0xb9fcc0
mov edx, eax
adc ah, dh
bt eax, ebp
neg eax
mov eax, dword [ebp - 8]
lea eax, [eax + 0xe6c]
test dx, 0x2922
cmp dword [edi + 0x30], 0
jmp 0x1188b3a
sub eax, eax
mov edi, dword [edi + 0x14]
sub edi, ebx
ror bh, 0xc3
rol bl, cl
btc bx, di
lea edi, [edi + ecx]
add ecx, ebp
rcl bh, cl
movzx ecx, byte [edi + eax]
cmp si, si
stc
mov dword [ebp - 8], 0x100
shl di, 0x92
bsf edi, esi
mov edi, 1
btc eax, edx
sbb eax, ebx
sar bx, 0xfe
mov edi, edi
or bl, dl
mov ebx, dword [ebp - 8]
sar ax, cl
add ecx, ecx
sar al, cl
cmc
xadd ah, al
mov eax, ebx
stc
cmp dx, 0x250d
and eax, ecx
stc
test cl, 0x6a
cmp ebp, edi
mov dword [ebp - 0x18], ecx
cmc
xor ch, 0x15
and ecx, 0x605750d1
lea ecx, [eax + edi]
test ebx, 0x69076521
add ecx, ebx
sbb bx, di
bts bx, di
mov ebx, dword [ebp - 0xc]
cmp ebp, 0x1e657d04
movzx ecx, word [ebx + ecx*2]
test dh, ch
cmp sp, 0x4500
stc
mov dword [ebp - 0x10], ecx
cmc
cmp edx, 0x1000000
jmp 0xba4258
jb 0x10a2a21
mov ebx, edi
shr ebx, 1
jmp 0x119dd68
mov esp, ebp
mov bp, si
pop ebp
jmp 0x11840e8
mov dword [ebp - 0x18], 2
jmp 0x1182ebe
sub esi, ecx
lea edi, [edi + edi + 1]
and dword [ebp - 8], eax
cmp edi, 0x100
jmp 0xb82a01
jb 0x11975e2
mov edi, 3
rcl ah, 0x15
lahf
sal ax, cl
mov eax, dword [ebp - 8]
rcr bl, 0x23
ror bh, cl
shrd ebx, esi, 0x7f
shl edi, 7
cmovbe ebx, ebp
lea ebx, [edi + eax + 0x360]
xchg di, ax
mov eax, dword [ebp + 8]
mov edi, 1
jmp 0x11857a3
mov ecx, dword [edi + 0x24]
add ebx, 0x8424cfd
mov ebx, dword [edi + 0x38]
clc
cmp ecx, 0x727d33be
cmp ecx, ebx
jmp 0xb9e772
jae 0x119dd36
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0xb85f18
not eax
jmp 0x1182285
jae 0xba401b
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jae 0x11901c6
movzx ecx, byte [eax]
shl esi, 8
cmp ecx, 0x449f3233
test edx, 0x43993ef1
shl edx, 8
or esi, ecx
jmp 0xba400b
inc edi
mov dword [ebp + 8], edi
mov edi, edx
cmp sp, cx
test eax, ebx
shr edi, 0xb
clc
imul edi, ecx
test ch, 0x82
test dl, cl
cmp esi, edi
jmp 0xb8d6f2
mov ecx, 8
sub cl, al
rcl ah, cl
shr ebx, cl
mov ecx, dword [edi + 4]
mov eax, 1
shl eax, cl
mov ecx, dword [edi]
jmp 0x117b348
or esi, ecx
movsx ecx, di
inc eax
xor ecx, 0x75447b2e
mov dword [ebp + 8], eax
movzx eax, word [edi + 2]
rcr cx, 0x75
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
clc
cmp dh, 0xe9
cmp esi, ecx
jmp 0xb947e7
dec ebx
cmp ecx, 0x62db3e85
jmp 0xb89d96
jae 0x11901c6
pop edi
xchg bh, bl
pop esi
mov ah, ch
movzx ax, bl
mov eax, 3
xchg bl, bl
pop ebx
jmp 0xba2f38
jmp 0x109fa41
jae 0x11901c6
mov edi, dword [ebp + 8]
sbb bl, 8
and ebx, esp
xadd ebx, ebx
movzx ebx, byte [edi]
shl esi, 8
or esi, ebx
movsx ebx, bp
mov ebx, dword [ebp - 0x14]
shl edx, 8
jmp 0x119c5bf
sub edx, ecx
sub esi, ecx
adc ecx, ebp
btc ecx, 0xf0
shl cl, 0x23
mov ecx, dword [ebp - 8]
cmp dx, bx
stc
movzx edi, word [ecx + edi*2 + 0x1b0]
cmp bp, 0x4e3
test ebp, edi
cmp edx, 0x1000000
jmp 0xb847a0
imul ecx, edi
stc
cmp esi, ecx
jmp 0x10a8036
jae 0x11a1610
cmp eax, ecx
jae 0x11901c6
movzx edi, byte [eax]
cmc
stc
shl esi, 8
test cx, 0x4013
stc
shl edx, 8
or esi, edi
xchg edi, edi
inc eax
shld edi, ebx, 0xc6
stc
shr edx, 1
add edi, edx
mov edi, esi
stc
sub edi, edx
cmp eax, 0x168f66e9
shr edi, 0x1f
jmp 0xb8d0ea
jmp 0x10a2a24
jae 0x10a2a21
cmp edi, 4
jmp 0x11975d0
movzx ecx, word [ebx + edi*2]
clc
cmc
test edi, esp
mov dword [ebp - 0x10], ecx
jmp 0x11a3d11
jae 0xb95901
mov edx, eax
clc
jmp 0xb85df1
mov dword [ebp - 0xc], eax
jmp 0xb81f48
jae 0x1187973
cmp eax, dword [ebp - 4]
jmp 0x118e759
cmp edx, 0x1000000
jmp 0xba3de7
jae 0x11901c6
movzx ecx, byte [eax]
shl esi, 8
shl edx, 8
cmc
or esi, ecx
movzx ecx, bp
inc eax
rcl ecx, cl
mov dword [ebp + 8], eax
mov ecx, edx
test esi, ebx
cmc
test di, 0xdb8
shr ecx, 0xb
jmp 0xb8a612
shl ebx, cl
cmp cl, 0xfe
shr ch, 0x44
sbb cl, dl
mov ecx, dword [ebp - 0xc]
clc
stc
shl ecx, 4
mov dword [ebp - 8], eax
jmp 0xba0070
mov dword [ebp - 0x10], eax
jmp 0xb81e2d