Function at 0x42e19b
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
cmp ebx, 1
mov dword [esi], edx
mov word [esi + 4], ax
mov byte [esi + 6], cl
je 0x41136b
shr ax, 0x40
jne 0x411344
cdq
call 0x820d4003
sti
add eax, dword [eax]
add byte [eax], al
cmp ebx, 3
je 0x41136b
mov edi, edi
mov edx, dword [ebp + 0x14]
mov ebp, ebp
jmp 0x411371
push eax
mov dh, dh
lea eax, [esi + 7]
push edx
mov bx, bx
push eax
call int.00446ba6
add esp, 0xc
lea ecx, [ebp - 0x100]
push esi
push ecx
call fcn.004236b8
shr edi, 3
lea edx, [ebp - 0x100]
push edi
shr edx, 0x40
jmp 0x4113a6
push edx
call fcn.0043349a
push 0x43f333
ret
mov eax, dword [eax + edx]
lea esi, [esi + 0xc]
and dword [ebp + ebx], eax
jb 0x430e7c
push esi
pop esi
jmp dword [esi]
fbld tbyte [0x8bed8966]
push esi
add al, 0x8d
jbe 0x4149d8
mov ebx, dword [ebp + 0x38]
jmp 0x4149d4
push esi
mov esi, dword [ebx + edx]
mov dword [ebp + 0x34], esp
jmp dword [esi]
adc ecx, dword [ecx + 0x26ff3465]
scasb al, byte es:[edi]
and esp, dword [esi - 0x3f]
in eax, 0x20
mov ebx, dword [ebp + 0x38]
mov edx, dword [esi + 8]
ja 0x450c2e
jbe 0x4149f6
cpuid
invalid
jbe 0x450c2e
fcmove st(0), st(2)
je 0x441788
jne 0x414a0c
jbe 0x414a59
add eax, 0x3c41f07e
inc ebp
cmp al, 0x45
jne 0x435085
je 0x414a1c
out dx, al
or eax, 0xdd573301
cmp byte [esi], 0
jmp fcn.0043506e
cmp esi, 0x840f0004
and al, byte [eax]
add byte [eax], al
fisubr dword [eax + 0x66]
mov edi, edi
add eax, 0xeec166a0
inc eax
lea eax, [esi + 0x24]
xchg esi, ebx
xchg ebx, esi
xchg bl, cl
xchg cl, bl
mov dx, dx
shr al, 0x40
mov bx, bx
push edx
mov esi, esi
xchg di, bx
xchg bx, di
jmp 0x41da72
push eax
js 0x43c407
jns 0x41da7f
mov ebp, 0x890f8693
sub cl, 1
add byte [edi], dh
jns 0x43c407
xor al, 0xe7
dec esi
mov ah, 1
add al, al
loope 0x427277
push dword [esi + esi*2]
jno 0x427250
mov eax, dword [ebp + 0x38]
mov edx, dword [esi + 4]
shr si, 0x40
mov ebx, dword [esi + 8]
mov ax, word [eax + edx]
mov eax, dword [eax + edx]
dec eax
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x38]
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
jno 0x4149b1
jo 0x4272dd
jns 0x4272b5
jo 0x4149b1
xor al, 0xa9
leave
outsb dx, byte [esi]
inc esp
add byte [0x6b004474], cl
jecxz 0x427333
add al, bh
jb 0x427336
add ch, dl
cli
lea eax, [edi - 0x2b]
inc edx
add byte [eax], ah
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax - 0x40], ah
inc ebx
add byte [eax], al
popal
add byte [eax + 0x28], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
and al, 0
add byte [eax], al
xchg bl, bh
inc edx
add byte [ebx + 0x438f], dl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax - 0x40], ah
inc ebx
add byte [eax], al
popal
add byte [eax + 0x28], al
add byte [ecx], ah
add byte [eax], al
dec edx
add byte [eax], al
add byte [eax], al
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
and al, 0
add byte [eax], al
invalid
call fcn.00435f1a
push ebp
mov ebp, ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
cmc
xor ebx, ebx
jb 0x428595
sub edi, esi
mov dl, byte [esi]
cmp dl, 0x61
jb 0x42e1f8
jae 0x42e1c8
cpuid
ret
cmp dl, 0x7a
ja 0x42e1f8
jbe 0x42e1d6
adc byte [ebx - 0x7e2e7617], 0xe1
inc dword [eax]
add byte [eax], al
mov ecx, edx
and ecx, 0xff
jb 0x4426b7
add cx, 0
sub ecx, 0x20
jmp 0x42e206
mov ecx, edx
and ecx, 0xff
jb 0x4426c1
mov al, byte [edi + esi]
sub bl, 0
cmp al, 0x61
jb 0x42e241
jae 0x42e218
mov al, byte [0x3cd23934]
jp 0x42e1a4
cmp edx, edx
cmp al, 0x7a
xchg ecx, edi
stc
xchg edi, ecx
ja 0x42e241
jbe 0x42e22a
test dword [0xff], 0x4495820f
add dword [eax], eax
and eax, 0xff
jb 0x4426ca
sub eax, 0x20
jmp 0x42e24c
and eax, 0xff
jb 0x4272a5
cmp ecx, eax
jne 0x440c5b
je 0x42e25c
xchg esp, eax
xor ebp, dword [edi]
outsd dx, dword [esi]
xchg esi, edi
inc ebx
mov edi, edi
inc esi
test dl, dl
jb 0x4272c8
jne 0x42e1b7
shr dl, 0x40
je 0x42e277
cpuid
test al, 0xc3
pop edi
pop esi
and ebp, ebp
jno 0x42e27f
in eax, dx
sbb eax, 0x29c9810f
add dword [eax], eax
jno 0x440c4e
fdiv st(5)
cmp al, 0x43
jne 0x4350a6
je 0x435094
mov eax, dword [0x22c30fb2]
cmp byte [esi], 0
je 0x4443b1
jne 0x4350a2
lodsd eax, dword [esi]
xchg esp, eax
pushfd
shr bp, 0x40
and eax, 0xff
jb 0x4149c5
shr bp, 0x40
mov edx, dword [ebp + 0xc]
mov ecx, eax
mov al, byte [ebx + edx]
cmp al, 0x61
jb 0x44f57c
jae 0x439bb5
fnstcw word [eax + ecx*4 - 0x1dd3818]
invalid
call fcn.0041be81
fimul dword [edx]
xchg al, bl
xchg bl, al
call int.00446ba6
xchg bl, dh
xchg dh, bl
shr di, 0x40
mov al, byte [ebp + 0xc]
add esp, 0xc
push 0x444e08
ret
xor eax, eax
jb 0x4272db
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
mov edi, edi
mov al, byte [ebx + eax]
cmp al, 0x61
jb 0x440c96
jae 0x440c6f
inc esp
in eax, dx
cmp al, 0x7a
ja 0x440c96
jbe 0x440c7c
cmp al, 0xe
movsd dword es:[edi], dword [esi]
and eax, 0xff
jb 0x4272e3
sub eax, 0x20
jmp 0x439ba0
js 0x439b91
jns 0x440ca0
je 0x440c63
jns 0x439b91
xor eax, 0x56006a9d
call fcn.00424179
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov cl, byte [ebp + 0x10]
add esp, 0xc
ja 0x411324
jbe 0x440cca
mov edi, 0x860f62d1
push esp
push es
std
invalid
jbe 0x411324
fcmove st(0), st(7)
lea eax, [eax]
push edx
push esi
jno 0x428597
jo 0x440ce5
add dword [ebx + 0x2c], 0xffffff95
enter 0xffffffffffff800f, 0xffffffffffffffac
jo 0x428597
js 0x440ce8
invalid
fadd dword [esi - 0x3f]
call 0x96cd7334
mov esp, 0x66000000
shr ecx, 0x40
push eax
xchg edi, ecx
shr di, 0x40
xchg ecx, edi
push esi
call fcn.0044ac53
fmul dword [esi - 0x72fbb975]
jbe 0x440d20
cmp byte [esi], 0
shr ax, 0x40
je 0x4417ad
jne 0x441799
add eax, 0xdb885f22
pop edi
mov bl, bl
pop esi
xor eax, eax
jb 0x41da4e
pop ebx
pop ebp
mov bp, bp
ret
test di, di
jb 0x42c691
mov ch, ch
jne 0x4417df
je 0x4417c5
inc eax
dec ebp
mov dword [0xd387fb10], eax
xchg ebx, edx
xchg edx, ebx
shl cl, 0x20
pop edi
pop esi
xor eax, eax
jb 0x42c699
pop ebx
pop ebp
shl bx, 0x20
ret
mov eax, dword [ebp + 0xc]
shr bx, 0x40
mov ebx, 2
mov word [eax], di
shr esi, 0x40
pop edi
mov word [eax + 2], bx
pop esi
mov eax, 1
pop ebx
mov dl, dl
pop ebp
jmp fcn.00417a78
mov bh, al
ja 0x42727a
xchg dword [ebx + 0x76fffe4b], edi
add ebx, dword [esp + eax*4 - 0x5a]
jbe 0x4426c4
pop esp
test byte [esi + 0x4bb0860f], ah
invalid
jbe 0x42727a
and eax, 0x43c17233
add byte [eax + eax], dh
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
jo 0x4426ba
inc ecx
add byte [eax], cl
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
pushal
rol byte [ebx], 0
popal
add byte [eax + 0x2c], al
add byte [ecx], ah
add byte [eax], al
mov edx, 0
adc al, byte [eax]
add byte [eax], al
inc edx
add byte [eax], al
and al, 0
add byte [eax], al
push cs
push ebx
inc ecx
add byte [ebx + 0x3e], ch
inc edx
add byte [ecx], cl
xchg esi, eax
add byte [eax], al
sub al, 0
add byte [eax], al
jmp 0x1446b9d
xor edx, edx
jb 0x44f5f1
test di, di
jb 0x41552a
jne 0x42c510
je 0x4443c8
mov eax, dword [0x83b36b13]
and dword [edi + 0x5e], ebx
and eax, 0xff
jb 0x450c51
ja 0x442dbb
jbe 0x44f595
retf 0x4eb0
jbe 0x442dbb
invalid
mov eax, dword [esi + 4]