Function at 0x462b59
Capabilities:
Encrypt data using speck

Disassembly:
jl 0x46539a
jge 0x439c1b
invalid
mov ebx, 0xffffff9c
mov eax, esi
cdq
idiv ebx
jne 0x467a06
je 0x439c2f
push esi
ror byte [edi], 0x84
rcr ebp, 1
add al, byte [eax]
je 0x467a06
add eax, 0x5a18e9a7
add dword [eax], eax
ror dword [ebp - 0x133f1278], 0x40
push ebx
ja 0x44f63d
xchg ah, al
xchg al, ah
jbe 0x439c53
push edx
aam 0xf
xchg ah, ah
pop ecx
add dword [eax], eax
jbe 0x44f63d
fadd dword [ebx + 0x4513c6]
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
popal
add byte [eax + 0x24], al
add byte [ecx], ah
add byte [eax], al
dec esi
add byte [eax], al
add byte [edx + 0x68], ch
inc esi
add dh, cl
mov byte [ebx], 0x20
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add ch, cl
sbb byte [ebp], al
add eax, 0xb20044b1
sbb byte [ebp], al
sahf
pushfd
inc ebx
add byte [ecx], bl
imul byte [ebx - 0x4e]
sbb byte [ebp], al
add eax, 0xd90044b1
retf 0x810f
add esp, 8
mov ecx, dword [esi]
push ebx
jmp 0x448498
push ecx
jmp 0x462fcb
push 0
mov eax, dword [esi]
push eax
mov dh, dh
call fcn.00445916
add esp, 8
mov eax, dword [esi]
mov cx, cx
push 0
push eax
call fcn.00464573
mov bx, word [edi + 8]
add esp, 8
mov eax, dword [esi]
js 0x462fc6
jns 0x4484dd
cpuid
ret
jns 0x462fc6
xor al, 0x9e
shl ecx, 4
or ax, ax
and dl, 0xf
jb 0x45bb0d
cmp dl, 9
jbe 0x44850b
ja 0x448501
push es
cmp al, byte [eax + 0x5e937c2]
add byte [eax], al
add byte [ebx - 0x4d], ch
add dl, 0x37
jmp 0x44850e
add dl, 0x30
mov byte [esi + eax], dl
inc eax
cmp eax, 8
jb 0x454fee
mov edi, edi
jae 0x448523
xlatb
js 0x4484e3
mov edi, 5
add eax, 0x66000000
mov ecx, 0x810f000a
cmpsb byte [esi], byte es:[edi]
inc ebp
add byte [eax], al
neg byte [ebx]
jmp dword [esi]
loopne 0x45baeb
mov cx, cx
mov ebx, dword [esi + 4]
lea esi, [esi + 8]
sub ebx, 0
jae 0x45bb20
jae 0x44a5b7
call fcn.00464573
mov al, al
mov bx, word [ebx + 8]
jne 0x44848d
je 0x461823
cpuid
in al, 0xc3
je 0x44848d
and byte [0x810efbc3], 0xf9
or al, 0
add byte [eax], al
jg 0x46539a
lea esi, [esi]
jle 0x461840
fsubr dword [ecx + eax*4 - 7]
add eax, dword [eax]
add byte [eax], al
cmp ecx, 3
jno 0x439c0f
jo 0x461850
push ss
je 0x461860
jo 0x439c0f
cmp byte [ecx + 0x35fffd83], 0x41
xor eax, 0x85e8b41
jbe 0x46186e
test ecx, esi
pushal
invalid
pop dword [esp - 4]
call fcn.0046231e
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dx, dx
test ebx, ebx
jb 0x464d44
je 0x4484a4
shr di, 0x40
jne 0x462b84
invalid
lea eax, [ebx + ebx*2]
lea ebx, [edi + eax*4]
lea eax, [eax]
mov eax, dword [esi]
mov ecx, dword [ebx]
shr al, 0x40
push ecx
push eax
call fcn.00445916
add esp, 8
mov ecx, dword [esi]
push 0
shr dx, 0x40
push ecx
js 0x46180c
jns 0x462bb6
push esp
or dl, dh
mov byte [0xec50890f], al
invalid
jns 0x46180c
fld dword [edx - 0x77]
in eax, 0x81
in al, dx
or al, 0
add byte [eax], al
cmp dh, dh
stc
cmp dword [0x487fb2], 0
push ebx
push esi
shl cx, 0x20
jmp 0x462bdb
push edi
call fcn.00453b51
insd dword es:[edi], dx
adc dword [esi - 0x3f], esp
jmp 0xd3cb5c8d
mov eax, 0xffffffff
pop edi
xchg dl, bl
xchg bl, dl
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x674]
call dword [ebp - 0x39c]
push dword [ebp + 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x540]
push dword [ebp - 0x684]
push dword [ebp - 0x688]
push dword [ebp - 0x3ac]
push dword [ebp - 0x400]
push dword [ebp - 0x54c]
push dword [ebp - 0x678]
lea eax, [ebp - 0x334]
push eax
push dword [ebp - 4]
push dword [ebp + 8]
call dword [ebp - 0x37c]
pop edi
pop esi
pop ebx
leave
ret