Function at 0xbba69d
Capabilities:
Encrypt data using speck

Disassembly:
cmp ecx, 0x34
jae 0xb7a5cf
jb 0xb7a59f
rep movsb byte es:[edi], byte [esi]
jmp 0xbfff98
lea edx, [ecx + 0x47]
jmp 0xb7a5e5
cmp ecx, eax
jmp 0xbba0ea
jmp 0xbba08d
call 0xbba112
scasb al, byte es:[edi]
imul edx, dword [ebx], reloc.kernel32.dll_WriteFile
push 0xfffffffffffffff7
cmc
int3
jmp 0xbba07d
cmp dword [ebp + 0xc], 2
jmp 0xbba1bd
jmp 0xbba22d
cmp edi, 0x34
pushal
mov word [esp + 0x14], bp
jmp 0xb7a698
lea esp, [esp + 0x20]
jae 0xb7a6c5
mov ecx, dword [esp]
jmp 0xbba225
mov byte [edx + 2], 0x3d
jmp 0xbb9e0c
cmp edi, eax
jae 0xbba425
jb 0xb7a6d3
jl 0xb7a720
salc
inc ecx
push di
lea esp, [esp + 2]
jmp 0xbba20d
cmp al, 0x30
call fcn.00bba69d
cmpsb byte [esi], byte es:[edi]
ljmp 0xe818
mov dl, byte [ecx + 1]
jmp 0xbba79d
scasd eax, dword es:[edi]
mov dh, 0xe9
out dx, eax
add al, byte [eax + eax]
aad 0x53
inc ebp
ret
jmp 0xbbaa16
jmp 0xbba6db
cmp dl, 0x61
jmp 0xbba7ad
bound ecx, qword [edx - 0x1706fda7]
in eax, dx
add byte [eax + eax], al
mov bl, byte [ecx + 2]
stc
call 0xbba867
sub byte [esi - 0x40c99419], bl
pop ebx
mov ds, word ss:[ebp - 0x16390014]
aas
inc dword [ebx]
add byte [ecx - 0x4e], al
jae 0xb7a770
jmp 0xbba6cb
stosb byte es:[edi], al
add ch, byte [eax - 0x6c]
inc edi
xchg ecx, eax
stosb byte es:[edi], al
call fcn.00b8b416
fld dword [eax - 0x6e16d406]
add byte [eax + eax], al
arpl word [edx + eax*8 - 0x4a], dx
inc dword [ebx + reloc.kernel32.dll_WriteFile]
movsd dword es:[edi], dword [esi]
sbb esi, dword [edx + 0x6d]
cmp dl, 0x2b
jmp 0xbba836
jmp 0xbba7f5
mov cl, byte [ecx + 3]
pushfd
jmp 0xbba962
jmp 0xbbab96
pushal
jmp 0xbba29a
pushal
push dword [esp + 0x10]
cmp ebx, eax
jmp 0xbb9d98
lea esp, [esp + 0x24]
jae 0xbb9de0
mov ch, 0xaa
jmp 0xbba2b3
mov byte [edx + 3], 0x3d
jmp 0xbb9dca
xor ecx, ecx
jmp 0xbba2ed
cmp dword [ebp + 0xc], 3
jmp 0xbba257
xor edx, edx
sub esp, 1
lea esp, [esp + 1]
cmp ecx, eax
call fcn.00bba067
mov ecx, dword [ebp + 8]
jmp 0xbba0cc
bswap ecx
jmp 0xbba1de
mov byte [ecx], dl
cmp esi, 0x1a
jae 0xb7a5fb
jb 0xbba0b6
fmul qword [ebp - 0x23]
movsb byte es:[edi], byte [esi]
push edi
nop
dec esi
fimul word [ebx + ebp - 0x1a]
and ch, byte [edi + 0x23e0a1b6]
jae 0xb7a611
mov dx, word [esp]
lea edx, [ecx - 4]
jmp 0xb7a5e5
lea esp, [esp + 2]
jmp 0xbba1fc
mov edx, dword [esp]
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
push bp
jmp 0xbba1a7
lea ecx, [esi + 0x41]
jmp 0xb7a65d
jae 0xb7a689
mov cl, 0x42
jmp 0xbba27c
jb 0xb7a6af
push di
lea esp, [esp + 2]
cmp edi, 0x1a
jmp 0xbba1e6
lea ecx, [edi - 4]
jmp 0xb7a673
lea ecx, [edi + 0x47]
jmp 0xb7a673
mov byte [edx + 2], cl
jmp 0xbb9e0c
setne cl
pushal
lea esp, [esp + 0x20]
lea ecx, [ecx*4 + 0x2b]
jmp 0xb7a673
jne 0xbb9db4
cmp ebx, 0x1a
jae 0xbb9d75
jb 0xbba2cf
adc eax, 0x93600191
and dl, byte [ebp + 0x12e78012]
rcl byte [0x91620797]
das
mov ah, byte [0xe9414f8d]
out dx, eax
add edi, esp
dec dword [edi]
lahf
lds esp, [esi - 0x75]
retf
lea ecx, [edi + 0x41]
jmp 0xb7a673
setg ch
mov cx, bx
jmp 0xbba2ab
lea esp, [esp + 0x20]
cmp ebx, 0x34
jae 0xbb9d8b
mov ch, 0x86
jmp 0xbba284
lea ecx, [ebx + 0x47]
jmp 0xbb9d5f
lea ecx, [ebx - 4]
jmp 0xbb9d5f
lea ecx, [ebx + 0x41]
jmp 0xbb9d5f
cmp ebx, eax
call fcn.00bba2d7
lea esp, [esp + 4]
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0xbb9d5f
lea edx, [ecx + 0x41]
jmp 0xb7a5e5
pushal
lea esp, [esp + 0x20]
cmp bl, 0x30
jmp 0xbba8e3
cmp bl, 0x2b
call fcn.00bba8f2
mov ebx, 0x28d9be28
in eax, dx
xlatb
inc ebp
aad 0xbc
dec edi
mov dword [edi - 0x75], esi
pop esp
and al, 4
push edi
lea esp, [esp]
jmp 0xbbaa62
push di
jmp 0xbba9b3
cmp cl, 0x2b
jmp 0xbbaa2c
pushfd
mov byte [esp], ah
mov word [esp + 1], bp
insb byte es:[edi], dx
and al, 1
jmp 0xbba9dd
cmp cl, 0x39
call fcn.00bba9f0
adc al, 0x8a
sbb byte [edi - 0x76], bh
mov dh, 0x2f
mov edi, 0xc2f129da
jge 0xbba444
jae 0xb7a590
mov dl, ah
mov dx, sp
mov dx, si
lea edx, [esp + eax]
jmp 0xbba319
xor ecx, ecx
cmp edi, eax
jmp 0xbba243
add byte [eax], al
add byte [edi], al
mov ebx, dword [ebx]
jle 0xbba3d9
cmp dword [edi + reloc.kernel32.dll_WriteFile], ebp
cmp dword [ecx + reloc.kernel32.dll_WriteFile], 0xffffffdc
jmp 0xbbaab7
call int.00bba48a
rcl dword [ebx - 0x3d], 0xa6
push ebp
xchg edx, eax
pop ecx
aam 0x4a
sub eax, 0x80c16edc
inc ebx
cli
aad 0x54
jmp 0xbbabe1
cmp bl, 0x2b
jmp 0xbba558
jmp 0xbba55f
jmp 0xbbac3e
jne 0xbba53d
call 0xbbac0f
cmp bl, 0x2f
pushfd
mov byte [esp + 2], dh
jmp 0xbbabf0
jmp 0xbbac46
cmp bl, 0x39
ja 0xbba8b7
add edx, 4
jmp 0xbba5ae
cmp cl, 0x2b
jmp 0xbbac8a
movzx edx, bl
jmp 0xbba588
cmp cl, 0x39
jmp 0xbba5f3
pop ecx
jmp 0xbba62f
ja 0xbba7df
movzx ecx, cl
call 0xbba602
sub bh, bh
je 0xbba629
add ch, cl
out dx, al
push es
add byte [eax], al
inc ebp
lds edx, [ebp + 0x3c]
iretd
cmp cl, 0x2f
jmp 0xbbacab
call 0xdc8b20bd
xor ch, cl
inc esp
or byte [eax], al
add cl, al
loopne 0xbba63d
jmp 0xbbae78
shl eax, 6
rcr bx, 8
mov ebx, eax
jmp 0xbbadbb
sub ecx, 0x47
jmp 0xbba62f
jmp 0xbba73e
cmp al, 0x7a
jbe 0xb7a70c
ja 0xb7a6f1
pop esi
rol byte [esi + 0x21], 1
rcl byte [ebx]
int 0x5c
scasd eax, dword es:[edi]
mov dh, 0x3c
popal
cmp al, 0x61
push ebx
pushal
lea esp, [esp + 0x24]
jb 0xb7a6f1
jae 0xbba6b3
cmp al, 0x2b
jmp 0xbba71d
lea esp, [esp + 2]
lea esp, [esp + 0x1c]
cmp al, 0x39
jbe 0xb7a70c
ja 0xb7a745
cmp al, 0x2f
jmp 0xbba754
je 0xb7a70c
push di
lea esp, [esp + 2]
jmp 0xbba707
lea esp, [esp + 4]
jb 0xb7a745
sub esp, 0x15
sub esp, 5
push dword [esp + 7]
jmp 0xbba6f1
jne 0xb7a722
je 0xb7a70c
xchg ecx, eax
add eax, 0xbe0ffc95
and dword [esi + reloc.kernel32.dll_WriteFile], esi
xor dword [ebx + reloc.kernel32.dll_WriteFile], ebp
dec esi
fnstcw word [eax]
lea esp, [esp + 4]
cmp al, 0x5a
jbe 0xb7a70c
ja 0xb7a787
push si
lea esp, [esp + 2]
jmp 0xbba7c3
cmp dl, 0x41
pushfd
lea esp, [esp + 4]
jb 0xb7a75b
jae 0xbba787
jb 0xb7a7b3
jae 0xbba884
push esi
rol dword [ebx + 0x26], cl
aad 0x65
salc
inc ecx
ret
cmp dl, 0x5a
jbe 0xb7a771
ja 0xb7a75b
dec edi
aad 0x45
sub al, 0xdf
insb byte es:[edi], dx
fild word [esi - 0x2c]
mov bl, 0x4e
mov esi, dword [edi - 0x80]
stc
pop edx
cmp cl, 0x5a
jmp 0xbbad05
cmp dl, 0x30
jmp 0xbba850
je 0xb7a771
call 0xbba85e
pop ecx
stc
imul ecx, dword [eax], reloc.kernel32.dll_WriteFile
dec eax
das
fisubr dword [eax - 0x45]
xchg edx, eax
or eax, 0xff47820f
sti
inc dword [eax - reloc.kernel32.dll_WriteFile]
invalid
jb 0xb7a79d
cmp dl, 0x39
call 0xbba831
lea esp, [esp + 4]
cmp dl, 0x2f
jmp 0xbba88c
sub esp, 5
lea esp, [esp + 1]
jmp 0xbbad1c
cmp dl, 0x7a
call 0xbba80b
jne 0xb7a722
je 0xb7a771
cmp bl, 0x41
push esp
lea esp, [esp + 4]
jb 0xb7a808
pushfd
jmp 0xbba86d
call fcn.00bbac4c
add byte [eax], al
jp 0xbba8ba
xchg edx, eax
cmc
add al, 0xb7
dec esp
leave
pop ecx
cmp bl, cl
or ebp, eax
or esp, dword [edx + reloc.kernel32.dll_WriteFile]
and al, 0x20
lea esp, [esp + 0x20]
cmp bl, 0x39
jmp 0xbba908
jb 0xbba353
push bx
pushal
lea esp, [esp + 2]
jmp 0xbba8cd
jbe 0xb7a7f2
ja 0xbba353
iretd
jbe 0xb7a7f2
ja 0xbba32f
lea esp, [esp + 4]
jbe 0xbba391
cli
invalid
ja 0xbba3a7
js 0xbba99c
mov dl, 0xad
mov esp, 0x5af9808f
cmp cl, 0x5a
call 0xbba92f
sbb dl, byte [edx + ecx - 0x73a06393]
add dword [ecx + reloc.kernel32.dll_WriteFile], edx
ret 0x3750
lea esp, [esp + 4]
cmp cl, 0x41
jb 0xbba3a7
clc
jmp 0xbba945
call 0xbba9d2
clc
imul edi, ecx, 0x1aac6b98
mov bl, byte [eax]
jg 0xbba936
dec esi
stosd dword es:[edi], eax
ret 0x4c7d
lea esp, [esp + 1]
call fcn.00bba988
lea esp, [esp + 4]
jbe 0xbba391
ja 0xbba3d3
push ecx
rcl byte [ebx - 0x36]
xchg esp, eax
push word [esp + 3]
lea esp, [esp + 2]
jmp 0xbba9bc
lea esp, [esp + 4]
cmp cl, 0x30
jb 0xbba3bd
stc
jmp 0xbba3e1
mov eax, 0x403
bswap ebx
push bp
lea esp, [esp + 2]
jmp 0xbbaa60
je 0xbba391
cmp cl, 0x2f
je 0xbba391
jne 0xb7a722
and esi, dword [edx + ebp + reloc.kernel32.dll_WriteFile]
mov eax, dword [reloc.kernel32.dll_WriteFile]
pushal
mov dword [reloc.kernel32.dll_WriteFile], eax
add al, 0xf
xchg byte [edi], dh
stc
invalid
pop ebx
ret
lea esp, [esp + 4]
cmp al, 0x2b
call fcn.00bbaa9a
and dh, byte [ebp + 0x3bf4c25]
cmp al, 0xa6
xor al, 0x53
scasb al, byte es:[edi]
push 0x4e
fisttp dword [ebx + 0x2e]
invalid
mov eax, dword [esp]
jmp 0xbbaafb
lea esp, [esp + 4]
jmp 0xbba4fb
cmp bl, 0x61
jb 0xbba32f
cmp bl, 0x7a
jmp 0xbba923
ja 0xbba553
push eax
lea esp, [esp + 4]
sub esi, 0x41
jmp 0xbba527
lea esp, [esp + 4]
cmp dl, 0x5a
push dx
lea esp, [esp + 2]
jmp 0xbbabc4
lea esp, [esp + 4]
jne 0xbba5c4
test edx, ecx
stc
invalid
call fcn.00bbac1e
jle 0xbbabf5
push 0xd
cld
dec ecx
push 0xe31071e1
pop esi
mov al, byte [0x66751ae3]
pop dword [esp]
lea esp, [esp + 2]
push 0x3e
jmp 0xbba583
sub esi, 0x47
jmp 0xbba527
pop edx
jmp 0xbba5ae
jne 0xbba619
call 0xbbac74
push ds
mov word [edx], es
xchg esp, eax
push edi
mov byte [ecx], bl
mov eax, ebp
sbb ebx, esp
clc
fild dword [ebx + 0x3e941ea]
stc
invalid
jne 0xbba5da
je 0xbbacf2
and byte [eax + 0x74b04126], dh
lodsd eax, dword ds:[esi]
cmp eax, 0x3c71b744
punpckhdq mm7, qword [esi]
jmp 0xbba5f0
push 0x3f
jmp 0xbba5f0
movzx ecx, cl
jmp 0xbbaeec
lea esp, [esp + 8]
cmp bl, 0x5a
jbe 0xb7a7f2
ja 0xb7a808
jmp 0xbbad57
bswap esi
pushfd
lea esp, [esp + 4]
mov ecx, dword [esp + 0xc]
mov dl, cl
call 0xbbad2f
sbb dh, 0x7b
mov word [esp + 1], bx
jmp 0xbbad98
shl eax, 6
or eax, ecx
lea esi, [ebx*4]
xchg cl, ch
jmp 0xbbad45
mov edx, eax
shr edx, 0x10
call 0xbbad82
lea esp, [esp + 8]
mov byte [ecx], dl
bswap esi
mov edx, ecx
dec bl
jmp 0xbbae42
or eax, edx
lea esi, [esi*4]
mov dx, word [esp]
mov bx, si
mov esi, edx
jmp 0xbbad72
lea esp, [esp + 4]
pop esi
mov bx, word [esp]
jmp 0xbbae06
mov bl, dl
push ecx
shr edx, 8
bswap ebx
jmp 0xbbadcf
dec bh
jmp 0xbbae2a
mov byte [ecx + 2], al
rcl bx, 0xb
mov byte [ecx + 1], dl
mov bl, 0x1c
jmp 0xbbadf0
xor eax, eax
call fcn.00bbae14
xor dword [esi + reloc.kernel32.dll_WriteFile], esi
and dword [ebx + reloc.kernel32.dll_WriteFile], ebp
dec esi
fnstcw word [eax]
sbb esi, dword [edx + 0x60]
pushal
mov edi, esp
bswap edx
mov dword [esp + 0x14], eax
popal
jmp 0xbbade6
shl eax, 6
or eax, esi
bswap ebx
mov bx, 0x2d14
jmp 0xbba634
ja 0xbba687
sub ecx, 0x41
jmp 0xbba62f
xchg esp, eax
arpl word [edx - 0x33733131], bp
pop edi
and eax, 0xf3a34f61
ljmp 0xa986
shl byte [edx - 0x747ab6c], 0xc
test eax, 0xb87c4e14
wait
in eax, dx
sub eax, 0x46f9fbb8
daa
scasb al, byte es:[edi]
xchg ebp, eax
wait
xchg eax, eax
jl 0xbffebd
push esi
invalid
rcl dword [esi + edx*4 - reloc.kernel32.dll_WriteFile], 0xcb
sysexit
aaa
movsd dword es:[edi], dword [esi]
cmc
sbb ecx, dword [0x63f9aa3c]
push ebx
out 0xf8, eax
inc ecx
jecxz 0xbfff6d
popal
loope 0xbfffb2
lahf
xchg ecx, eax
loopne 0xbffefb
push edx
sbb byte [eax], dl
dec edx
xor al, 0x9e
jns 0xbfffa5
pop edx
movsb byte es:[edi], byte [esi]
test byte [eax - 0x3f2a05bd], 0xd2
add ecx, dword [edi]
sub dword [ebx], reloc.kernel32.dll_WriteFile
invalid
push 0x5c4e909c
call fcn.00b8e400
push 0xaa917ad1
xchg ecx, eax
stosb byte es:[edi], al
call fcn.00b8b416
dec eax
jmp 0xbfffb1
loope 0xbfff42
invalid
outsb dx, byte [esi]
or dword [eax + reloc.kernel32.dll_WriteFile], ebx
sti
test eax, 0xc891e701
sub eax, 0x6d8d5f4b
lds ebx, [esi - 4]
out 0x32, al
add bh, al
outsd dx, dword [esi]
mov eax, 0x1ffeea7c
push esi
jecxz 0xbfffdf
xor edx, dword [ebx]
cmc
pop edi
or eax, 0x4c4cde9c
outsb dx, byte [esi]
and byte [edx - 0x3e], 0xa4
mov esp, ss
call 0xdf56a7b8
and edx, dword [edi - 5]
jnp 0xc00063
sahf
stc
mov dword [reloc.kernel32.dll_WriteFile], eax
xchg ecx, eax
sub dword [eax], ebx
and byte [edi + ebp*8 + 0x661f8ca4], bl
xchg ecx, eax
stc
push esi
mov esp, dword [ebx + 0x47]
and al, 0xbe
inc ecx
inc esi
invalid
sub eax, 0x67686862
adc edi, eax
mov edx, 0xf893e7e8
call [ebp + ecx - 0x2fe81b63]
sbb al, 0x6f
jbe 0xc000db
mov al, byte [0x3be8ebe3]
cmp ebx, dword [edi]
movsd dword es:[edi], dword [esi]
fcomp qword [ecx + 0x5d7c311a]
retf
add dword [ecx + 0xc], ecx
jbe 0xc00106
xchg ebx, eax
jmp 0xc00153
retf 0x15c0
adc dh, bl
sub al, 0x8b
lds ecx, [ebx - 0x154699e8]
stosd dword es:[edi], eax
lea eax, [edx*4]
mov ax, dx
jmp 0xc00170
mov cx, word [ebp + 4]
call fcn.00c0017a
hlt