Function at 0x41fae0
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov eax, dword [0x4a2400]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x19c], eax
mov esi, edx
mov eax, dword [ebp + 0x10]
mov edi, ecx
push 0x40
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0xe8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x48]
push 0x40
push 0x36
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x88]
push 0x40
push 0x5c
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
cmp esi, 0x40
jbe 0x41fbf0
xorps xmm0, xmm0
mov dword [ebp - 0x150], 0
mov edx, edi
movlpd qword [ebp - 0x178], xmm0
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x170], 0x6a09e667
mov dword [ebp - 0x16c], 0xbb67ae85
mov dword [ebp - 0x168], 0x3c6ef372
mov dword [ebp - 0x164], 0xa54ff53a
mov dword [ebp - 0x160], 0x510e527f
mov dword [ebp - 0x15c], 0x9b05688c
mov dword [ebp - 0x158], 0x1f83d9ab
mov dword [ebp - 0x154], 0x5be0cd19
call fcn.0041ffe0
add esp, 4
lea edx, [ebp - 0x198]
lea ecx, [ebp - 0x178]
call fcn.00420090
movups xmm0, xmmword [ebp - 0x198]
movups xmmword [ebp - 0xe8], xmm0
movups xmm0, xmmword [ebp - 0x188]
movups xmmword [ebp - 0xd8], xmm0
jmp 0x41fc00
lea eax, [ebp - 0xe8]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor eax, eax
nop dword [eax]
nop word [eax + eax]
movups xmm1, xmmword [ebp + eax - 0xe8]
movups xmm0, xmmword [ebp + eax - 0x48]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x48], xmm0
movups xmm0, xmmword [ebp + eax - 0x88]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x88], xmm0
add eax, 0x10
cmp eax, 0x40
jl 0x41fc10
mov esi, dword [ebp + 0xc]
lea ebx, [esi + 0x40]
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movups xmm0, xmmword [ebp - 0x48]
mov edi, eax
add esp, 4
movups xmmword [edi], xmm0
push esi
movups xmm0, xmmword [ebp - 0x38]
lea eax, [edi + 0x40]
push dword [ebp - 0x19c]
movups xmmword [edi + 0x10], xmm0
push eax
movups xmm0, xmmword [ebp - 0x28]
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x18]
movups xmmword [edi + 0x30], xmm0
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0xa8]
mov edx, ebx
mov ecx, edi
push 0x20
push eax
call fcn.0041fd40
push edi
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call edi
add esp, 0xc
push 0x60
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movups xmm0, xmmword [ebp - 0x88]
mov esi, eax
add esp, 4
lea eax, [ebp - 0x108]
mov edx, 0x60
mov ecx, esi
movups xmmword [esi], xmm0
push 0x20
movups xmm0, xmmword [ebp - 0x78]
push eax
movups xmmword [esi + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x68]
movups xmmword [esi + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x58]
movups xmmword [esi + 0x30], xmm0
movups xmm0, xmmword [ebp - 0xa8]
movups xmmword [esi + 0x40], xmm0
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [esi + 0x50], xmm0
call fcn.0041fd40
push esi
call edi
mov esi, dword [ebp + 0x14]
add esp, 0xc
mov eax, 0x20
cmp esi, eax
cmova esi, eax
lea eax, [ebp - 0x108]
push esi
push eax
push dword [ebp - 0x1a0]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, esi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00484fd2
mov esp, ebp
pop ebp
ret