Function at 0xf1148f
Capabilities:
Encrypt data using speck

Disassembly:
lea esi, [esi + ecx - 0x10021dd]
lea edx, [ecx + 0x6cbf8aa3]
lea eax, [edx*8 - 0x5c7a2fc9]
mov eax, dword [esi + ecx*2 - 0x20043b2]
ror edx, 0x91
xor eax, ebx
add ecx, ecx
bswap eax
lea eax, [edx + eax - 0x1c90f44f]
xor eax, 0x98178c05
neg cx
add edx, ecx
sub cx, cx
bswap eax
not cx
dec ecx
jns 0x16127c3
xor ebx, eax
add esi, eax
call fcn.0181b219
inc ecx
sbb ebx, 0xb685ee2d
call fcn.015e6c20
mov ebp, 0x3e115f3b
inc eax
dec ch
dec esp
lea ebx, [ebp*4 - 0x256780c8]
dec ebp
lea eax, [eax + ebp*2 - 0x7c22be78]
mov edx, ebp
jno 0x15d445d
sub esi, 4
mov eax, 0x540a6522
and eax, eax
mov eax, dword [eax + esi - 0x540a6522]
mov edx, 0x9430b716
xor eax, ebx
push edx
lea eax, [eax + edx - 0x5bf611f9]
rol eax, 2
sal edx, 0x52
lea ecx, [edx + edx*8 + 0x6018d1b]
sbb eax, 0x50061f88
ror dl, 0xe1
ror eax, 1
xor ebx, eax
sar edx, 0xe5
shr dl, 0x61
adc edi, eax
movsx eax, dl
xadd word [esp + eax], cx
shl ecx, 0xf2
lea esi, [esi + eax*2 - 1]
xor al, byte [esi + eax]
xor al, bl
jmp 0xf3b9c5
inc bp
mov ebx, dword [edx + edi - 0x7a2df0b7]
dec eax
lea eax, [edi*8 - 0x43759af8]
call fcn.0160f47a
or dword [esp], 0x76929b11
xor ecx, ebx
jmp 0xf7e59d
rdtsc
mov ecx, 0x3424f2a1
ror ecx, 0xb4
ror ecx, 0xa4
lea ebp, [ebp + ecx*2 - 0x49e54270]
sbb ecx, 0xa792c787
mov dword [ebp + ecx - 0x7d5fd9a9], eax
movzx eax, cl
lea eax, [ecx*2 - 0x53553573]
sar ecx, 1
mov dword [ebp + ecx*2 - 0x7d5fd9ac], edx
dec ax
call fcn.01778fcd
inc ecx
mov ebp, 0xc42fca2c
dec ecx
lea ecx, [ebp - 0x1fe4ff5]
inc ecx
movzx esi, ch
dec ebp
lea eax, [eax + esi*2 - 0x5c]
inc esp
movsx edi, cx
inc ecx
mov edx, dword [eax + esi*4 - 0xb0]
inc esp
movsx ebx, cl
call fcn.00f084e4
ror dl, 0x85
add esi, eax
mov dword [esp + edx - 0x21eaffff], 0x990ead11
mov ecx, dword [ebp + edx - 0x21eaffff]
movzx edx, byte [edx + edi - 0x21eb0004]
mov eax, dword [esp]
xor dl, bl
call fcn.0174e77c
je 0xef9fa8
inc edx
xor dword [esp + edi*2 - 0x899e], eax
push edx
push edx
dec edx
mov ebx, dword [esp + edi*4 - 0x1132c]
ror ebp, 0x4e
inc eax
sal bh, 4
dec eax
arpl ax, ax
dec esp
adc ecx, eax
dec eax
or edx, 0xafae8387
inc cx
rol ebp, 0xec
sar word [esp + edx + 0x513880], 0x88
inc ecx
pop edi
inc ecx
pop edi
pop eax
jns fcn.00ee9d27
inc ecx
mov edi, 0xad866d08
dec ecx
sub eax, 4
inc ebp
mov esi, edi
inc ebp
mov edi, dword [eax]
inc esp
xor edi, ebx
inc edi
lea edi, [edi + esi + 0x1839558f]
dec edi
lea ebx, [esi + esi + 0x3838080a]
call fcn.00f6645b
rol dword [esp + 0xc], 0xe8
push edx
or eax, ecx
mov dword [ebp + 8], eax
add ebp, 8
pop ecx
pop eax
pop ecx
pop eax
pop eax
jmp esi
lea edi, [edi + eax - 0xd0d1ac3]
jns 0x1783868
jmp 0xf3d8ac
sub dword [esp], ecx
rol al, 1
not al
inc al
shl cx, 0x2a
shr dx, 0xe2
neg al
neg ecx
not al
xor bl, al
call int.015fffd6
rol edx, 1
call fcn.01610695
mov ecx, 0x10144b35
lea edi, [edi + ecx - 0x10144b39]
mov ecx, dword [edi + ecx - 0x10144b35]
mov eax, 0x3519a298
sar ax, 9
mov edx, eax
xor ecx, ebx
jmp 0x15d1478
dec ecx
sub eax, 2
inc ecx
mov esi, 0xc1987f0c
dec edx
lea ebp, [esi*4 - 0x2170137f]
inc ebp
movzx ebx, word [eax]
inc ecx
movsx eax, dh
dec ebp
lea esp, [esi + eax*2 - 0x3d7339d0]
inc sp
xor ebx, ebx
dec ecx
bswap esi
inc cx
dec ebx
dec eax
lea esi, [ebp*2 - 0x2768a5e9]
dec eax
rol eax, 0x65
call fcn.0181001e
add edi, eax
lea eax, [ecx*8 - 0x20c145d5]
shr ecx, 0x34
neg ecx
or ecx, dword [ebp + ecx]
mov eax, dword [ebp + 4]
push 0x46b09eb6
mul ecx
call fcn.018291b6
dec ebx
lea esp, [esp + 4]
jne 0x1780328
call fcn.01612562
sal dl, 0xc2
ror cl, 1
neg edx
setb dl
neg cl
lea edx, [edx + edx*8 - 0xdd4f34a]
dec dx
sal edx, 0x8e
xor bl, cl
push edx
pop edx
add ecx, esp
call fcn.00f77d83
mov ecx, 0xfe090a99
lea ebp, [ebp + edx*2 - 0x7fbbb602]
not dx
jnp 0xf0a229
neg cl
jne fcn.00f2d244
rol ecx, 1
mov eax, 0x9f3cb939
movsx edx, al
lea ecx, [eax + ecx - 0x5080bffd]
not dx
rol ecx, 2
xadd eax, edx
push edx
cmovae edx, eax
not ecx
pop eax
rol ecx, 3
add byte [esp], al
xor ebx, ecx
inc al
jg 0x160fd75
adc edx, esp
bswap eax
mov ecx, dword [eax + edx]
mov dword [ebp + eax - 4], ecx
xor eax, dword [eax + ebp - 4]
mov cl, byte [ebp]
mov edx, 0x60116825
neg edx
sal eax, cl
sal dx, 0x67
add edx, edx
sal dl, 0x22
mov dword [ebp + edx*2 - 0x7fbbb602], eax
jns 0xf716a4
jmp 0x17307b4
xor edx, ebx
not edx
jmp 0x160d1db
lea ecx, [ecx + eax + 0x609c1136]
or ax, 0x7431
lea edx, [edx + eax*4 - 0x76cbeed5]
neg ecx
sal eax, 0x8b
lea ecx, [ecx + edx + 0x655ae64b]
not eax
xor edx, edx
neg ecx
push eax
xadd eax, edx
xor ebx, ecx
push edx
or dword [esp + eax*2 - 0x6000effc], eax
adc esi, ecx
xor dword [esp + eax - 0x300077fb], 0x2b0d6a88
adc byte [esp + eax - 0x300077fc], 0xaf
mov dx, word [edx + ebp - 0x300077ff]
jl 0xfb17de
or ax, 0x46a5
mov byte [esp + eax*2 - 0x6000effb], al
mov cx, word [ebp + eax*2 - 0x6000effc]
dec word [esp + eax*2 - 0x6000effa]
lea ebp, [ebp + eax - 0x300077fd]
add eax, eax
ror dword [esp + eax - 0x6000effb], 0x3f
not dx
xor byte [esp + eax - 0x6000eff8], 0xaa
rol byte [esp + eax - 0x6000effa], 0xa7
neg dword [esp + eax - 0x6000effd]
not cx
sub dword [esp + eax - 0x6000effc], eax
or dx, cx
and ax, ax
add dword [esp + eax - 0x6000effd], eax
mov word [ebp + eax - 0x6000effe], dx
xor byte [esp + eax - 0x6000eff8], ah
mov dword [esp + eax - 0x6000effe], esi
ret 4
dec ebp
lea esp, [ebx + ebp*2 - 0x4f7cf56]
inc ecx
mov esi, dword [eax + ebp*2 - 0x7c22be74]
dec ecx
add ebp, ebx
inc esp
movzx edi, bp
xor esi, ebx
inc ecx
movzx eax, bl
not esi
inc esi
xor esi, 0xd1141291
shr dl, 0x47
call fcn.00f63f6d
not eax
add cl, 0xac
lea eax, [ecx + eax - 0x7cac832c]
lea ecx, [ecx + ecx*8 + 0x431e70bb]
ror cx, 0x69
ror cl, 0xc2
neg eax
sal ecx, cl
bswap eax
or ecx, ecx
rol cx, 0x61
sub ecx, ecx
xor ebx, eax
jmp 0xf529da
mov edx, dword [ebp + eax - 0xd0d1abb]
and ecx, edx
push eax
mov edx, 0x3f221f37
not ecx
shr dx, 8
dec byte [esp + eax*4 - 0x34346af2]
mov dword [ebp + edx - 0x3f22001b], ecx
mov ecx, dword [edi + edx*2 - 0x7e440042]
jg 0xf39a49
movzx eax, cx
lea ecx, [ecx*8 - 0x545f485f]
neg edx
push eax
rol edx, 2
or eax, dword [esp + eax - 0x775]
call fcn.015d54e9
add edi, ecx
mov edx, dword [ebp + 8]
sub ebp, 0xfffffff4
movzx eax, byte [esi - 5]
mov ecx, dword [esp]
call fcn.015f2477
mov ecx, 0xd921a213
mov ax, word [ebp]
shr cx, 0x4e
lea edx, [ecx*4 - 0x45497ae8]
mov dx, word [ebp + edx - 0x1f3a851e]
dec cl
jle 0x1762011
add ebp, 2
not ax
bswap ecx
not dx
and ax, dx
mov word [ebp + ecx*8 - 0x8010ec8], ax
jmp 0xee37e9
xor ebx, eax
push edx
sub dx, 0x5687
and edx, dword [esp + ecx - 0x200fffe]
adc edi, eax
pop ecx
mov eax, 0xf50a6611
jmp edi
mov eax, 0xd0d1abf
lea ecx, [eax*4 + 0xca31d3e]
mov ecx, dword [ebp + eax*4 - 0x34346afc]
push eax
push eax
jmp 0x15f26cd
xor ebx, edx
add edi, edx
mov edx, eax
rol edx, cl
call fcn.00f9eca3
mov eax, 0x4eb272a3
push eax
mov eax, dword [ebp + ebx*4]
mov dword [esp], eax
call 0xf529fb
xor ecx, ebx
lea eax, [edx*4 + 0x78091c83]
lea ecx, [edx + ecx + 0x6d64a0f6]
sub byte [esp + eax - 0x74911cfb], dh
sal eax, 0x1c
xor edx, eax
ror ecx, 1
bswap ecx
xchg word [esp], ax
not ecx
push eax
xor ebx, ecx
sal dword [esp + 0xc], 0xa6
add esi, ecx
lea ecx, [edx + edx*8 + 0x19bab9b0]
lea ecx, [edx + edx*4 - 0x46631b61]
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
or dx, dx
push edx
not eax
pop edx
sbb word [esp + 0xb], dx
not ecx
jp 0xf194c4