Function at 0x41ef40
Capabilities:
Hash data using sha256

Disassembly:
push ebp
push edi
xor edi, edi
push esi
mov eax, edi
push ebx
sub esp, 0xdc
mov al, byte [esp + 0xf4]
mov ebp, dword [esp + 0xfc]
mov edx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf8]
mov edi, eax
mov ecx, dword [esp + 0x100]
mov eax, edi
mov ebx, ebp
mov ah, bl
mov edi, eax
movzx eax, byte [esp + 0xf4]
lea ebx, [eax - 1]
cmp bl, 0x3f
ja 0x41f1dd
lea ebx, [ebp - 1]
cmp bl, 0x3f
ja 0x41f1dd
test esi, esi
je 0x41f1dd
mov word [esp + 0x10], di
mov ebx, 0x101
xor edi, edi
xor eax, eax
mov word [esp + 0x12], bx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov word [esp + 0x20], di
mov dword [esp + 0x22], 0
mov dword [esp + 0x26], 0
mov dword [esp + 0x2a], 0
mov word [esp + 0x2e], ax
test ecx, ecx
je 0x41f1b8
mov ebx, dword [ecx]
mov dword [esp + 0x30], ebx
mov ebx, dword [ecx + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x104]
test eax, eax
je 0x41f190
mov eax, dword [esp + 0x104]
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
lea ebx, [edx + 0x40]
xor eax, eax
mov ecx, 0x49
mov dword [edx + 8], 0x84caa73b
mov edi, ebx
mov dword [edx + 0xc], 0xbb67ae85
mov dword [edx + 0x10], 0xfe94f82b
mov ebx, dword [esp + 0x14]
mov dword [edx + 0x14], 0x3c6ef372
mov dword [edx + 0x18], 0x5f1d36f1
mov dword [edx + 0x1c], 0xa54ff53a
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
xor ebx, 0x6a09e667
xor ecx, 0xf3bcc908
mov byte [edi], 0
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x34]
mov dword [edx], ecx
mov ecx, dword [esp + 0x30]
xor ebx, 0x510e527f
xor ecx, 0xade682d1
mov dword [edx + 0x24], ebx
mov ebx, dword [esp + 0x3c]
mov dword [edx + 0x20], ecx
mov ecx, dword [esp + 0x38]
xor ebx, 0x9b05688c
xor ecx, 0x2b3e6c1f
mov dword [edx + 0x2c], ebx
mov ebx, dword [esp + 0x44]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x40]
xor ebx, 0x1f83d9ab
xor ecx, 0xfb41bd6b
mov dword [edx + 0x34], ebx
mov ebx, dword [esp + 0x4c]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x48]
xor ebx, 0x5be0cd19
xor ecx, 0x137e2179
mov dword [edx + 0x3c], ebx
lea ebx, [esp + 0x50]
mov dword [edx + 0x38], ecx
mov ecx, 0x20
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, ebp
mov ecx, ebp
mov edi, ebx
movzx eax, al
cmp cl, 3
jbe 0x41f122
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
test al, 2
jne 0x41f178
test al, 1
jne 0x41f168
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 0xc], 0
call fcn.0041ec50
mov dword [esp], ebx
mov dword [esp + 4], pe_nt_image_headers32
call fcn.00408e00
add esp, 0xdc
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [esi + ecx]
mov byte [edi + ecx], al
jmp 0x41f12c
movzx ecx, word [esi]
mov word [edi], cx
mov ecx, 2
test al, 1
je 0x41f12c
jmp 0x41f168
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
jmp 0x41f044
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jmp 0x41f013
call fcn.00408b90
lea esi, [esi]
lea esi, [esi]