Function at 0x10006f20
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
sub esp, 0x140
mov eax, dword [0x1002e004]
xor eax, esp
mov dword [esp + 0x13c], eax
mov edx, dword [esp + 0x144]
mov eax, ecx
push ebx
push ebp
push esi
mov ecx, dword [eax + 0x4c]
xor esi, esi
mov ebx, dword [eax + 0x50]
mov ebp, ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x60]
push edi
mov edi, dword [eax + 0x5c]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x64]
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x68]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], eax
mov ecx, dword [edx + esi*4]
call fcn.10006e70
mov dword [esp + esi*4 + 0x4c], eax
inc esi
cmp esi, 0x10
jl 0x10006f85
push dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ecx, edi
call fcn.10006e80
mov edi, dword [esp + 0x44]
mov edx, ebx
add eax, dword [esp + 0x50]
add edi, 0x428a2f98
mov ecx, dword [esp + 0x24]
add edi, eax
add dword [esp + 0x20], edi
push ecx
mov ecx, ebp
call fcn.10006ed0
push dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
lea ebx, [edi + eax]
call fcn.10006e80
mov edi, dword [esp + 0x1c]
mov ecx, ebx
add eax, dword [esp + 0x5c]
add edi, 0x71374491
mov edx, dword [esp + 0x40]
add edi, eax
add dword [esp + 0x2c], edi
push edx
mov edx, ebp
call fcn.10006ed0
push dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
lea ebp, [edi + eax]
call fcn.10006e80
mov edx, dword [esp + 0x4c]
mov ecx, ebp
mov edi, dword [esp + 0x68]
add edx, 0xb5c0fbcf
add edi, edx
mov edx, dword [esp + 0x28]
add edi, eax
add dword [esp + 0x48], edi
push edx
mov edx, ebx
call fcn.10006ed0
push dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
add eax, edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x48], eax
call fcn.10006e80
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x74]
add edx, 0xe9b5dba5
mov ecx, dword [esp + 0x48]
add edi, edx
add edi, eax
mov edx, ebp
add dword [esp + 0x30], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x40]
mov edx, dword [esp + 0x58]
add eax, edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
call fcn.10006e80
mov edi, dword [esp + 0x40]
add eax, dword [esp + 0x80]
add edi, 0x3956c25b
mov edx, dword [esp + 0x50]
add edi, eax
mov ecx, dword [esp + 0x4c]
add ebx, edi
push ebp
call fcn.10006ed0
push dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
add eax, edi
mov dword [esp + 0x44], eax
mov ecx, ebx
call fcn.10006e80
mov edi, dword [esp + 0x4c]
add eax, dword [esp + 0x8c]
add edi, 0x59f111f1
push dword [esp + 0x58]
mov edx, dword [esp + 0x58]
add edi, eax
mov ecx, dword [esp + 0x48]
add ebp, edi
mov dword [esp + 0x4c], ebp
call fcn.10006ed0
push dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
mov edx, ebx
lea ebp, [edi + eax]
call fcn.10006e80
mov edx, dword [esp + 0x68]
mov ecx, ebp
mov edi, dword [esp + 0x98]
add edx, 0x923f82a4
push dword [esp + 0x5c]
add edi, edx
mov edx, dword [esp + 0x50]
add edi, eax
add dword [esp + 0x64], edi
call fcn.10006ed0
mov edx, dword [esp + 0x54]
add eax, edi
mov ecx, dword [esp + 0x64]
push ebx
mov dword [esp + 0x74], eax
call fcn.10006e80
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0xa4]
add edx, 0xab1c5ed5
push dword [esp + 0x54]
mov ecx, dword [esp + 0x78]
add edi, edx
add edi, eax
mov edx, ebp
add dword [esp + 0x68], edi
call fcn.10006ed0
mov edx, dword [esp + 0x6c]
add esp, 0x40
mov ecx, dword [esp + 0x28]
add eax, edi
mov dword [esp + 0x34], eax
push dword [esp + 0x1c]
call fcn.10006e80
mov edi, dword [esp + 0x70]
add eax, 0xd807aa98
mov ecx, dword [esp + 0x38]
add edi, ebx
mov ebx, dword [esp + 0x3c]
add edi, eax
add dword [esp + 0x1c], edi
mov edx, ebx
push ebp
call fcn.10006ed0
push dword [esp + 0x34]
mov edx, dword [esp + 0x34]
add eax, edi
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
call fcn.10006e80
mov edi, dword [esp + 0x28]
add eax, dword [esp + 0x7c]
add edi, 0x12835b01
mov edx, dword [esp + 0x40]
add edi, eax
mov ecx, dword [esp + 0x30]
add ebp, edi
push ebx
call fcn.10006ed0
push dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
add eax, edi
mov ecx, ebp
mov dword [esp + 0x24], eax
call fcn.10006e80
add eax, dword [esp + 0x88]
mov edi, dword [esp + 0x40]
push dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
add edi, 0x243185be
mov ecx, dword [esp + 0x28]
add edi, eax
add ebx, edi
call fcn.10006ed0
push dword [esp + 0x30]
add eax, edi
mov edx, ebp
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.10006e80
mov edi, dword [esp + 0x44]
add eax, dword [esp + 0x94]
add edi, 0x550c7dc3
push dword [esp + 0x40]
mov edx, dword [esp + 0x30]
add edi, eax
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x54], edi
call fcn.10006ed0
mov ecx, dword [esp + 0x54]
add eax, edi
push ebp
mov edx, ebx
mov dword [esp + 0x4c], eax
call fcn.10006e80
mov edi, dword [esp + 0x3c]
add eax, dword [esp + 0xa0]
add edi, 0x72be5d74
push dword [esp + 0x34]
mov edx, dword [esp + 0x54]
add edi, eax
mov ecx, dword [esp + 0x50]
add dword [esp + 0x4c], edi
call fcn.10006ed0
mov edx, dword [esp + 0x5c]
add eax, edi
mov ecx, dword [esp + 0x4c]
push ebx
mov dword [esp + 0x48], eax
call fcn.10006e80
mov edi, dword [esp + 0xac]
add eax, 0x80deb1fe
push dword [esp + 0x58]
mov edx, dword [esp + 0x58]
add edi, ebp
mov ecx, dword [esp + 0x4c]
add edi, eax
add dword [esp + 0x40], edi
call fcn.10006ed0
mov ebp, dword [esp + 0x64]
add eax, edi
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
push ebp
mov dword [esp + 0x4c], eax
call fcn.10006e80
mov edi, dword [esp + 0xb8]
add eax, 0x9bdc06a7
push dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
add edi, ebx
mov ecx, dword [esp + 0x50]
add edi, eax
add dword [esp + 0x64], edi
call fcn.10006ed0
push dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x68]
lea ebx, [edi + eax]
mov dword [esp + 0x5c], ebx
call fcn.10006e80
mov edi, dword [esp + 0xc4]
push dword [esp + 0x58]
add edi, 0xc19bf174
add edi, ebp
add edi, eax
add dword [esp + 0x68], edi
mov edx, dword [esp + 0x58]
mov ecx, ebx
call fcn.10006ed0
add eax, edi
add esp, 0x40
mov dword [esp + 0x14], eax
cmp esi, 0x18
jge 0x100073c7
lea eax, [esp + esi*4 + 0x44]
mov dword [esp + 0x34], 0x18
mov dword [esp + 0x30], eax
mov eax, 0x18
sub eax, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ebp, dword [esi]
mov ecx, edi
call fcn.10006e60
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10006e60
xor ebx, eax
shr edi, 3
mov edx, 0x13
mov ecx, ebp
xor ebx, edi
call fcn.10006e60
mov edx, 0x11
mov ecx, ebp
mov edi, eax
call fcn.10006e60
xor edi, eax
shr ebp, 0xa
xor edi, ebp
lea esi, [esi + 4]
add ebx, edi
add ebx, dword [esi - 0x3c]
add ebx, dword [esi - 0x18]
sub dword [esp + 0x38], 1
mov dword [esi + 4], ebx
jne 0x10007363
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
push dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
call fcn.10006e80
mov ebp, dword [esp + 0x20]
mov edi, eax
add edi, dword [esp + 0x90]
add ebp, 0xe49b69c1
add edi, dword [esp + 0x28]
mov edx, ebx
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
add ebp, edi
call fcn.10006ed0
push dword [esp + 0x34]
mov edx, dword [esp + 0x34]
lea ebx, [edi - 0x1b64963f]
mov ecx, ebp
add ebx, eax
call fcn.10006e80
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x9c]
add edx, 0xefbe4786
mov ecx, dword [esp + 0x2c]
add edi, edx
mov edx, dword [esp + 0x20]
add edi, eax
add dword [esp + 0x24], edi
push ecx
mov ecx, ebx
call fcn.10006ed0
push dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
add eax, edi
mov edx, ebp
mov dword [esp + 0x30], eax
call fcn.10006e80
mov edi, dword [esp + 0x40]
mov edx, ebx
add eax, dword [esp + 0xa8]
add edi, 0xfc19dc6
push dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
add edi, eax
add dword [esp + 0x38], edi
call fcn.10006ed0
mov edx, dword [esp + 0x30]
add eax, edi
mov ecx, dword [esp + 0x38]
push ebp
mov dword [esp + 0x4c], eax
call fcn.10006e80
mov edi, dword [esp + 0x44]
add eax, dword [esp + 0xb4]
add edi, 0x240ca1cc
mov edx, dword [esp + 0x38]
add edi, eax
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x30], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x38]
mov edx, dword [esp + 0x44]
add eax, edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x34], eax
call fcn.10006e80
add eax, dword [esp + 0xc0]
lea edi, [ebp + 0x2de92c6f]
mov ebp, dword [esp + 0x54]
add edi, eax
mov ecx, dword [esp + 0x34]
mov edx, ebp
lea eax, [ebx + edi]
mov ebx, dword [esp + 0x40]
push ebx
mov dword [esp + 0x50], eax
call fcn.10006ed0
push dword [esp + 0x48]
add eax, edi
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
call fcn.10006e80
mov edi, dword [esp + 0x44]
add eax, dword [esp + 0xcc]
add edi, 0x4a7484aa
mov edx, dword [esp + 0x3c]
add edi, eax
mov ecx, dword [esp + 0x58]
add ebx, edi
push ebp
mov dword [esp + 0x4c], ebx
call fcn.10006ed0
push dword [esp + 0x44]
mov edx, dword [esp + 0x5c]
add eax, edi
mov ecx, ebx
mov dword [esp + 0x58], eax
call fcn.10006e80
mov edi, dword [esp + 0x54]
add eax, dword [esp + 0xd8]
add edi, 0x5cb0a9dc
push dword [esp + 0x44]
mov edx, dword [esp + 0x64]
add edi, eax
mov ecx, dword [esp + 0x5c]
add ebp, edi
mov dword [esp + 0x68], ebp
call fcn.10006ed0
push dword [esp + 0x60]
add eax, edi
mov edx, ebx
mov ecx, ebp
mov dword [esp + 0x54], eax
call fcn.10006e80
mov edi, dword [esp + 0x50]
add eax, dword [esp + 0xe4]
add edi, 0x76f988da
push dword [esp + 0x68]
mov edx, dword [esp + 0x64]
add edi, eax
mov ecx, dword [esp + 0x58]
add dword [esp + 0x50], edi
call fcn.10006ed0
add eax, edi
add esp, 0x40
mov dword [esp + 0x14], eax
cmp esi, 0x20
jge 0x10007648
lea ecx, [esp + esi*4 + 0x44]
mov dword [esp + 0x34], 0x20
mov dword [esp + 0x20], ecx
mov ecx, 0x20
sub ecx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
nop
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ebp, dword [esi]
mov ecx, edi
call fcn.10006e60
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10006e60
xor ebx, eax
shr edi, 3
mov edx, 0x13
mov ecx, ebp
xor ebx, edi
call fcn.10006e60
mov edx, 0x11
mov ecx, ebp
mov edi, eax
call fcn.10006e60
xor edi, eax
shr ebp, 0xa
xor edi, ebp
lea esi, [esi + 4]
add ebx, edi
add ebx, dword [esi - 0x3c]
add ebx, dword [esi - 0x18]
sub dword [esp + 0x38], 1
mov dword [esi + 4], ebx
jne 0x100075e0
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov edx, ebp
push ebx
call fcn.10006e80
mov ebp, dword [esp + 0x30]
mov edi, eax
add edi, dword [esp + 0xb0]
add ebp, 0x983e5152
add edi, dword [esp + 0x2c]
push dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add ebp, edi
mov ecx, dword [esp + 0x1c]
call fcn.10006ed0
push dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
lea ebx, [edi - 0x67c1aeae]
mov ecx, ebp
add ebx, eax
call fcn.10006e80
mov edx, dword [esp + 0x28]
mov ecx, ebx
mov edi, dword [esp + 0xbc]
add edx, 0xa831c66d
push dword [esp + 0x24]
add edi, edx
mov edx, dword [esp + 0x24]
add edi, eax
add dword [esp + 0x34], edi
call fcn.10006ed0
push dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
add eax, edi
mov edx, ebp
mov dword [esp + 0x3c], eax
call fcn.10006e80
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0xc8]
add edx, 0xb00327c8
push dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
add edi, edx
add edi, eax
mov edx, ebx
add dword [esp + 0x30], edi
call fcn.10006ed0
mov edx, dword [esp + 0x3c]
add eax, edi
mov ecx, dword [esp + 0x30]
push ebp
mov dword [esp + 0x3c], eax
call fcn.10006e80
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0xd4]
add edx, 0xbf597fc7
mov ecx, dword [esp + 0x3c]
add edi, edx
mov edx, dword [esp + 0x44]
add edi, eax
add dword [esp + 0x30], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
add eax, edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x54], eax
call fcn.10006e80
push dword [esp + 0x4c]
mov edi, eax
add edi, dword [esp + 0xe4]
add edi, ebp
mov ebp, dword [esp + 0x48]
mov edx, ebp
lea eax, [edi - 0x391ff40d]
add eax, ebx
mov ebx, dword [esp + 0x58]
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10006ed0
add edi, 0xc6e00bf3
push dword [esp + 0x40]
mov edx, dword [esp + 0x40]
add eax, edi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
call fcn.10006e80
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0xec]
add edx, 0xd5a79147
mov ecx, dword [esp + 0x3c]
add edi, edx
add edi, eax
mov edx, ebx
add dword [esp + 0x54], edi
push ebp
call fcn.10006ed0
push dword [esp + 0x44]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x5c]
lea ebp, [edi + eax]
mov dword [esp + 0x50], ebp
call fcn.10006e80
mov edi, dword [esp + 0x4c]
mov ecx, ebp
add eax, dword [esp + 0xf8]
add edi, 0x6ca6351
mov edx, dword [esp + 0x44]
add edi, eax
add dword [esp + 0x54], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x70]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
lea ebx, [edi + eax]
mov dword [esp + 0x54], ebx
call fcn.10006e80
mov edi, dword [esp + 0x50]
mov edx, ebp
add eax, dword [esp + 0x104]
add edi, 0x14292967
push dword [esp + 0x4c]
add edi, eax
mov ecx, ebx
add dword [esp + 0x70], edi
call fcn.10006ed0
add esp, 0x40
lea ebp, [edi + eax]
mov dword [esp + 0x2c], ebp
cmp esi, 0x28
jge 0x100078cb
lea ecx, [esp + esi*4 + 0x44]
mov dword [esp + 0x34], 0x28
mov dword [esp + 0x24], ecx
mov ecx, 0x28
sub ecx, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ebp, dword [esi]
mov ecx, edi
call fcn.10006e60
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10006e60
xor ebx, eax
shr edi, 3
mov edx, 0x13
mov ecx, ebp
xor ebx, edi
call fcn.10006e60
mov edx, 0x11
mov ecx, ebp
mov edi, eax
call fcn.10006e60
xor edi, eax
shr ebp, 0xa
xor edi, ebp
lea esi, [esi + 4]
add ebx, edi
add ebx, dword [esi - 0x3c]
add ebx, dword [esi - 0x18]
sub dword [esp + 0x14], 1
mov dword [esi + 4], ebx
jne 0x10007863
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
push dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
call fcn.10006e80
mov edi, dword [esp + 0x3c]
mov edx, ebx
add eax, dword [esp + 0xd0]
add edi, 0x27b70a85
mov ecx, dword [esp + 0x20]
add edi, eax
add dword [esp + 0x14], edi
push ecx
mov ecx, ebp
call fcn.10006ed0
push dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
lea ebx, [edi + eax]
call fcn.10006e80
mov edi, dword [esp + 0x34]
mov ecx, ebx
add eax, dword [esp + 0xdc]
add edi, 0x2e1b2138
mov edx, dword [esp + 0x24]
add edi, eax
add dword [esp + 0x28], edi
push edx
mov edx, ebp
call fcn.10006ed0
push dword [esp + 0x40]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
lea ebp, [edi + eax]
call fcn.10006e80
mov edi, dword [esp + 0x34]
mov ecx, ebp
add eax, dword [esp + 0xe8]
add edi, 0x4d2c6dfc
mov edx, dword [esp + 0x40]
add edi, eax
add dword [esp + 0x2c], edi
push edx
mov edx, ebx
call fcn.10006ed0
push dword [esp + 0x28]
mov edx, dword [esp + 0x38]
add eax, edi
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x30], eax
call fcn.10006e80
mov edi, dword [esp + 0x4c]
mov edx, ebp
add eax, dword [esp + 0xf4]
add edi, 0x53380d13
mov ecx, dword [esp + 0x30]
add edi, eax
add dword [esp + 0x48], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
add eax, edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x48], eax
call fcn.10006e80
mov edi, dword [esp + 0x34]
add eax, dword [esp + 0x100]
add edi, 0x650a7354
mov edx, dword [esp + 0x38]
add edi, eax
mov ecx, dword [esp + 0x48]
add ebx, edi
push ebp
mov dword [esp + 0x64], ebx
call fcn.10006ed0
push dword [esp + 0x40]
mov edx, dword [esp + 0x58]
add eax, edi
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.10006e80
mov edi, dword [esp + 0x48]
add eax, dword [esp + 0x10c]
add edi, 0x766a0abb
push dword [esp + 0x40]
mov edx, dword [esp + 0x54]
add edi, eax
mov ecx, dword [esp + 0x68]
add ebp, edi
mov dword [esp + 0x60], ebp
call fcn.10006ed0
push dword [esp + 0x5c]
add eax, edi
mov edx, ebx
mov ecx, ebp
mov dword [esp + 0x44], eax
call fcn.10006e80
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x118]
add edx, 0x81c2c92e
push dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
add edi, edx
mov edx, dword [esp + 0x70]
add edi, eax
add dword [esp + 0x4c], edi
call fcn.10006ed0
mov ecx, dword [esp + 0x4c]
add eax, edi
push ebx
mov edx, ebp
mov dword [esp + 0x54], eax
call fcn.10006e80
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x124]
add edx, 0x92722c85
push dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
add edi, edx
mov edx, dword [esp + 0x50]
add edi, eax
add dword [esp + 0x64], edi
call fcn.10006ed0
add eax, edi
add esp, 0x40
mov dword [esp + 0x28], eax
cmp esi, 0x30
jge 0x10007b3c
lea ecx, [esp + esi*4 + 0x44]
mov dword [esp + 0x34], 0x30
mov dword [esp + 0x20], ecx
mov ecx, 0x30
sub ecx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ebp, dword [esi]
mov ecx, edi
call fcn.10006e60
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10006e60
xor ebx, eax
shr edi, 3
mov edx, 0x13
mov ecx, ebp
xor ebx, edi
call fcn.10006e60
mov edx, 0x11
mov ecx, ebp
mov edi, eax
call fcn.10006e60
xor edi, eax
shr ebp, 0xa
xor edi, ebp
lea esi, [esi + 4]
add ebx, edi
add ebx, dword [esi - 0x3c]
add ebx, dword [esi - 0x18]
sub dword [esp + 0x1c], 1
mov dword [esi + 4], ebx
jne 0x10007ad4
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push ebp
call fcn.10006e80
mov ebp, dword [esp + 0x3c]
mov edi, eax
add edi, dword [esp + 0xf0]
add ebp, 0xa2bfe8a1
push dword [esp + 0x14]
mov edx, dword [esp + 0x20]
add edi, ebx
mov ecx, dword [esp + 0x30]
add ebp, edi
call fcn.10006ed0
push dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
lea ebx, [edi - 0x5d40175f]
mov ecx, ebp
add ebx, eax
call fcn.10006e80
mov edx, dword [esp + 0x3c]
mov ecx, ebx
mov edi, dword [esp + 0xfc]
add edx, 0xa81a664b
push dword [esp + 0x24]
add edi, edx
mov edx, dword [esp + 0x38]
add edi, eax
add dword [esp + 0x20], edi
call fcn.10006ed0
push dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
add eax, edi
mov edx, ebp
mov dword [esp + 0x40], eax
call fcn.10006e80
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x108]
add edx, 0xc24b8b70
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
add edi, edx
add edi, eax
mov edx, ebx
add dword [esp + 0x30], edi
call fcn.10006ed0
mov edx, dword [esp + 0x28]
add eax, edi
mov ecx, dword [esp + 0x30]
push ebp
mov dword [esp + 0x3c], eax
call fcn.10006e80
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x114]
add edx, 0xc76c51a3
mov ecx, dword [esp + 0x3c]
add edi, edx
mov edx, dword [esp + 0x48]
add edi, eax
add dword [esp + 0x44], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
add eax, edi
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
call fcn.10006e80
push dword [esp + 0x50]
mov edi, eax
add edi, dword [esp + 0x124]
add edi, ebp
mov ebp, dword [esp + 0x48]
mov edx, ebp
lea eax, [edi - 0x2e6d17e7]
add eax, ebx
mov ebx, dword [esp + 0x44]
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.10006ed0
add edi, 0xd192e819
push dword [esp + 0x40]
mov edx, dword [esp + 0x54]
add eax, edi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x40], eax
call fcn.10006e80
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x12c]
add edx, 0xd6990624
mov ecx, dword [esp + 0x40]
add edi, edx
add edi, eax
mov edx, ebx
add dword [esp + 0x58], edi
push ebp
call fcn.10006ed0
push dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
lea ebp, [edi + eax]
mov dword [esp + 0x64], ebp
call fcn.10006e80
mov edx, dword [esp + 0x4c]
mov ecx, ebp
mov edi, dword [esp + 0x138]
add edx, 0xf40e3585
add edi, edx
mov edx, dword [esp + 0x48]
add edi, eax
add dword [esp + 0x54], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
lea ebx, [edi + eax]
mov dword [esp + 0x4c], ebx
call fcn.10006e80
mov edi, dword [esp + 0x64]
mov edx, ebp
add eax, dword [esp + 0x144]
add edi, 0x106aa070
push dword [esp + 0x50]
add edi, eax
mov ecx, ebx
add dword [esp + 0x5c], edi
call fcn.10006ed0
add esp, 0x40
lea ebp, [edi + eax]
mov dword [esp + 0x24], ebp
cmp esi, 0x38
jge 0x10007dc8
lea ecx, [esp + esi*4 + 0x44]
mov dword [esp + 0x34], 0x38
mov dword [esp + 0x3c], ecx
mov ecx, 0x38
sub ecx, esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
nop dword [eax]
mov edi, dword [esi]
mov edx, 0x13
mov ebp, dword [esi - 0x34]
mov ecx, edi
call fcn.10006e60
mov edx, 0x11
mov ecx, edi
mov ebx, eax
call fcn.10006e60
xor ebx, eax
shr edi, 0xa
mov edx, 0x12
mov ecx, ebp
xor ebx, edi
call fcn.10006e60
mov edx, 7
mov ecx, ebp
mov edi, eax
call fcn.10006e60
xor edi, eax
shr ebp, 3
xor edi, ebp
lea esi, [esi + 4]
add ebx, edi
add ebx, dword [esi - 0x3c]
add ebx, dword [esi - 0x18]
sub dword [esp + 0x18], 1
mov dword [esi + 4], ebx
jne 0x10007d60
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
push dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
call fcn.10006e80
mov edi, dword [esp + 0x3c]
mov edx, ebx
add eax, dword [esp + 0x110]
add edi, 0x19a4c116
mov ecx, dword [esp + 0x34]
add edi, eax
add dword [esp + 0x18], edi
push ecx
mov ecx, ebp
call fcn.10006ed0
push dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
lea ebx, [edi + eax]
call fcn.10006e80
mov edi, dword [esp + 0x38]
mov edx, ebp
add eax, dword [esp + 0x11c]
add edi, 0x1e376c08
mov ecx, dword [esp + 0x1c]
add edi, eax
add dword [esp + 0x3c], edi
push ecx
mov ecx, ebx
call fcn.10006ed0
push dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
lea ebp, [edi + eax]
call fcn.10006e80
mov edi, dword [esp + 0x34]
mov edx, ebx
add eax, dword [esp + 0x128]
add edi, 0x2748774c
mov ecx, dword [esp + 0x38]
add edi, eax
add dword [esp + 0x24], edi
push ecx
mov ecx, ebp
call fcn.10006ed0
push dword [esp + 0x2c]
mov edx, dword [esp + 0x4c]
add eax, edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
call fcn.10006e80
mov edi, dword [esp + 0x38]
mov edx, ebp
add eax, dword [esp + 0x134]
add edi, 0x34b0bcb5
mov ecx, dword [esp + 0x34]
add edi, eax
add dword [esp + 0x40], edi
push ebx
call fcn.10006ed0
push dword [esp + 0x50]
mov edx, dword [esp + 0x34]
add eax, edi
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x58], eax
call fcn.10006e80
mov edi, dword [esp + 0x38]
add eax, dword [esp + 0x140]
add edi, 0x391c0cb3
mov edx, dword [esp + 0x3c]
add edi, eax
mov ecx, dword [esp + 0x58]
add ebx, edi
push ebp
mov dword [esp + 0x64], ebx
call fcn.10006ed0
push dword [esp + 0x38]
mov edx, dword [esp + 0x50]
add eax, edi
mov ecx, ebx
mov dword [esp + 0x4c], eax
call fcn.10006e80
mov edi, dword [esp + 0x5c]
add eax, dword [esp + 0x14c]
add edi, 0x4ed8aa4a
push dword [esp + 0x44]
mov edx, dword [esp + 0x64]
add edi, eax
mov ecx, dword [esp + 0x50]
add ebp, edi
mov dword [esp + 0x60], ebp
call fcn.10006ed0
push dword [esp + 0x54]
add eax, edi
mov edx, ebx
mov ecx, ebp
mov dword [esp + 0x48], eax
call fcn.10006e80
mov edi, dword [esp + 0x44]
add eax, dword [esp + 0x158]
add edi, 0x5b9cca4f
push dword [esp + 0x68]
mov edx, dword [esp + 0x58]
add edi, eax
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x50], edi
call fcn.10006ed0
mov ecx, dword [esp + 0x50]
add eax, edi
push ebx
mov edx, ebp
mov dword [esp + 0x4c], eax
call fcn.10006e80
mov edi, dword [esp + 0x60]
add eax, dword [esp + 0x164]
add edi, 0x682e6ff3
push dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
add edi, eax
mov ecx, dword [esp + 0x50]
add dword [esp + 0x74], edi
call fcn.10006ed0
add eax, edi
add esp, 0x40
mov dword [esp + 0x38], eax
cmp esi, 0x40
jge 0x10008025
mov eax, 0x40
lea ebp, [esp + esi*4 + 0x44]
sub eax, esi
mov dword [esp + 0x1c], eax
nop dword [eax]
mov esi, dword [ebp]
mov edx, 0x13
mov ebx, dword [ebp - 0x34]
mov ecx, esi
call fcn.10006e60
mov edx, 0x11
mov ecx, esi
mov edi, eax
call fcn.10006e60
xor edi, eax
shr esi, 0xa
mov edx, 0x12
mov ecx, ebx
xor edi, esi
call fcn.10006e60
mov edx, 7
mov ecx, ebx
mov esi, eax
call fcn.10006e60
xor esi, eax
shr ebx, 3
xor esi, ebx
lea ebp, [ebp + 4]
add edi, esi
add edi, dword [ebp - 0x3c]
add edi, dword [ebp - 0x18]
sub dword [esp + 0x1c], 1
mov dword [ebp + 4], edi
jne 0x10007fc0
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov edx, edi
mov ecx, dword [esp + 0x34]
push ebp
call fcn.10006e80
add eax, dword [esp + 0x130]
lea esi, [ebx + 0x748f82ee]
mov ebx, dword [esp + 0x24]
add esi, eax
push dword [esp + 0x18]
mov edx, dword [esp + 0x18]
add ebx, esi
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ebx
call fcn.10006ed0
mov edx, dword [esp + 0x3c]
mov ecx, ebx
push edi
lea ebp, [esi + eax]
mov dword [esp + 0x28], ebp
call fcn.10006e80
mov esi, dword [esp + 0x3c]
mov ecx, ebp
add eax, dword [esp + 0x13c]
add esi, 0x78a5636f
push dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
add esi, eax
add dword [esp + 0x24], esi
call fcn.10006ed0
push dword [esp + 0x44]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
lea ebx, [esi + eax]
mov dword [esp + 0x44], ebx
call fcn.10006e80
mov esi, dword [esp + 0x148]
add edi, 0x84c87814
push dword [esp + 0x4c]
add esi, edi
mov edx, ebp
mov edi, dword [esp + 0x28]
add esi, eax
add edi, esi
mov ecx, ebx
mov dword [esp + 0x28], edi
call fcn.10006ed0
push dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov ecx, edi
lea ebp, [esi + eax]
mov dword [esp + 0x40], ebp
call fcn.10006e80
mov edi, dword [esp + 0x54]
mov esi, eax
add esi, dword [esp + 0x154]
add edi, 0x8cc70208
add esi, dword [esp + 0x50]
mov edx, ebx
push dword [esp + 0x38]
add edi, esi
mov ecx, ebp
mov dword [esp + 0x5c], edi
call fcn.10006ed0
push dword [esp + 0x34]
mov edx, dword [esp + 0x34]
lea ebx, [esi - 0x7338fdf8]
add ebx, eax
mov ecx, edi
mov dword [esp + 0x5c], ebx
call fcn.10006e80
mov edx, dword [esp + 0x44]
mov ecx, ebx
mov esi, dword [esp + 0x160]
add edx, 0x90befffa
push dword [esp + 0x54]
add esi, edx
mov edx, ebp
add esi, eax
add dword [esp + 0x44], esi
call fcn.10006ed0
push dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
lea ebp, [esi + eax]
mov edx, edi
call fcn.10006e80
mov edx, dword [esp + 0x40]
mov ecx, ebp
mov esi, dword [esp + 0x16c]
add edx, 0xa4506ceb
push dword [esp + 0x50]
add esi, edx
mov edx, ebx
add esi, eax
add dword [esp + 0x60], esi
call fcn.10006ed0
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x60]
push edi
lea ebx, [esi + eax]
call fcn.10006e80
mov edx, dword [esp + 0x44]
mov ecx, ebx
mov esi, dword [esp + 0x178]
add edx, 0xbef9a3f7
push dword [esp + 0x6c]
add esi, edx
mov edx, ebp
add esi, eax
add dword [esp + 0x5c], esi
call fcn.10006ed0
push dword [esp + 0x54]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
lea edi, [esi + eax]
call fcn.10006e80
add eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
add esi, eax
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x7c]
mov edx, dword [ecx + 0x5c]
add dword [ecx + 0x58], ebp
add edx, 0xc67178f2
add dword [ecx + 0x54], ebx
add dword [ecx + 0x50], edi
mov dword [ecx + 0x68], eax
mov eax, dword [esp + 0x6c]
add dword [ecx + 0x64], eax
mov eax, dword [esp + 0x60]
add dword [ecx + 0x60], eax
mov eax, dword [esp + 0x74]
add eax, esi
add eax, edx
mov edx, ebx
mov dword [ecx + 0x5c], eax
mov ecx, edi
push ebp
call fcn.10006ed0
mov ecx, dword [esp + 0x88]
add esp, 0x40
add ecx, 0xc67178f2
add ecx, esi
add eax, ecx
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x140]
pop ebx
xor ecx, esp
call fcn.1001026b
add esp, 0x140
ret 4