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

Disassembly:
sub esp, 0x134
mov eax, ecx
mov ecx, dword [esp + 0x138]
push ebx
push ebp
push esi
mov edx, dword [eax + 0x4c]
mov ebp, edx
mov esi, dword [eax + 0x64]
mov ebx, dword [eax + 0x50]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0x54]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x58]
push edi
mov edi, dword [eax + 0x60]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 0x68]
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], eax
push dword [ecx + esi*4]
call fcn.00498bc0
mov dword [esp + esi*4 + 0x48], eax
add esp, 4
inc esi
cmp esi, 0x10
jl 0x414927
push dword [esp + 0x34]
push edi
push edx
call fcn.00498b30
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
add eax, dword [esp + 0x50]
add edi, 0x428a2f98
push ecx
add edi, eax
add dword [esp + 0x2c], edi
push ebx
push ebp
call fcn.00498b70
push dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
push dword [esp + 0x54]
lea ebx, [edi + eax]
push ecx
call fcn.00498b30
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
add eax, dword [esp + 0x6c]
add edi, 0x71374491
push edx
add edi, eax
add dword [esp + 0x48], edi
push ebp
push ebx
call fcn.00498b70
push dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
push dword [esp + 0x50]
lea ebp, [edi + eax]
push ecx
call fcn.00498b30
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x88]
add edx, 0xb5c0fbcf
add edi, edx
mov edx, dword [esp + 0x54]
push edx
add edi, eax
add dword [esp + 0x70], edi
push ebx
push ebp
call fcn.00498b70
mov edx, dword [esp + 0x78]
add esp, 0x48
add eax, edi
mov dword [esp + 0x28], eax
push dword [esp + 0x1c]
push dword [esp + 0x24]
push edx
call fcn.00498b30
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x5c]
add edx, 0xe9b5dba5
mov ecx, dword [esp + 0x34]
add edi, edx
push ebx
add edi, eax
add dword [esp + 0x28], edi
push ebp
push ecx
call fcn.00498b70
push dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add eax, edi
push dword [esp + 0x4c]
mov dword [esp + 0x44], eax
push edx
call fcn.00498b30
mov edi, dword [esp + 0x40]
add eax, dword [esp + 0x78]
add edi, 0x3956c25b
mov ecx, dword [esp + 0x48]
add edi, eax
push ebp
push dword [esp + 0x50]
add ebx, edi
push ecx
call fcn.00498b70
push dword [esp + 0x60]
add eax, edi
push dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
push ebx
call fcn.00498b30
mov edi, dword [esp + 0x5c]
push dword [esp + 0x64]
add eax, dword [esp + 0x98]
add edi, 0x59f111f1
push dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
add edi, eax
add ebp, edi
push ecx
mov dword [esp + 0x64], ebp
call fcn.00498b70
mov ecx, dword [esp + 0x64]
add esp, 0x48
lea ebp, [edi + eax]
push dword [esp + 0x18]
push ebx
push ecx
call fcn.00498b30
mov edx, dword [esp + 0x3c]
push dword [esp + 0x30]
mov edi, dword [esp + 0x6c]
add edx, 0x923f82a4
push dword [esp + 0x24]
add edi, edx
add edi, eax
add dword [esp + 0x3c], edi
push ebp
call fcn.00498b70
push ebx
push dword [esp + 0x38]
add eax, edi
push dword [esp + 0x48]
mov dword [esp + 0x5c], eax
call fcn.00498b30
mov edx, dword [esp + 0x3c]
push dword [esp + 0x38]
mov edi, dword [esp + 0x88]
add edx, 0xab1c5ed5
add edi, edx
push ebp
push dword [esp + 0x64]
add edi, eax
add dword [esp + 0x54], edi
call fcn.00498b70
push dword [esp + 0x4c]
add eax, edi
push dword [esp + 0x5c]
mov dword [esp + 0x68], eax
push dword [esp + 0x5c]
call fcn.00498b30
mov edi, dword [esp + 0xa0]
add eax, 0xd807aa98
add edi, ebx
mov ebx, dword [esp + 0x74]
push ebp
push ebx
push dword [esp + 0x74]
add edi, eax
add dword [esp + 0x5c], edi
call fcn.00498b70
add esp, 0x48
add eax, edi
mov dword [esp + 0x2c], eax
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x1c]
call fcn.00498b30
mov edi, dword [esp + 0x28]
add eax, dword [esp + 0x74]
add edi, 0x12835b01
add edi, eax
add ebp, edi
push ebx
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.00498b70
push dword [esp + 0x3c]
add eax, edi
push dword [esp + 0x30]
mov dword [esp + 0x30], eax
push ebp
call fcn.00498b30
push dword [esp + 0x54]
mov edi, dword [esp + 0x50]
add eax, dword [esp + 0x94]
add edi, 0x243185be
push dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
add edi, eax
push edx
add ebx, edi
call fcn.00498b70
push dword [esp + 0x44]
add eax, edi
push ebp
push ebx
mov dword [esp + 0x64], eax
call fcn.00498b30
push dword [esp + 0x68]
mov edi, dword [esp + 0x64]
add eax, dword [esp + 0xb0]
add edi, 0x550c7dc3
push dword [esp + 0x50]
mov ecx, dword [esp + 0x6c]
add edi, eax
add dword [esp + 0x74], edi
push ecx
call fcn.00498b70
add esp, 0x48
add eax, edi
mov dword [esp + 0x24], eax
push ebp
push ebx
push dword [esp + 0x38]
call fcn.00498b30
push dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
add eax, dword [esp + 0x84]
add edi, 0x72be5d74
push dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
add edi, eax
add dword [esp + 0x40], edi
push ecx
call fcn.00498b70
push ebx
push dword [esp + 0x4c]
add eax, edi
push dword [esp + 0x4c]
mov dword [esp + 0x40], eax
call fcn.00498b30
push dword [esp + 0x4c]
mov edi, dword [esp + 0xa0]
add eax, 0x80deb1fe
push dword [esp + 0x4c]
add edi, ebp
push dword [esp + 0x48]
add edi, eax
add dword [esp + 0x40], edi
call fcn.00498b70
mov ebp, dword [esp + 0x60]
add eax, edi
push ebp
push dword [esp + 0x60]
mov dword [esp + 0x4c], eax
push dword [esp + 0x48]
call fcn.00498b30
mov edi, dword [esp + 0xb8]
add eax, 0x9bdc06a7
push dword [esp + 0x60]
add edi, ebx
push dword [esp + 0x5c]
add edi, eax
add dword [esp + 0x6c], edi
mov ecx, dword [esp + 0x58]
push ecx
call fcn.00498b70
add esp, 0x48
lea ebx, [edi + eax]
push dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00498b30
mov edi, dword [esp + 0x8c]
push dword [esp + 0x28]
add edi, 0xc19bf174
push dword [esp + 0x24]
add edi, ebp
add edi, eax
add dword [esp + 0x38], edi
push ebx
call fcn.00498b70
add eax, edi
add esp, 0x18
mov dword [esp + 0x18], eax
cmp esi, 0x18
jge 0x414d57
mov ecx, 0x18
mov dword [esp + 0x30], 0x18
sub ecx, esi
lea ebp, [esp + esi*4 + 0x3c]
mov dword [esp + 0x38], ecx
mov esi, ecx
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp]
push 0x12
push edx
call fcn.00498bb0
push 7
push edx
mov edi, eax
call fcn.00498bb0
xor edi, eax
shr edx, 3
push 0x13
push ebx
xor edi, edx
call fcn.00498bb0
push 0x11
push ebx
mov edx, eax
call fcn.00498bb0
xor edx, eax
shr ebx, 0xa
xor edx, ebx
lea ebp, [ebp + 4]
add edi, edx
add esp, 0x20
add edi, dword [ebp - 0x3c]
add edi, dword [ebp - 0x18]
mov dword [ebp + 4], edi
sub esi, 1
jne 0x414d01
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
push dword [esp + 0x10]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.00498b30
push dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
mov edi, eax
add edi, dword [esp + 0x94]
add ebp, 0xe49b69c1
mov ecx, dword [esp + 0x28]
add edi, dword [esp + 0x3c]
push ebx
push ecx
add ebp, edi
call fcn.00498b70
push dword [esp + 0x40]
lea ebx, [edi - 0x1b64963f]
push dword [esp + 0x40]
add ebx, eax
push ebp
call fcn.00498b30
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
add edx, 0xefbe4786
mov edi, dword [esp + 0xac]
push ecx
push dword [esp + 0x40]
add edi, edx
add edi, eax
add dword [esp + 0x40], edi
push ebx
call fcn.00498b70
push dword [esp + 0x54]
add eax, edi
push ebp
push dword [esp + 0x4c]
mov dword [esp + 0x58], eax
call fcn.00498b30
push dword [esp + 0x54]
mov edi, dword [esp + 0x68]
add eax, dword [esp + 0xcc]
add edi, 0xfc19dc6
mov edx, dword [esp + 0x5c]
add edi, eax
add dword [esp + 0x60], edi
push ebx
push edx
call fcn.00498b70
mov ecx, dword [esp + 0x68]
add esp, 0x48
add eax, edi
mov dword [esp + 0x34], eax
push ebp
push dword [esp + 0x18]
push ecx
call fcn.00498b30
mov edi, dword [esp + 0x30]
add eax, dword [esp + 0x9c]
add edi, 0x240ca1cc
mov edx, dword [esp + 0x40]
add edi, eax
add dword [esp + 0x24], edi
push ebx
push dword [esp + 0x2c]
push edx
call fcn.00498b70
push dword [esp + 0x2c]
add eax, edi
push dword [esp + 0x3c]
mov dword [esp + 0x30], eax
push dword [esp + 0x38]
call fcn.00498b30
add eax, dword [esp + 0xb8]
lea edi, [ebp + 0x2de92c6f]
mov ebp, dword [esp + 0x58]
add edi, eax
lea eax, [ebx + edi]
mov ebx, dword [esp + 0x40]
push ebx
mov dword [esp + 0x4c], eax
push ebp
mov edx, dword [esp + 0x3c]
push edx
call fcn.00498b70
push dword [esp + 0x50]
add eax, edi
push dword [esp + 0x4c]
mov dword [esp + 0x60], eax
push dword [esp + 0x5c]
call fcn.00498b30
mov edi, dword [esp + 0x50]
add eax, dword [esp + 0xd4]
add edi, 0x4a7484aa
push ebp
push dword [esp + 0x50]
add edi, eax
push dword [esp + 0x6c]
add ebx, edi
mov dword [esp + 0x64], ebx
call fcn.00498b70
add esp, 0x48
add eax, edi
mov dword [esp + 0x2c], eax
push dword [esp + 0x18]
push dword [esp + 0x28]
push ebx
call fcn.00498b30
mov edi, dword [esp + 0x2c]
push dword [esp + 0x1c]
add eax, dword [esp + 0xac]
add edi, 0x5cb0a9dc
push dword [esp + 0x38]
mov edx, dword [esp + 0x40]
add edi, eax
add ebp, edi
push edx
mov dword [esp + 0x4c], ebp
call fcn.00498b70
push dword [esp + 0x3c]
add eax, edi
push ebx
push ebp
mov dword [esp + 0x38], eax
call fcn.00498b30
push dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
add eax, dword [esp + 0xc8]
add edi, 0x76f988da
push dword [esp + 0x54]
mov ecx, dword [esp + 0x40]
add edi, eax
add dword [esp + 0x3c], edi
push ecx
call fcn.00498b70
add eax, edi
add esp, 0x30
mov dword [esp + 0x18], eax
cmp esi, 0x20
jge 0x414fc2
mov ecx, 0x20
mov dword [esp + 0x30], 0x20
sub ecx, esi
lea ebp, [esp + esi*4 + 0x3c]
mov dword [esp + 0x38], ecx
mov esi, ecx
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp]
push 0x12
push edx
call fcn.00498bb0
push 7
push edx
mov edi, eax
call fcn.00498bb0
xor edi, eax
shr edx, 3
push 0x13
push ebx
xor edi, edx
call fcn.00498bb0
push 0x11
push ebx
mov edx, eax
call fcn.00498bb0
xor edx, eax
shr ebx, 0xa
xor edx, ebx
lea ebp, [ebp + 4]
add edi, edx
add esp, 0x20
add edi, dword [ebp - 0x3c]
add edi, dword [ebp - 0x18]
mov dword [ebp + 4], edi
sub esi, 1
jne 0x414f68
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x34]
push ebx
push ebp
push dword [esp + 0x18]
call fcn.00498b30
push dword [esp + 0x38]
mov ebp, dword [esp + 0x38]
mov edi, eax
add edi, dword [esp + 0xb4]
add ebp, 0x983e5152
push dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
add edi, dword [esp + 0x38]
push ecx
add ebp, edi
call fcn.00498b70
push dword [esp + 0x4c]
lea ebx, [edi - 0x67c1aeae]
push dword [esp + 0x2c]
add ebx, eax
push ebp
call fcn.00498b30
mov edx, dword [esp + 0x40]
push dword [esp + 0x38]
mov edi, dword [esp + 0xd0]
add edx, 0xa831c66d
push dword [esp + 0x40]
add edi, edx
add edi, eax
add dword [esp + 0x58], edi
push ebx
call fcn.00498b70
push dword [esp + 0x40]
add eax, edi
push ebp
push dword [esp + 0x64]
mov dword [esp + 0x60], eax
call fcn.00498b30
mov edx, dword [esp + 0x70]
push dword [esp + 0x54]
mov edi, dword [esp + 0xec]
add edx, 0xb00327c8
mov ecx, dword [esp + 0x64]
add edi, edx
add edi, eax
add dword [esp + 0x54], edi
push ebx
push ecx
call fcn.00498b70
add esp, 0x48
add eax, edi
mov dword [esp + 0x20], eax
push ebp
push dword [esp + 0x30]
push dword [esp + 0x1c]
call fcn.00498b30
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xbc]
add edx, 0xbf597fc7
mov ecx, dword [esp + 0x2c]
add edi, edx
push ebx
push dword [esp + 0x34]
add edi, eax
add dword [esp + 0x2c], edi
push ecx
call fcn.00498b70
push dword [esp + 0x44]
add eax, edi
push dword [esp + 0x30]
mov dword [esp + 0x54], eax
push dword [esp + 0x38]
call fcn.00498b30
push dword [esp + 0x48]
mov edi, eax
lea eax, [ebx - 0x391ff40d]
add edi, dword [esp + 0xdc]
add edi, ebp
mov ebp, dword [esp + 0x48]
add eax, edi
mov dword [esp + 0x60], eax
push ebp
mov ebx, dword [esp + 0x60]
push ebx
call fcn.00498b70
push dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
add edi, 0xc6e00bf3
push dword [esp + 0x4c]
add eax, edi
push ecx
mov dword [esp + 0x4c], eax
call fcn.00498b30
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0xf4]
add edx, 0xd5a79147
mov ecx, dword [esp + 0x4c]
add edi, edx
push ebp
add edi, eax
add dword [esp + 0x64], edi
push ebx
push ecx
call fcn.00498b70
add esp, 0x48
lea ebp, [edi + eax]
push dword [esp + 0x18]
mov dword [esp + 0x20], ebp
push dword [esp + 0x3c]
push dword [esp + 0x2c]
call fcn.00498b30
mov edi, dword [esp + 0x20]
add eax, dword [esp + 0xc8]
add edi, 0x6ca6351
push ebx
push dword [esp + 0x20]
add edi, eax
add dword [esp + 0x34], edi
push ebp
call fcn.00498b70
push dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x40]
lea ebx, [edi + eax]
push ecx
mov dword [esp + 0x38], ebx
call fcn.00498b30
push dword [esp + 0x34]
mov edi, dword [esp + 0x40]
add eax, dword [esp + 0xe8]
add edi, 0x14292967
add edi, eax
add dword [esp + 0x5c], edi
push ebp
push ebx
call fcn.00498b70
add esp, 0x30
lea ebp, [edi + eax]
mov dword [esp + 0x28], ebp
cmp esi, 0x28
jge 0x41522e
mov ecx, 0x28
mov dword [esp + 0x30], 0x28
sub ecx, esi
lea ebp, [esp + esi*4 + 0x3c]
mov dword [esp + 0x18], ecx
mov esi, ecx
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp]
push 0x12
push edx
call fcn.00498bb0
push 7
push edx
mov edi, eax
call fcn.00498bb0
xor edi, eax
shr edx, 3
push 0x13
push ebx
xor edi, edx
call fcn.00498bb0
push 0x11
push ebx
mov edx, eax
call fcn.00498bb0
xor edx, eax
shr ebx, 0xa
xor edx, ebx
lea ebp, [ebp + 4]
add edi, edx
add esp, 0x20
add edi, dword [ebp - 0x3c]
add edi, dword [ebp - 0x18]
mov dword [ebp + 4], edi
sub esi, 1
jne 0x4151d4
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
push dword [esp + 0x24]
push ecx
call fcn.00498b30
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x44]
add eax, dword [esp + 0xd0]
add edi, 0x27b70a85
push ecx
add edi, eax
add dword [esp + 0x20], edi
push ebx
push ebp
call fcn.00498b70
push dword [esp + 0x38]
push dword [esp + 0x50]
lea ebx, [edi + eax]
push dword [esp + 0x30]
call fcn.00498b30
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x48]
add eax, dword [esp + 0xec]
add edi, 0x2e1b2138
push edx
add edi, eax
add dword [esp + 0x44], edi
push ebp
push ebx
call fcn.00498b70
push dword [esp + 0x64]
mov ecx, dword [esp + 0x50]
push dword [esp + 0x44]
lea ebp, [edi + eax]
push ecx
call fcn.00498b30
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x5c]
add eax, dword [esp + 0x108]
add edi, 0x4d2c6dfc
push edx
add edi, eax
add dword [esp + 0x54], edi
push ebx
push ebp
call fcn.00498b70
mov edx, dword [esp + 0x5c]
add esp, 0x48
add eax, edi
mov dword [esp + 0x18], eax
push dword [esp + 0x10]
push dword [esp + 0x20]
push edx
call fcn.00498b30
mov edi, dword [esp + 0x40]
add eax, dword [esp + 0xdc]
add edi, 0x53380d13
mov edx, dword [esp + 0x24]
add edi, eax
add dword [esp + 0x34], edi
push ebx
push ebp
push edx
call fcn.00498b70
push dword [esp + 0x34]
mov edx, dword [esp + 0x44]
add eax, edi
push dword [esp + 0x30]
mov dword [esp + 0x4c], eax
push edx
call fcn.00498b30
mov edi, dword [esp + 0x34]
add eax, dword [esp + 0xf8]
add edi, 0x650a7354
mov edx, dword [esp + 0x50]
add edi, eax
push ebp
push dword [esp + 0x40]
add ebx, edi
mov dword [esp + 0x4c], ebx
push edx
call fcn.00498b70
push dword [esp + 0x44]
add eax, edi
push dword [esp + 0x5c]
mov dword [esp + 0x70], eax
push ebx
call fcn.00498b30
mov edi, dword [esp + 0x58]
push dword [esp + 0x54]
add eax, dword [esp + 0x118]
add edi, 0x766a0abb
push dword [esp + 0x6c]
add edi, eax
push dword [esp + 0x7c]
add ebp, edi
mov dword [esp + 0x64], ebp
call fcn.00498b70
add esp, 0x48
add eax, edi
mov dword [esp + 0x10], eax
push dword [esp + 0x28]
push ebx
push ebp
call fcn.00498b30
mov edx, dword [esp + 0x20]
push dword [esp + 0x38]
mov edi, dword [esp + 0xec]
add edx, 0x81c2c92e
push dword [esp + 0x48]
add edi, edx
mov edx, dword [esp + 0x24]
add edi, eax
add dword [esp + 0x2c], edi
push edx
call fcn.00498b70
push ebx
push ebp
push dword [esp + 0x38]
add eax, edi
mov dword [esp + 0x38], eax
call fcn.00498b30
mov edx, dword [esp + 0x4c]
push dword [esp + 0x5c]
mov edi, dword [esp + 0x108]
add edx, 0x92722c85
push dword [esp + 0x38]
add edi, edx
mov edx, dword [esp + 0x40]
add edi, eax
add dword [esp + 0x58], edi
push edx
call fcn.00498b70
add eax, edi
add esp, 0x30
mov dword [esp + 0x24], eax
cmp esi, 0x30
jge 0x41548a
mov ecx, 0x30
mov dword [esp + 0x30], 0x30
sub ecx, esi
lea ebp, [esp + esi*4 + 0x3c]
mov dword [esp + 0x34], ecx
mov esi, ecx
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp]
push 0x12
push edx
call fcn.00498bb0
push 7
push edx
mov edi, eax
call fcn.00498bb0
xor edi, eax
shr edx, 3
push 0x13
push ebx
xor edi, edx
call fcn.00498bb0
push 0x11
push ebx
mov edx, eax
call fcn.00498bb0
xor edx, eax
shr ebx, 0xa
xor edx, ebx
lea ebp, [ebp + 4]
add edi, edx
add esp, 0x20
add edi, dword [ebp - 0x3c]
add edi, dword [ebp - 0x18]
mov dword [ebp + 4], edi
sub esi, 1
jne 0x415430
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
push ebp
push dword [esp + 0x1c]
push dword [esp + 0x34]
call fcn.00498b30
push dword [esp + 0x1c]
mov ebp, dword [esp + 0x48]
mov edi, eax
add edi, dword [esp + 0xf4]
add ebp, 0xa2bfe8a1
push dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
add edi, ebx
push ecx
add ebp, edi
call fcn.00498b70
push dword [esp + 0x30]
lea ebx, [edi - 0x5d40175f]
push dword [esp + 0x48]
add ebx, eax
push ebp
call fcn.00498b30
mov edx, dword [esp + 0x40]
push dword [esp + 0x38]
mov edi, dword [esp + 0x110]
add edx, 0xa81a664b
push dword [esp + 0x4c]
add edi, edx
add edi, eax
add dword [esp + 0x3c], edi
push ebx
call fcn.00498b70
push dword [esp + 0x5c]
add eax, edi
push ebp
push dword [esp + 0x48]
mov dword [esp + 0x64], eax
call fcn.00498b30
mov edx, dword [esp + 0x54]
push dword [esp + 0x60]
mov edi, dword [esp + 0x12c]
add edx, 0xc24b8b70
mov ecx, dword [esp + 0x68]
add edi, edx
add edi, eax
add dword [esp + 0x54], edi
push ebx
push ecx
call fcn.00498b70
add esp, 0x48
add eax, edi
mov dword [esp + 0x20], eax
push ebp
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.00498b30
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0xfc]
add edx, 0xc76c51a3
mov ecx, dword [esp + 0x2c]
add edi, edx
push ebx
push dword [esp + 0x38]
add edi, eax
add dword [esp + 0x38], edi
push ecx
call fcn.00498b70
push dword [esp + 0x28]
add eax, edi
push dword [esp + 0x30]
mov dword [esp + 0x3c], eax
push dword [esp + 0x44]
call fcn.00498b30
push dword [esp + 0x4c]
mov edi, eax
lea eax, [ebx - 0x2e6d17e7]
add edi, dword [esp + 0x11c]
add edi, ebp
mov ebp, dword [esp + 0x48]
add eax, edi
mov dword [esp + 0x60], eax
push ebp
mov ebx, dword [esp + 0x48]
push ebx
call fcn.00498b70
push dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
add edi, 0xd192e819
push dword [esp + 0x58]
add eax, edi
push ecx
mov dword [esp + 0x54], eax
call fcn.00498b30
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x134]
add edx, 0xd6990624
mov ecx, dword [esp + 0x54]
add edi, edx
push ebp
add edi, eax
add dword [esp + 0x68], edi
push ebx
push ecx
call fcn.00498b70
add esp, 0x48
lea ebp, [edi + eax]
push dword [esp + 0x24]
mov dword [esp + 0x38], ebp
push dword [esp + 0x3c]
push dword [esp + 0x30]
call fcn.00498b30
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x108]
add edx, 0xf40e3585
push ebx
push dword [esp + 0x28]
add edi, edx
add edi, eax
add dword [esp + 0x34], edi
push ebp
call fcn.00498b70
push dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x44]
lea ebx, [edi + eax]
push ecx
mov dword [esp + 0x34], ebx
call fcn.00498b30
push dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
add eax, dword [esp + 0x128]
add edi, 0x106aa070
add edi, eax
add dword [esp + 0x44], edi
push ebp
push ebx
call fcn.00498b70
add esp, 0x30
lea ebp, [edi + eax]
mov dword [esp + 0x14], ebp
cmp esi, 0x38
jge 0x4156fa
mov ecx, 0x38
mov dword [esp + 0x30], 0x38
sub ecx, esi
lea ebp, [esp + esi*4 + 0x3c]
mov dword [esp + 0x2c], ecx
mov esi, ecx
nop
mov edx, dword [ebp]
mov ebx, dword [ebp - 0x34]
push 0x13
push edx
call fcn.00498bb0
push 0x11
push edx
mov edi, eax
call fcn.00498bb0
xor edi, eax
shr edx, 0xa
push 0x12
push ebx
xor edi, edx
call fcn.00498bb0
push 7
push ebx
mov edx, eax
call fcn.00498bb0
xor edx, eax
shr ebx, 3
xor edx, ebx
lea ebp, [ebp + 4]
add edi, edx
add esp, 0x20
add edi, dword [ebp - 0x3c]
add edi, dword [ebp - 0x18]
mov dword [ebp + 4], edi
sub esi, 1
jne 0x4156a0
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
push dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x24]
push ecx
call fcn.00498b30
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
add eax, dword [esp + 0x110]
add edi, 0x19a4c116
push ecx
add edi, eax
add dword [esp + 0x28], edi
push ebx
push ebp
call fcn.00498b70
push dword [esp + 0x38]
push dword [esp + 0x38]
lea ebx, [edi + eax]
push dword [esp + 0x38]
call fcn.00498b30
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
add eax, dword [esp + 0x12c]
add edi, 0x1e376c08
push ecx
add edi, eax
add dword [esp + 0x5c], edi
push ebp
push ebx
call fcn.00498b70
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x68]
add eax, edi
push dword [esp + 0x4c]
mov dword [esp + 0x64], eax
push ecx
call fcn.00498b30
mov edi, dword [esp + 0x5c]
add eax, dword [esp + 0x148]
add edi, 0x2748774c
push ebp
push ebx
push dword [esp + 0x70]
add edi, eax
add dword [esp + 0x58], edi
call fcn.00498b70
mov ecx, dword [esp + 0x58]
add esp, 0x48
add eax, edi
mov dword [esp + 0x30], eax
push dword [esp + 0x18]
push dword [esp + 0x38]
push ecx
call fcn.00498b30
mov edi, dword [esp + 0x28]
add eax, dword [esp + 0x11c]
add edi, 0x34b0bcb5
mov edx, dword [esp + 0x3c]
add edi, eax
push ebx
push dword [esp + 0x3c]
add ebp, edi
push edx
call fcn.00498b70
push dword [esp + 0x4c]
add eax, edi
push dword [esp + 0x2c]
mov dword [esp + 0x40], eax
push ebp
call fcn.00498b30
push dword [esp + 0x50]
mov edi, dword [esp + 0x40]
add eax, dword [esp + 0x13c]
add edi, 0x391c0cb3
push dword [esp + 0x58]
add edi, eax
push dword [esp + 0x4c]
add ebx, edi
mov dword [esp + 0x4c], ebx
call fcn.00498b70
add eax, edi
push dword [esp + 0x40]
mov dword [esp + 0x48], eax
push ebp
push ebx
call fcn.00498b30
push dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
add eax, dword [esp + 0x158]
add edi, 0x4ed8aa4a
push dword [esp + 0x60]
mov edx, dword [esp + 0x58]
add edi, eax
add dword [esp + 0x70], edi
push edx
call fcn.00498b70
add esp, 0x48
add eax, edi
mov dword [esp + 0x18], eax
push ebp
push ebx
push dword [esp + 0x34]
call fcn.00498b30
push dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
add eax, dword [esp + 0x12c]
add edi, 0x5b9cca4f
push dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
add edi, eax
add dword [esp + 0x44], edi
push edx
call fcn.00498b70
push ebx
push dword [esp + 0x48]
add eax, edi
push dword [esp + 0x50]
mov dword [esp + 0x34], eax
call fcn.00498b30
add eax, dword [esp + 0x144]
push dword [esp + 0x38]
mov edx, dword [esp + 0x38]
push dword [esp + 0x40]
lea edi, [eax + 0x682e6ff3]
add edi, ebp
add dword [esp + 0x4c], edi
push edx
call fcn.00498b70
add eax, edi
add esp, 0x30
mov dword [esp + 0x38], eax
cmp esi, 0x40
jge 0x415937
mov ebp, 0x40
lea ebx, [esp + esi*4 + 0x3c]
sub ebp, esi
mov edx, dword [ebx]
mov edi, dword [ebx - 0x34]
push 0x13
push edx
call fcn.00498bb0
push 0x11
push edx
mov esi, eax
call fcn.00498bb0
xor esi, eax
shr edx, 0xa
push 0x12
push edi
xor esi, edx
call fcn.00498bb0
push 7
push edi
mov edx, eax
call fcn.00498bb0
xor edx, eax
shr edi, 3
xor edx, edi
lea ebx, [ebx + 4]
add esi, edx
add esp, 0x20
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
mov dword [ebx + 4], esi
sub ebp, 1
jne 0x4158e6
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
push edi
push dword [esp + 0x34]
push dword [esp + 0x28]
call fcn.00498b30
push dword [esp + 0x24]
add eax, dword [esp + 0x134]
lea esi, [ebx + 0x748f82ee]
mov ebx, dword [esp + 0x24]
add esi, eax
push dword [esp + 0x20]
add ebx, esi
push dword [esp + 0x4c]
mov dword [esp + 0x2c], ebx
call fcn.00498b70
push dword [esp + 0x48]
push dword [esp + 0x3c]
lea ebp, [esi + eax]
push ebx
mov dword [esp + 0x40], ebp
call fcn.00498b30
push dword [esp + 0x34]
add eax, dword [esp + 0x150]
lea esi, [edi + 0x78a5636f]
push dword [esp + 0x60]
add esi, eax
add dword [esp + 0x44], esi
push ebp
call fcn.00498b70
mov edi, dword [esp + 0x50]
push edi
push dword [esp + 0x48]
lea ebx, [esi + eax]
push dword [esp + 0x50]
mov dword [esp + 0x70], ebx
call fcn.00498b30
mov edx, dword [esp + 0x6c]
push dword [esp + 0x74]
mov esi, dword [esp + 0x16c]
add edx, 0x84c87814
add esi, edx
add esi, eax
add dword [esp + 0x50], esi
push ebp
push ebx
call fcn.00498b70
add esp, 0x48
lea ebp, [esi + eax]
push dword [esp + 0x14]
mov dword [esp + 0x24], ebp
push dword [esp + 0x1c]
push dword [esp + 0x18]
call fcn.00498b30
push dword [esp + 0x28]
mov esi, eax
add esi, dword [esp + 0x140]
add esi, edi
mov edi, dword [esp + 0x48]
add edi, 0x8cc70208
push ebx
add edi, esi
push ebp
mov dword [esp + 0x48], edi
call fcn.00498b70
push dword [esp + 0x30]
lea ebx, [esi - 0x7338fdf8]
push dword [esp + 0x2c]
add ebx, eax
push edi
mov dword [esp + 0x5c], ebx
call fcn.00498b30
mov edx, dword [esp + 0x38]
push dword [esp + 0x58]
mov esi, dword [esp + 0x15c]
add edx, 0x90befffa
add esi, edx
add esi, eax
add dword [esp + 0x44], esi
push ebp
push ebx
call fcn.00498b70
push dword [esp + 0x40]
lea ebp, [esi + eax]
push edi
push dword [esp + 0x54]
call fcn.00498b30
mov edx, dword [esp + 0x54]
push dword [esp + 0x5c]
mov esi, dword [esp + 0x178]
add edx, 0xa4506ceb
add esi, edx
add esi, eax
add dword [esp + 0x74], esi
push ebx
push ebp
call fcn.00498b70
add esp, 0x48
lea ebx, [esi + eax]
push edi
push dword [esp + 0x20]
push dword [esp + 0x3c]
call fcn.00498b30
mov edx, dword [esp + 0x1c]
push dword [esp + 0x44]
mov esi, dword [esp + 0x14c]
add edx, 0xbef9a3f7
add esi, edx
add esi, eax
add dword [esp + 0x30], esi
push ebp
push ebx
call fcn.00498b70
push dword [esp + 0x34]
push dword [esp + 0x50]
lea edi, [esi + eax]
push dword [esp + 0x40]
call fcn.00498b30
add eax, dword [esp + 0x164]
mov esi, dword [esp + 0x54]
push ebp
push ebx
push edi
add esi, eax
call fcn.00498b70
mov ecx, dword [esp + 0x6c]
add esp, 0x30
add ecx, 0xc67178f2
add ecx, esi
add eax, ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x5c]
add dword [ecx + 0x50], edi
add edx, 0xc67178f2
add dword [ecx + 0x58], ebp
add dword [ecx + 0x54], ebx
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x38]
add eax, esi
add eax, edx
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0x20]
add dword [ecx + 0x60], eax
mov eax, dword [esp + 0x34]
add dword [ecx + 0x64], eax
mov eax, dword [esp + 0x1c]
add dword [ecx + 0x68], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret 4