Function at 0x47225f
Capabilities:
Hash data using sha256

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xdc
mov dword [ebp - 0x98], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0xe0], eax
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], 0xf3bcc908
mov dword [ebp - 0xd4], 0x6a09e667
mov dword [ebp - 0xd0], 0x84caa73b
mov dword [ebp - 0xcc], 0xbb67ae85
mov dword [ebp - 0xc8], 0xfe94f82b
mov dword [ebp - 0xc4], 0x3c6ef372
mov dword [ebp - 0xc0], 0x5f1d36f1
mov dword [ebp - 0xbc], 0xa54ff53a
mov dword [ebp - 0xb8], 0xade682d1
mov dword [ebp - 0xb4], 0x510e527f
mov dword [ebp - 0xb0], 0x2b3e6c1f
mov dword [ebp - 0xac], 0x9b05688c
mov dword [ebp - 0xa8], 0xfb41bd6b
mov dword [ebp - 0xa4], 0x1f83d9ab
mov dword [ebp - 0xa0], 0x137e2179
mov dword [ebp - 0x9c], 0x5be0cd19
mov edi, dword [ebp - 0x98]
test ebx, ebx
je 0x4723d6
test edi, edi
jne 0x472362
cmp ebx, 0x7f
jbe 0x472362
mov edx, esi
lea eax, [ebp - 0xe0]
call fcn.004711b0
add dword [ebp - 0xe0], 0x400
adc dword [ebp - 0xdc], 0
sub esi, 0xffffff80
add ebx, 0xffffff80
jmp 0x472325
mov eax, pe_nt_image_headers32
sub eax, edi
cmp eax, ebx
cmova eax, ebx
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x94]
mov ecx, dword [ebp - 0xe4]
add eax, edi
mov edi, eax
mov eax, dword [ebp - 0xe4]
rep movsb byte es:[edi], byte [esi]
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x98], eax
cmp eax, 0x80
jne 0x4723c9
lea edx, [ebp - 0x94]
lea eax, [ebp - 0xe0]
call fcn.004711b0
add dword [ebp - 0xe0], 0x400
adc dword [ebp - 0xdc], 0
xor edi, edi
mov dword [ebp - 0x98], edi
mov eax, dword [ebp - 0xe4]
sub ebx, eax
jmp 0x472325
xor edx, edx
mov eax, edi
mov byte [ebp + edi - 0x94], pe_nt_image_headers32
shld edx, edi, 3
shl eax, 3
add eax, dword [ebp - 0xe0]
adc edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov ebx, eax
lea eax, [edi + 1]
mov esi, edx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0x98], eax
cmp eax, 0x70
jbe 0x47245f
mov edx, eax
xor ecx, ecx
cmp edx, 0x7f
ja 0x472429
mov byte [ebp + edx - 0x94], 0
mov cl, 1
inc edx
jmp 0x472417
test cl, cl
je 0x472446
mov edx, 0x7f
xor ecx, ecx
sub edx, edi
cmp eax, 0x80
cmova edx, ecx
add edx, eax
mov dword [ebp - 0x98], edx
lea edx, [ebp - 0x94]
lea eax, [ebp - 0xe0]
call fcn.004711b0
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov eax, dword [ebp - 0x98]
xor ecx, ecx
mov edx, eax
cmp edx, 0x77
ja 0x47247b
mov byte [ebp + edx - 0x94], 0
mov cl, 1
inc edx
jmp 0x472469
test cl, cl
je 0x472496
mov edx, 0x78
xor ecx, ecx
sub edx, eax
cmp eax, 0x78
cmova edx, ecx
add eax, edx
mov dword [ebp - 0x98], eax
mov eax, esi
lea edx, [ebp - 0x94]
bswap ebx
mov dword [ebp - 0x18], ebx
shr eax, 0x18
mov byte [ebp - 0x1c], al
mov eax, esi
shr eax, 0x10
mov byte [ebp - 0x1b], al
mov eax, esi
xor esi, esi
mov byte [ebp - 0x1a], ah
mov byte [ebp - 0x19], al
lea eax, [ebp - 0xe0]
call fcn.004711b0
mov edx, dword [ebp + esi*8 - 0xd4]
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + esi*8 - 0xd8]
mov ecx, edx
mov ebx, edx
mov byte [edi + esi*8 + 2], dh
shr ecx, 0x18
mov byte [edi + esi*8 + 3], dl
mov byte [edi + esi*8], cl
mov ecx, edx
shr ecx, 0x10
mov byte [edi + esi*8 + 6], ah
mov byte [edi + esi*8 + 1], cl
mov ecx, eax
shrd ecx, ebx, 0x18
mov byte [edi + esi*8 + 7], al
mov byte [edi + esi*8 + 4], cl
mov ecx, eax
shrd ecx, edx, 0x10
mov byte [edi + esi*8 + 5], cl
inc esi
cmp esi, 8
jne 0x4724c6
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret