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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x100b5350]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
push ebx
mov ecx, dword [eax + 0x4c]
mov ebx, ecx
mov dword [ebp - 0x138], ecx
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x124], ecx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x130], ecx
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x110], ecx
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x10c], ecx
mov ecx, dword [eax + 0x64]
mov eax, dword [eax + 0x68]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x104]
xor esi, esi
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x11c], ecx
sub edi, eax
jmp 0x100125b0
lea ecx, [edi + esi*4]
mov ecx, dword [ebp + ecx - 0x104]
call fcn.10012460
mov dword [ebp + esi*4 - 0x104], eax
inc esi
cmp esi, 0x10
jl 0x100125b0
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
call fcn.10012490
add eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x12c]
add edi, 0x428a2f98
add edi, eax
add dword [ebp - 0x130], edi
push ecx
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x130]
lea ebx, [edi + eax]
call fcn.10012490
add eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0x11c]
push dword [ebp - 0x12c]
mov edx, dword [ebp - 0x108]
add edi, 0x71374491
add edi, eax
add dword [ebp - 0x124], edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x124]
add eax, edi
mov dword [ebp - 0x128], eax
call fcn.10012490
mov edx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0xfc]
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x128]
add edx, 0xb5c0fbcf
add edi, edx
add edi, eax
add dword [ebp - 0x12c], edi
mov edx, ebx
call fcn.100124e0
push dword [ebp - 0x130]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x12c]
add eax, edi
mov dword [ebp - 0x118], eax
call fcn.10012490
mov ecx, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x128]
add ecx, 0xe9b5dba5
add edi, ecx
mov ecx, dword [ebp - 0x118]
add edi, eax
add dword [ebp - 0x108], edi
push ebx
call fcn.100124e0
push dword [ebp - 0x124]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x108]
add eax, edi
mov dword [ebp - 0x120], eax
call fcn.10012490
add eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x130]
push dword [ebp - 0x128]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
add edi, 0x3956c25b
add edi, eax
add ebx, edi
call fcn.100124e0
push dword [ebp - 0x12c]
mov edx, dword [ebp - 0x108]
add eax, edi
mov ecx, ebx
mov dword [ebp - 0x114], eax
call fcn.10012490
add eax, dword [ebp - 0xf0]
mov edi, dword [ebp - 0x124]
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x114]
add edi, 0x59f111f1
add edi, eax
add dword [ebp - 0x128], edi
call fcn.100124e0
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x128]
add eax, edi
mov edx, ebx
mov dword [ebp - 0x124], eax
call fcn.10012490
mov edx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0xec]
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x124]
add edx, 0x923f82a4
add edi, edx
mov edx, dword [ebp - 0x114]
add edi, eax
add dword [ebp - 0x118], edi
call fcn.100124e0
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x118]
add eax, edi
push ebx
mov dword [ebp - 0x11c], eax
call fcn.10012490
mov edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
push dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
add edx, 0xab1c5ed5
add edi, edx
mov edx, dword [ebp - 0x124]
add edi, eax
add dword [ebp - 0x120], edi
call fcn.100124e0
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
add esp, 0x40
add eax, edi
push dword [ebp - 0x128]
mov dword [ebp - 0x12c], eax
call fcn.10012490
mov edi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x12c]
add edi, ebx
mov ebx, dword [ebp - 0x124]
add eax, 0xd807aa98
add edi, eax
add dword [ebp - 0x114], edi
push ebx
call fcn.100124e0
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x114]
add eax, edi
mov dword [ebp - 0x10c], eax
call fcn.10012490
add eax, dword [ebp - 0xe0]
mov edi, dword [ebp - 0x128]
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x10c]
add edi, 0x12835b01
add edi, eax
add ebx, edi
call fcn.100124e0
push dword [ebp - 0x120]
mov edx, dword [ebp - 0x114]
add eax, edi
mov ecx, ebx
mov dword [ebp - 0x128], eax
call fcn.10012490
add eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x118]
push dword [ebp - 0x12c]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x128]
add edi, 0x243185be
add edi, eax
add dword [ebp - 0x11c], edi
call fcn.100124e0
push dword [ebp - 0x114]
mov ecx, dword [ebp - 0x11c]
add eax, edi
mov edx, ebx
mov dword [ebp - 0x118], eax
call fcn.10012490
add eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x120]
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x118]
add edi, 0x550c7dc3
add edi, eax
add dword [ebp - 0x12c], edi
call fcn.100124e0
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x12c]
add eax, edi
push ebx
mov dword [ebp - 0x120], eax
call fcn.10012490
add eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x114]
push dword [ebp - 0x128]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
add edi, 0x72be5d74
add edi, eax
add dword [ebp - 0x10c], edi
call fcn.100124e0
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x10c]
add eax, edi
mov dword [ebp - 0x114], eax
call fcn.10012490
mov edi, dword [ebp - 0xd0]
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x114]
add eax, 0x80deb1fe
add edi, ebx
add edi, eax
add dword [ebp - 0x128], edi
call fcn.100124e0
mov ebx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x128]
add eax, edi
push ebx
mov dword [ebp - 0x110], eax
call fcn.10012490
mov edx, dword [ebp - 0x11c]
mov edi, dword [ebp - 0xcc]
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x110]
add edx, 0x9bdc06a7
add edi, edx
mov edx, dword [ebp - 0x114]
add edi, eax
add dword [ebp - 0x118], edi
call fcn.100124e0
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x118]
add eax, edi
mov dword [ebp - 0x11c], eax
call fcn.10012490
mov edi, dword [ebp - 0xc8]
push dword [ebp - 0x114]
add edi, 0xc19bf174
add edi, ebx
add edi, eax
add dword [ebp - 0x120], edi
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x11c]
call fcn.100124e0
add eax, edi
add esp, 0x40
mov dword [ebp - 0x108], eax
cmp esi, 0x18
jge 0x10012b33
lea eax, [ebp + esi*4 - 0x10c]
mov dword [ebp - 0x130], eax
mov eax, 0x18
sub eax, esi
add esi, eax
mov dword [ebp - 0x12c], esi
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x124], eax
lea ebx, [ebx]
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ecx, edi
call fcn.10012450
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10012450
mov ecx, dword [esi]
xor ebx, eax
shr edi, 3
mov edx, 0x13
xor ebx, edi
call fcn.10012450
mov ecx, dword [esi]
mov edx, 0x11
mov edi, eax
call fcn.10012450
xor edi, eax
mov eax, dword [esi]
shr eax, 0xa
xor edi, eax
add ebx, edi
add ebx, dword [esi - 0x38]
lea esi, [esi + 4]
add ebx, dword [esi - 0x18]
dec dword [ebp - 0x124]
mov dword [esi + 4], ebx
jne 0x10012ad0
mov esi, dword [ebp - 0x12c]
push dword [ebp - 0x128]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
call fcn.10012490
mov edx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0xc4]
push dword [ebp - 0x110]
mov ecx, dword [ebp - 0x108]
add edx, 0xe49b69c1
add edi, edx
mov edx, dword [ebp - 0x11c]
add edi, eax
add dword [ebp - 0x114], edi
call fcn.100124e0
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x114]
lea ebx, [edi + eax]
call fcn.10012490
mov edx, dword [ebp - 0x128]
mov edi, dword [ebp - 0xc0]
push dword [ebp - 0x11c]
add edx, 0xefbe4786
add edi, edx
mov edx, dword [ebp - 0x108]
add edi, eax
add dword [ebp - 0x110], edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x120]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x110]
add eax, edi
mov dword [ebp - 0x10c], eax
call fcn.10012490
add eax, dword [ebp - 0xbc]
mov edi, dword [ebp - 0x118]
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x10c]
add edi, 0xfc19dc6
add edi, eax
add dword [ebp - 0x11c], edi
mov edx, ebx
call fcn.100124e0
push dword [ebp - 0x114]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x11c]
add eax, edi
mov dword [ebp - 0x118], eax
call fcn.10012490
add eax, dword [ebp - 0xb8]
mov edi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x118]
add edi, 0x240ca1cc
add edi, eax
add dword [ebp - 0x108], edi
push ebx
call fcn.100124e0
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x108]
add eax, edi
mov dword [ebp - 0x120], eax
call fcn.10012490
mov edi, dword [ebp - 0x114]
add eax, dword [ebp - 0xb4]
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
add edi, 0x2de92c6f
add edi, eax
add ebx, edi
mov dword [ebp - 0x114], ebx
call fcn.100124e0
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x108]
add eax, edi
mov ecx, ebx
mov dword [ebp - 0x128], eax
call fcn.10012490
add eax, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x110]
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x128]
add edi, 0x4a7484aa
add edi, eax
add dword [ebp - 0x10c], edi
call fcn.100124e0
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x10c]
add eax, edi
mov edx, ebx
mov dword [ebp - 0x110], eax
call fcn.10012490
add eax, dword [ebp - 0xac]
mov edi, dword [ebp - 0x11c]
push dword [ebp - 0x120]
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x110]
add edi, 0x5cb0a9dc
add edi, eax
add dword [ebp - 0x118], edi
call fcn.100124e0
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x118]
add eax, edi
push ebx
mov dword [ebp - 0x11c], eax
call fcn.10012490
add eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x108]
push dword [ebp - 0x128]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x11c]
add edi, 0x76f988da
add edi, eax
add dword [ebp - 0x120], edi
call fcn.100124e0
add eax, edi
add esp, 0x40
mov dword [ebp - 0x108], eax
cmp esi, 0x20
jge 0x10012e39
lea ecx, [ebp + esi*4 - 0x10c]
mov dword [ebp - 0x130], ecx
mov ecx, 0x20
sub ecx, esi
add esi, ecx
mov dword [ebp - 0x12c], esi
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x124], ecx
mov edi, edi
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ecx, edi
call fcn.10012450
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10012450
mov ecx, dword [esi]
xor ebx, eax
shr edi, 3
mov edx, 0x13
xor ebx, edi
call fcn.10012450
mov ecx, dword [esi]
mov edx, 0x11
mov edi, eax
call fcn.10012450
xor edi, eax
mov eax, dword [esi]
shr eax, 0xa
xor edi, eax
add ebx, edi
add ebx, dword [esi - 0x38]
lea esi, [esi + 4]
add ebx, dword [esi - 0x18]
dec dword [ebp - 0x124]
mov dword [esi + 4], ebx
jne 0x10012dd0
mov esi, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x114]
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
call fcn.10012490
mov edi, dword [ebp - 0xa4]
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x108]
add eax, 0x983e5152
add edi, ebx
add edi, eax
add dword [ebp - 0x128], edi
call fcn.100124e0
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x128]
add eax, edi
push ebx
mov dword [ebp - 0x114], eax
call fcn.10012490
mov edx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0xa0]
push dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x114]
add edx, 0xa831c66d
add edi, edx
mov edx, dword [ebp - 0x108]
add edi, eax
add dword [ebp - 0x110], edi
call fcn.100124e0
push dword [ebp - 0x120]
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x110]
add eax, edi
mov dword [ebp - 0x10c], eax
call fcn.10012490
mov edi, dword [ebp - 0x9c]
push dword [ebp - 0x108]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x10c]
add ebx, 0xb00327c8
add edi, ebx
add edi, eax
add dword [ebp - 0x11c], edi
call fcn.100124e0
mov ebx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x11c]
add eax, edi
push ebx
mov dword [ebp - 0x118], eax
call fcn.10012490
mov edx, dword [ebp - 0x120]
mov edi, dword [ebp - 0x98]
push dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
add edx, 0xbf597fc7
add edi, edx
mov edx, dword [ebp - 0x10c]
add edi, eax
add dword [ebp - 0x108], edi
call fcn.100124e0
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x108]
add eax, edi
mov dword [ebp - 0x120], eax
call fcn.10012490
mov edi, dword [ebp - 0x94]
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
add ebx, 0xc6e00bf3
add edi, ebx
add edi, eax
add dword [ebp - 0x114], edi
call fcn.100124e0
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x108]
lea ebx, [edi + eax]
mov dword [ebp - 0x128], ebx
mov ecx, dword [ebp - 0x114]
call fcn.10012490
mov edx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x90]
push dword [ebp - 0x118]
add edx, 0xd5a79147
add edi, edx
mov edx, dword [ebp - 0x120]
add edi, eax
add dword [ebp - 0x10c], edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x108]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x10c]
lea ebx, [edi + eax]
mov dword [ebp - 0x130], ebx
call fcn.10012490
add eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x11c]
push dword [ebp - 0x120]
mov edx, dword [ebp - 0x128]
add edi, 0x6ca6351
add edi, eax
add dword [ebp - 0x118], edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x114]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + eax]
mov dword [ebp - 0x124], ebx
call fcn.10012490
add eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x108]
push dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
add edi, 0x14292967
add edi, eax
add dword [ebp - 0x120], edi
mov ecx, ebx
call fcn.100124e0
add eax, edi
add esp, 0x40
mov dword [ebp - 0x108], eax
cmp esi, 0x28
jge 0x10013149
lea ecx, [ebp + esi*4 - 0x10c]
mov dword [ebp - 0x11c], ecx
mov ecx, 0x28
sub ecx, esi
add esi, ecx
mov dword [ebp - 0x12c], esi
mov esi, dword [ebp - 0x11c]
mov dword [ebp - 0x110], ecx
nop
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ecx, edi
call fcn.10012450
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10012450
mov ecx, dword [esi]
xor ebx, eax
shr edi, 3
mov edx, 0x13
xor ebx, edi
call fcn.10012450
mov ecx, dword [esi]
mov edx, 0x11
mov edi, eax
call fcn.10012450
xor edi, eax
mov eax, dword [esi]
shr eax, 0xa
xor edi, eax
add ebx, edi
add ebx, dword [esi - 0x38]
lea esi, [esi + 4]
add ebx, dword [esi - 0x18]
dec dword [ebp - 0x110]
mov dword [esi + 4], ebx
jne 0x100130e0
mov esi, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x124]
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x120]
call fcn.10012490
add eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0x114]
push dword [ebp - 0x130]
mov ecx, dword [ebp - 0x108]
add edi, 0x27b70a85
add edi, eax
add dword [ebp - 0x128], edi
mov edx, ebx
call fcn.100124e0
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x128]
lea ebx, [edi + eax]
call fcn.10012490
add eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x124]
add edi, 0x2e1b2138
add edi, eax
add dword [ebp - 0x130], edi
push edx
mov edx, dword [ebp - 0x108]
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x120]
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x130]
add eax, edi
mov dword [ebp - 0x110], eax
call fcn.10012490
add eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x118]
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x110]
add edi, 0x4d2c6dfc
add edi, eax
add dword [ebp - 0x124], edi
mov edx, ebx
call fcn.100124e0
push dword [ebp - 0x128]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x124]
add eax, edi
mov dword [ebp - 0x118], eax
call fcn.10012490
add eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x118]
add edi, 0x53380d13
add edi, eax
add dword [ebp - 0x108], edi
push ebx
call fcn.100124e0
push dword [ebp - 0x130]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x108]
add eax, edi
mov dword [ebp - 0x10c], eax
call fcn.10012490
add eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0x128]
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x10c]
add edi, 0x650a7354
add edi, eax
add ebx, edi
mov dword [ebp - 0x120], ebx
call fcn.100124e0
push dword [ebp - 0x124]
mov edx, dword [ebp - 0x108]
add eax, edi
mov ecx, ebx
mov dword [ebp - 0x128], eax
call fcn.10012490
add eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x130]
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x128]
add edi, 0x766a0abb
add edi, eax
add dword [ebp - 0x110], edi
call fcn.100124e0
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x110]
add eax, edi
mov edx, ebx
mov dword [ebp - 0x11c], eax
call fcn.10012490
mov edx, dword [ebp - 0x124]
mov edi, dword [ebp - 0x6c]
push dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x11c]
add edx, 0x81c2c92e
add edi, edx
mov edx, dword [ebp - 0x128]
add edi, eax
add dword [ebp - 0x118], edi
call fcn.100124e0
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x118]
add eax, edi
push ebx
mov dword [ebp - 0x114], eax
call fcn.10012490
mov edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x68]
push dword [ebp - 0x128]
mov ecx, dword [ebp - 0x114]
add edx, 0x92722c85
add edi, edx
mov edx, dword [ebp - 0x11c]
add edi, eax
add dword [ebp - 0x10c], edi
call fcn.100124e0
add eax, edi
add esp, 0x40
mov dword [ebp - 0x108], eax
cmp esi, 0x30
jge 0x10013439
lea ecx, [ebp + esi*4 - 0x10c]
mov dword [ebp - 0x130], ecx
mov ecx, 0x30
sub ecx, esi
add esi, ecx
mov dword [ebp - 0x12c], esi
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x124], ecx
lea esp, [esp]
mov edi, dword [esi - 0x34]
mov edx, 0x12
mov ecx, edi
call fcn.10012450
mov edx, 7
mov ecx, edi
mov ebx, eax
call fcn.10012450
mov ecx, dword [esi]
xor ebx, eax
shr edi, 3
mov edx, 0x13
xor ebx, edi
call fcn.10012450
mov ecx, dword [esi]
mov edx, 0x11
mov edi, eax
call fcn.10012450
xor edi, eax
mov eax, dword [esi]
shr eax, 0xa
xor edi, eax
add ebx, edi
add ebx, dword [esi - 0x38]
lea esi, [esi + 4]
add ebx, dword [esi - 0x18]
dec dword [ebp - 0x124]
mov dword [esi + 4], ebx
jne 0x100133d0
mov esi, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x120]
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x10c]
call fcn.10012490
mov edi, dword [ebp - 0x64]
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x108]
add eax, 0xa2bfe8a1
add edi, ebx
add edi, eax
add dword [ebp - 0x128], edi
call fcn.100124e0
mov ebx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x128]
add eax, edi
push ebx
mov dword [ebp - 0x120], eax
call fcn.10012490
mov edx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x60]
push dword [ebp - 0x114]
mov ecx, dword [ebp - 0x120]
add edx, 0xa81a664b
add edi, edx
mov edx, dword [ebp - 0x108]
add edi, eax
add dword [ebp - 0x11c], edi
call fcn.100124e0
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x11c]
add eax, edi
mov dword [ebp - 0x110], eax
call fcn.10012490
mov edi, dword [ebp - 0x5c]
push dword [ebp - 0x108]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x110]
add ebx, 0xc24b8b70
add edi, ebx
add edi, eax
add dword [ebp - 0x114], edi
call fcn.100124e0
mov ebx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x114]
add eax, edi
push ebx
mov dword [ebp - 0x118], eax
call fcn.10012490
mov edx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x58]
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x118]
add edx, 0xc76c51a3
add edi, edx
mov edx, dword [ebp - 0x110]
add edi, eax
add dword [ebp - 0x108], edi
call fcn.100124e0
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x108]
add eax, edi
mov dword [ebp - 0x10c], eax
call fcn.10012490
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x10c]
add ebx, 0xd192e819
add edi, ebx
add edi, eax
add dword [ebp - 0x120], edi
call fcn.100124e0
push dword [ebp - 0x114]
mov edx, dword [ebp - 0x108]
lea ebx, [edi + eax]
mov dword [ebp - 0x124], ebx
mov ecx, dword [ebp - 0x120]
call fcn.10012490
mov edx, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x50]
push dword [ebp - 0x118]
add edx, 0xd6990624
add edi, edx
mov edx, dword [ebp - 0x10c]
add edi, eax
add dword [ebp - 0x110], edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x108]
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x110]
lea ebx, [edi + eax]
mov dword [ebp - 0x130], ebx
call fcn.10012490
mov edx, dword [ebp - 0x114]
mov edi, dword [ebp - 0x4c]
push dword [ebp - 0x10c]
add edx, 0xf40e3585
add edi, edx
mov edx, dword [ebp - 0x124]
add edi, eax
add dword [ebp - 0x118], edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x120]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x118]
lea ebx, [edi + eax]
mov dword [ebp - 0x114], ebx
call fcn.10012490
add eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x108]
push dword [ebp - 0x124]
mov edx, dword [ebp - 0x130]
add edi, 0x106aa070
add edi, eax
add dword [ebp - 0x10c], edi
mov ecx, ebx
call fcn.100124e0
add eax, edi
add esp, 0x40
mov dword [ebp - 0x108], eax
cmp esi, 0x38
jge 0x1001373b
lea ecx, [ebp + esi*4 - 0x10c]
mov dword [ebp - 0x128], ecx
mov ecx, 0x38
sub ecx, esi
add esi, ecx
mov dword [ebp - 0x12c], esi
mov esi, dword [ebp - 0x128]
mov dword [ebp - 0x11c], ecx
lea esp, [esp]
mov edi, dword [esi]
mov edx, 0x13
mov ecx, edi
call fcn.10012450
mov edx, 0x11
mov ecx, edi
mov ebx, eax
call fcn.10012450
mov ecx, dword [esi - 0x34]
xor ebx, eax
shr edi, 0xa
mov edx, 0x12
xor ebx, edi
call fcn.10012450
mov ecx, dword [esi - 0x34]
mov edx, 7
mov edi, eax
call fcn.10012450
xor edi, eax
mov eax, dword [esi - 0x34]
shr eax, 3
xor edi, eax
add ebx, edi
add ebx, dword [esi - 0x38]
lea esi, [esi + 4]
add ebx, dword [esi - 0x18]
dec dword [ebp - 0x11c]
mov dword [esi + 4], ebx
jne 0x100136d0
mov esi, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x114]
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x10c]
call fcn.10012490
add eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x120]
push dword [ebp - 0x130]
mov ecx, dword [ebp - 0x108]
add edi, 0x19a4c116
add edi, eax
add dword [ebp - 0x124], edi
mov edx, ebx
call fcn.100124e0
push dword [ebp - 0x118]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x124]
lea ebx, [edi + eax]
call fcn.10012490
add eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x108]
add edi, 0x1e376c08
add edi, eax
add dword [ebp - 0x130], edi
push ecx
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x130]
add eax, edi
mov dword [ebp - 0x12c], eax
call fcn.10012490
add eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x118]
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x12c]
add edi, 0x2748774c
add edi, eax
add dword [ebp - 0x114], edi
mov edx, ebx
call fcn.100124e0
push dword [ebp - 0x124]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x114]
add eax, edi
mov dword [ebp - 0x110], eax
call fcn.10012490
add eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x110]
add edi, 0x34b0bcb5
add edi, eax
add dword [ebp - 0x108], edi
push ebx
call fcn.100124e0
push dword [ebp - 0x130]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x108]
add eax, edi
mov dword [ebp - 0x10c], eax
call fcn.10012490
add eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x124]
push dword [ebp - 0x12c]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
add edi, 0x391c0cb3
add edi, eax
add ebx, edi
mov dword [ebp - 0x118], ebx
call fcn.100124e0
push dword [ebp - 0x114]
mov edx, dword [ebp - 0x108]
add eax, edi
mov ecx, ebx
mov dword [ebp - 0x124], eax
call fcn.10012490
add eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x130]
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x124]
add edi, 0x4ed8aa4a
add edi, eax
add dword [ebp - 0x12c], edi
call fcn.100124e0
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0x12c]
add eax, edi
mov edx, ebx
mov dword [ebp - 0x11c], eax
call fcn.10012490
add eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x114]
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x11c]
add edi, 0x5b9cca4f
add edi, eax
add dword [ebp - 0x110], edi
call fcn.100124e0
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x110]
add eax, edi
push ebx
mov dword [ebp - 0x114], eax
call fcn.10012490
add eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x108]
push dword [ebp - 0x124]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x114]
add edi, 0x682e6ff3
add edi, eax
add dword [ebp - 0x10c], edi
call fcn.100124e0
add eax, edi
add esp, 0x40
mov dword [ebp - 0x108], eax
cmp esi, 0x40
jge 0x10013a1f
mov ecx, 0x40
lea eax, [ebp + esi*4 - 0x10c]
sub ecx, esi
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x120], ecx
lea esp, [esp]
mov esi, dword [eax]
mov ebx, dword [eax - 0x34]
mov edx, 0x13
mov ecx, esi
call fcn.10012450
mov edx, 0x11
mov ecx, esi
mov edi, eax
call fcn.10012450
xor edi, eax
shr esi, 0xa
mov edx, 0x12
mov ecx, ebx
xor edi, esi
call fcn.10012450
mov edx, 7
mov ecx, ebx
mov esi, eax
call fcn.10012450
xor esi, eax
mov eax, dword [ebp - 0x130]
shr ebx, 3
xor esi, ebx
add edi, esi
add edi, dword [eax - 0x38]
add eax, 4
add edi, dword [eax - 0x18]
dec dword [ebp - 0x120]
mov dword [eax + 4], edi
mov dword [ebp - 0x130], eax
jne 0x100139b0
mov ebx, dword [ebp - 0x118]
push dword [ebp - 0x12c]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
call fcn.10012490
add eax, dword [ebp - 0x24]
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x108]
lea esi, [eax + 0x748f82ee]
add esi, ebx
mov ebx, dword [ebp - 0x124]
add ebx, esi
mov dword [ebp - 0x124], ebx
call fcn.100124e0
push dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
lea edi, [esi + eax]
mov ecx, ebx
mov dword [ebp - 0x130], edi
call fcn.10012490
add eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x12c]
push dword [ebp - 0x114]
mov edx, dword [ebp - 0x108]
add esi, 0x78a5636f
add esi, eax
add dword [ebp - 0x11c], esi
mov ecx, edi
call fcn.100124e0
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x11c]
lea ebx, [esi + eax]
mov dword [ebp - 0x12c], ebx
call fcn.10012490
mov edx, dword [ebp - 0x110]
mov esi, dword [ebp - 0x1c]
push dword [ebp - 0x108]
add edx, 0x84c87814
add esi, edx
add esi, eax
add dword [ebp - 0x114], esi
mov edx, edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x124]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x114]
lea edi, [esi + eax]
mov dword [ebp - 0x110], edi
call fcn.10012490
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x18]
push dword [ebp - 0x130]
add edx, 0x8cc70208
add esi, edx
add esi, eax
add dword [ebp - 0x108], esi
mov edx, ebx
mov ecx, edi
call fcn.100124e0
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x108]
lea ebx, [esi + eax]
mov dword [ebp - 0x10c], ebx
call fcn.10012490
mov edx, dword [ebp - 0x124]
mov esi, dword [ebp - 0x14]
push dword [ebp - 0x12c]
add edx, 0x90befffa
add esi, edx
add esi, eax
add dword [ebp - 0x130], esi
mov edx, edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x114]
mov edx, dword [ebp - 0x108]
lea edi, [esi + eax]
mov dword [ebp - 0x124], edi
mov ecx, dword [ebp - 0x130]
call fcn.10012490
mov edx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x110]
add edx, 0xa4506ceb
add esi, edx
add esi, eax
add dword [ebp - 0x12c], esi
mov edx, ebx
mov ecx, edi
call fcn.100124e0
push dword [ebp - 0x108]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
lea ebx, [esi + eax]
call fcn.10012490
mov edx, dword [ebp - 0x114]
mov esi, dword [ebp - 0xc]
push dword [ebp - 0x10c]
add edx, 0xbef9a3f7
add esi, edx
add esi, eax
add dword [ebp - 0x110], esi
mov edx, edi
mov ecx, ebx
call fcn.100124e0
push dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x110]
lea edi, [esi + eax]
call fcn.10012490
mov edx, dword [ebp - 0x108]
mov esi, dword [ebp - 8]
push dword [ebp - 0x124]
add edx, 0xc67178f2
add esi, edx
mov edx, ebx
mov ecx, edi
add esi, eax
call fcn.100124e0
add eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
add eax, esi
add dword [ecx + 0x50], edi
add dword [ecx + 0x54], ebx
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x124]
add dword [ecx + 0x58], eax
mov eax, dword [ecx + 0x5c]
add eax, esi
add eax, dword [ebp - 0x10c]
add esp, 0x40
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp - 0x110]
add dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x12c]
add dword [ecx + 0x64], eax
mov eax, dword [ebp - 0x130]
add dword [ecx + 0x68], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100704e7
mov esp, ebp
pop ebp
ret 4