Function at 0x446edd
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b4639
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x124
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], 0x354
mov dword [ebp - 0x7c], 0xa84838
cmp dword [ebp - 0x50], 0x467
jle 0x446fc0
push 0
call dword [0xaa134c]
and dword [ebp - 0x40], 0
jmp 0x446f32
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x23ba
jge 0x446fc0
and dword [ebp - 0x28], 0
jmp 0x446f4c
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x774e
jge 0x446fbb
and dword [ebp - 0x48], 0
jmp 0x446f62
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x4a0e
jge 0x446fb9
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
sar eax, cl
mov ecx, dword [ebp - 0x48]
shl eax, cl
cdq
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
lea ecx, [ebp - 0xec]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
lea ecx, [ebp - 0xec]
call fcn.00409fca
jmp 0x446f5b
jmp 0x446f45
jmp 0x446f2b
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x44733b
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x74], 0x26fe
mov dword [ebp - 0xc0], 0xa84894
cmp dword [ebp - 0x74], 0x2868
jle 0x4470b2
and dword [ebp - 0x24], 0
jmp 0x447006
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x7a6a
jge 0x4470b2
and dword [ebp - 0x30], 0
jmp 0x447020
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x1072
jge 0x4470ad
and dword [ebp - 0x20], 0
jmp 0x44703a
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x64d2
jge 0x4470a8
and dword [ebp - 0x38], 0
jmp 0x447050
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xebc
jge 0x4470a6
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x20]
xor eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x11c]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
lea ecx, [ebp - 0x11c]
call fcn.00409fca
jmp 0x447049
jmp 0x447033
jmp 0x447019
jmp 0x446fff
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa4], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x74], 0x236a
jge 0x4470d4
push dword [ebp - 0xc0]
call fcn.0049e427
pop ecx
jmp 0x4470f0
or dword [ebp - 4], 0xffffffff
jmp 0x4470fa
mov eax, dword [ebp - 0x80]
movzx eax, byte [eax]
test eax, eax
je 0x4472d9
mov dword [ebp - 0x14], 0x75dcec3d
mov dword [ebp - 0x60], 0x3dcdf5ef
mov dword [ebp - 0x68], 0x5954e3f1
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x14], 0
jmp 0x447137
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x1b
jle 0x4471e7
mov dword [ebp - 0x18], 0x27ca
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x60], eax
jne 0x447159
mov dword [ebp - 0x58], 1
jmp 0x44715d
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x18], eax
jge 0x447189
mov dword [ebp - 0x98], 1
jmp 0x447190
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xd4], eax
xor eax, eax
jne 0x4471a6
mov dword [ebp - 0x70], 1
jmp 0x4471aa
and dword [ebp - 0x70], 0
cmp dword [ebp - 0x70], 0xffff
jae 0x4471bc
mov dword [ebp - 0x54], 1
jmp 0x4471c0
and dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x54], eax
jge 0x4471d1
mov dword [ebp - 0x5c], 1
jmp 0x4471d5
and dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x5c]
mov dword [ebp - 0xa0], eax
jmp 0x447130
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x64], 0x2f3d
mov dword [ebp - 0x8c], 0xa848d4
cmp dword [ebp - 0x64], 0x327f
jle 0x447295
and dword [ebp - 0x2c], 0
jmp 0x447219
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1a26
jge 0x447281
and dword [ebp - 0x34], 0
jmp 0x44722f
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x3e6f
jge 0x44727f
mov eax, dword [ebp - 0x2c]
xor eax, dword [ebp - 0x34]
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
lea ecx, [ebp - 0x104]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
lea ecx, [ebp - 0x104]
call fcn.00409fca
jmp 0x447228
jmp 0x447212
push 0x216e
push 0
push 0
push 0x212a
call dword [0xaa14cc]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x64], 0x2db4
jge 0x4472b1
push dword [ebp - 0x8c]
call fcn.0049e427
pop ecx
jmp 0x4472cd
or dword [ebp - 4], 0xffffffff
jmp 0x4472d7
jmp 0x447336
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
jmp 0x447316
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 3
jge 0x447336
mov eax, dword [ebp - 0x1c]
push dword [eax]
mov ecx, dword [ebp - 0x84]
call fcn.0040a2f5
mov dword [eax], 7
jmp 0x44730b
jmp 0x44745e
mov dword [ebp - 0x6c], 0x76dd
mov dword [ebp - 0x88], 0xa84938
cmp dword [ebp - 0x6c], 0x79d6
jle 0x4473fe
and dword [ebp - 0x3c], 0
jmp 0x447366
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x4080
jge 0x4473f3
and dword [ebp - 0x44], 0
jmp 0x447380
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x855
jge 0x4473ee
and dword [ebp - 0x4c], 0
jmp 0x447396
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x368e
jge 0x4473ec
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
shl eax, cl
cdq
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
lea ecx, [ebp - 0x134]
call fcn.004019f8
pop ecx
pop ecx
mov ecx, eax
call fcn.00409fd4
push eax
call fcn.0049e427
pop ecx
lea ecx, [ebp - 0x134]
call fcn.00409fca
jmp 0x44738f
jmp 0x447379
jmp 0x44735f
push 0x12f5
call dword [0xaa142c]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x90], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x6c], 0x7589
jge 0x447423
push dword [ebp - 0x88]
call fcn.0049e427
pop ecx
jmp 0x44743f
or dword [ebp - 4], 0xffffffff
jmp 0x447449
push 0x7840
push dword [ebp - 0x90]
push 1
call fcn.0044117f
add esp, 0xc
mov dword [ebp - 4], 6
cmp dword [ebp - 0x50], 0x30b
jge 0x447477
push dword [ebp - 0x7c]
call fcn.0049e427
pop ecx
jmp 0x447493
or dword [ebp - 4], 0xffffffff
jmp 0x44749d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret