Function at 0x4088a0
Capabilities:
Encode data using xor
Hash data using murmur3
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov edx, dword [ebp + 8]
mov eax, ecx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x4c]
lea esi, [ebp - 0x130]
mov ebx, dword [eax + 0x50]
mov edi, dword [eax + 0x58]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 4], ecx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0x5c]
mov dword [ebp + 8], ecx
mov ecx, dword [eax + 0x60]
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x30], eax
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1c], ecx
lea ecx, [edx + 0x3c]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], edi
cmp esi, ecx
ja 0x40891a
lea ecx, [ebp - 0xf4]
cmp ecx, edx
jb 0x40891a
mov ecx, dword [edx + eax*4]
bswap ecx
mov dword [ebp + eax*4 - 0x130], ecx
inc eax
cmp eax, 0x10
jl 0x408900
mov dword [ebp - 0x28], eax
jmp 0x4089ce
movaps xmm6, xmmword [0x43b0d0]
lea esi, [ebp - 0x130]
movaps xmm7, xmmword [0x43b0c0]
lea edi, [ebp - 0x120]
mov eax, 0x10
mov dword [ebp - 0x28], 0x10
sub esi, edx
sub edi, edx
movd xmm4, eax
mov eax, 8
movd xmm5, eax
lea ecx, [eax - 6]
lea edx, [edx + 0x20]
movaps xmm0, xmm7
movups xmm2, xmmword [edx - 0x20]
pand xmm0, xmm2
movaps xmm3, xmm2
movaps xmm1, xmm2
pslld xmm3, xmm4
psrld xmm1, xmm4
por xmm3, xmm0
movaps xmm0, xmm6
pand xmm0, xmm2
movaps xmm2, xmm7
por xmm1, xmm0
psrld xmm1, xmm5
pslld xmm3, xmm5
por xmm3, xmm1
movups xmm1, xmmword [edx - 0x10]
movups xmmword [esi + edx - 0x20], xmm3
movaps xmm0, xmm1
pand xmm2, xmm1
pslld xmm0, xmm4
por xmm2, xmm0
movaps xmm0, xmm6
pand xmm0, xmm1
psrld xmm1, xmm4
pslld xmm2, xmm5
por xmm0, xmm1
psrld xmm0, xmm5
por xmm2, xmm0
movups xmmword [edi + edx - 0x20], xmm2
sub ecx, 1
jne 0x408954
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
mov esi, eax
ror esi, 0xb
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
not edx
and edx, dword [ebp - 0x1c]
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 8]
add esi, dword [ebp - 0x130]
and ecx, eax
xor edx, ecx
mov eax, dword [ebp - 4]
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 0x18]
rol ecx, 0xa
add esi, 0x428a2f98
add esi, edx
mov edx, eax
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x20], edi
mov edi, ebx
mov ecx, eax
ror ecx, 2
and ebx, eax
xor edx, ecx
or edi, eax
and edi, dword [ebp - 0x10]
add edx, esi
or edi, ebx
mov ebx, dword [ebp - 0x20]
add edi, edx
mov esi, ebx
ror esi, 0xb
mov ecx, ebx
rol ecx, 7
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [ebp - 8]
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp + 8]
add esi, dword [ebp - 0x12c]
and ecx, ebx
xor edx, ecx
mov ebx, edi
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x1c]
or ebx, eax
and ebx, dword [ebp - 0x14]
add esi, 0x71374491
add esi, edx
rol ecx, 0xa
add dword [ebp - 0x10], esi
mov edx, edi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, edi
and ecx, eax
add edx, esi
or ebx, ecx
add ebx, edx
mov edx, dword [ebp - 0x10]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
not edx
and edx, dword [ebp + 8]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x10]
add esi, dword [ebp - 0x128]
xor edx, ecx
add edx, esi
mov ecx, ebx
mov esi, dword [ebp - 8]
rol ecx, 0xa
add esi, 0xb5c0fbcf
add esi, edx
mov edx, ebx
add dword [ebp - 0x14], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, edi
or ecx, ebx
add edx, esi
and ecx, eax
mov dword [ebp - 0xc], ecx
mov ecx, edi
and ecx, ebx
or dword [ebp - 0xc], ecx
add dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x14]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x20]
xor esi, ecx
add esi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x14]
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
mov esi, dword [ebp + 8]
add esi, 0xe9b5dba5
add esi, edx
mov edx, ecx
rol ecx, 0xa
add eax, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 0xc]
add edx, esi
and ecx, edi
mov esi, eax
mov dword [ebp + 8], ecx
mov ecx, ebx
and ecx, dword [ebp - 0xc]
or dword [ebp + 8], ecx
mov ecx, eax
add dword [ebp + 8], edx
mov edx, eax
rol ecx, 7
not edx
ror esi, 0xb
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
and edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
add esi, dword [ebp - 0x120]
and ecx, eax
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov esi, dword [ebp - 0x20]
add esi, 0x3956c25b
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
mov eax, ecx
add edx, esi
and ecx, dword [ebp + 8]
mov esi, edi
or eax, dword [ebp + 8]
ror esi, 0xb
and eax, ebx
or eax, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov dword [ebp - 8], eax
add dword [ebp - 8], edx
mov ecx, edi
ror ecx, 6
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp - 0x14]
mov ecx, edi
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0x11c]
xor edx, ecx
mov ecx, dword [ebp - 8]
add edx, esi
mov esi, dword [ebp - 0x10]
add esi, 0x59f111f1
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10], ecx
add edx, esi
or ecx, dword [ebp - 8]
mov esi, ebx
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
or eax, ecx
ror esi, 0xb
mov ecx, ebx
add eax, edx
rol ecx, 7
mov edx, ebx
xor esi, ecx
mov dword [ebp - 0x10], eax
mov ecx, ebx
not edx
and edx, dword [ebp - 4]
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [ebp - 0x118]
and ecx, ebx
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, eax
rol ecx, 0xa
add esi, 0x923f82a4
add esi, edx
mov edx, eax
add dword [ebp - 0xc], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
add edx, esi
or ecx, eax
and ecx, dword [ebp + 8]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 8]
and ecx, eax
or dword [ebp - 0x18], ecx
add dword [ebp - 0x18], edx
mov edx, dword [ebp - 0xc]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
add esi, dword [ebp - 0x114]
mov ecx, ebx
and ecx, dword [ebp - 0xc]
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 4]
add esi, 0xab1c5ed5
add esi, edx
mov edx, ecx
add dword [ebp + 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 0x18]
add edx, esi
and ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov ecx, eax
and ecx, dword [ebp - 0x18]
or dword [ebp - 4], ecx
add dword [ebp - 4], edx
mov edx, dword [ebp + 8]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0x110]
xor edx, ecx
mov ecx, dword [ebp - 4]
add edx, esi
lea esi, [edi - 0x27f85568]
mov edi, dword [ebp - 8]
add esi, edx
add edi, esi
mov dword [ebp - 8], edi
mov edx, ecx
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 4]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov eax, ecx
add edx, esi
and ecx, dword [ebp - 4]
mov esi, edi
or eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
and dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
or eax, ecx
ror esi, 0xb
add eax, edx
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
mov dword [ebp - 0x1c], eax
not edx
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov edi, dword [ebp - 0xc]
ror ecx, 6
and edx, edi
xor esi, ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0x10c]
xor edx, ecx
add edx, esi
lea esi, [ebx + 0x12835b01]
mov ebx, dword [ebp - 0x1c]
add esi, edx
mov edx, ebx
mov ecx, ebx
rol ecx, 0xa
add eax, esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 4]
add edx, esi
and ecx, dword [ebp - 0x18]
mov esi, eax
mov dword [ebp - 0xc], ecx
mov ecx, ebx
and ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
or ebx, ecx
ror esi, 0xb
add ebx, edx
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 8]
mov ecx, eax
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
mov ecx, dword [ebp - 8]
add esi, dword [ebp - 0x108]
and ecx, eax
xor edx, ecx
add edx, esi
lea esi, [edi + 0x243185be]
mov edi, dword [ebp - 0x18]
add esi, edx
add edi, esi
mov ecx, dword [ebp - 0xc]
mov edx, ecx
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
or ecx, dword [ebp - 0xc]
add edx, esi
and ecx, dword [ebp - 4]
mov esi, edi
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0xc]
or dword [ebp - 0x24], ecx
mov ecx, edi
add dword [ebp - 0x24], edx
mov edx, edi
rol ecx, 7
not edx
ror esi, 0xb
xor esi, ecx
mov ecx, edi
mov edi, dword [ebp - 8]
and edx, edi
ror ecx, 6
add edi, 0x72be5d74
xor esi, ecx
mov ecx, eax
and ecx, dword [ebp - 0x18]
add esi, dword [ebp - 0x104]
xor edx, ecx
mov ecx, dword [ebp - 0x24]
add edx, esi
lea esi, [ebx + 0x550c7dc3]
mov ebx, dword [ebp - 4]
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x24]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x24]
add edx, esi
and ecx, dword [ebp - 0x1c]
mov esi, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x24]
or dword [ebp - 8], ecx
mov ecx, ebx
add dword [ebp - 8], edx
mov edx, ebx
rol ecx, 7
not edx
ror esi, 0xb
and edx, eax
xor esi, ecx
mov ecx, ebx
mov ebx, dword [ebp - 0x18]
ror ecx, 6
xor esi, ecx
mov ecx, ebx
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0x100]
xor edx, ecx
add edx, esi
add edi, edx
mov edx, dword [ebp - 8]
add dword [ebp - 0x1c], edi
mov esi, edx
ror esi, 0xd
mov ecx, edx
rol ecx, 0xa
xor esi, ecx
mov ecx, edx
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp - 0x24]
mov edx, ecx
add esi, edi
and ecx, dword [ebp - 8]
or edx, dword [ebp - 8]
and edx, dword [ebp - 0xc]
or ecx, edx
mov edi, dword [ebp - 0x1c]
add ecx, esi
mov edx, edi
mov dword [ebp + 8], ecx
not edx
and edx, ebx
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
add esi, dword [ebp - 0xfc]
mov edi, dword [ebp - 4]
and ecx, edi
xor edx, ecx
add edx, 0x80deb1fe
add esi, edx
add esi, eax
mov eax, dword [ebp + 8]
add dword [ebp - 0xc], esi
mov edx, eax
ror edx, 0xd
mov ecx, eax
rol ecx, 0xa
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov eax, ecx
add edx, esi
and ecx, dword [ebp + 8]
or eax, dword [ebp + 8]
and eax, dword [ebp - 0x24]
or eax, ecx
add eax, edx
mov edx, dword [ebp - 0xc]
mov esi, edx
mov dword [ebp - 0x14], eax
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0xc]
add esi, dword [ebp - 0xf8]
xor edx, ecx
add edx, esi
mov ecx, eax
lea esi, [ebx - 0x6423f959]
rol ecx, 0xa
add esi, edx
mov edx, eax
add dword [ebp - 0x24], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
mov eax, ecx
and ecx, ebx
add edx, esi
or eax, ebx
and eax, dword [ebp - 8]
or eax, ecx
add eax, edx
mov edx, dword [ebp - 0x24]
mov esi, edx
mov dword [ebp - 0x10], eax
mov ecx, edx
ror esi, 0xb
rol ecx, 7
or ebx, eax
xor esi, ecx
and ebx, dword [ebp + 8]
mov ecx, edx
not edx
and edx, dword [ebp - 0x1c]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0xf4]
xor edx, ecx
add edx, esi
mov ecx, eax
lea esi, [edi - 0x3e640e8c]
rol ecx, 0xa
mov edi, dword [ebp - 8]
add esi, edx
mov edx, eax
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 8], edi
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
and ecx, eax
add edx, esi
mov eax, dword [ebp - 0x28]
or ebx, ecx
add ebx, edx
mov dword [ebp - 0x20], ebx
cmp eax, 0x18
jae 0x409087
mov ecx, 0x18
mov dword [ebp - 0x28], 0x18
sub ecx, eax
lea ebx, [ebp + eax*4 - 0x138]
mov dword [ebp - 4], ecx
mov eax, ecx
mov edx, dword [ebx]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 0x38]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
mov edx, esi
ror ecx, 7
rol edx, 0xe
xor edx, ecx
shr esi, 3
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x409044
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 8]
mov esi, edi
mov ecx, edi
rol ecx, 7
mov edx, edi
ror esi, 0xb
not edx
xor esi, ecx
and edx, dword [ebp - 0xc]
mov ecx, edi
and edi, dword [ebp - 0x24]
ror ecx, 6
xor edi, edx
xor esi, ecx
mov ecx, dword [ebp + 8]
add esi, dword [ebp - 0xf0]
add ecx, 0xe49b69c1
add edi, esi
mov esi, ebx
add edi, dword [ebp - 0x1c]
add ecx, edi
ror esi, 0xd
mov dword [ebp + 8], ecx
mov ecx, ebx
rol ecx, 0xa
xor esi, ecx
mov ecx, ebx
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and ecx, ebx
or edx, ebx
and edx, dword [ebp - 0x14]
or edx, ecx
lea ebx, [edi + esi]
mov edi, dword [ebp + 8]
add edx, 0xe49b69c1
add ebx, edx
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp - 0x24]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0xec]
xor edx, ecx
add edx, esi
mov ecx, ebx
mov esi, dword [ebp - 0xc]
rol ecx, 0xa
add esi, 0xefbe4786
add esi, edx
mov edx, ebx
add dword [ebp - 0x14], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 0x20]
add edx, esi
and ecx, dword [ebp - 0x10]
mov dword [ebp + 8], ecx
mov ecx, ebx
and ecx, dword [ebp - 0x20]
or dword [ebp + 8], ecx
add dword [ebp + 8], edx
mov edx, dword [ebp - 0x14]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
not edx
and edx, dword [ebp - 8]
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 0x14]
xor edx, ecx
add esi, dword [ebp - 0xe8]
add edx, esi
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x24]
add esi, 0xfc19dc6
add esi, edx
mov edx, ecx
rol ecx, 0xa
add dword [ebp - 0x10], esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp + 8]
add edx, esi
and ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
mov ecx, ebx
and ecx, dword [ebp + 8]
or dword [ebp - 0x18], ecx
add dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x10]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
add esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x10]
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 8]
add esi, 0x240ca1cc
add esi, edx
mov edx, ecx
add dword [ebp - 0x20], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
or ecx, dword [ebp - 0x18]
add edx, esi
and ecx, ebx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 0x18]
or dword [ebp - 4], ecx
add dword [ebp - 4], edx
mov edx, dword [ebp - 0x20]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x14]
xor esi, ecx
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0xe0]
xor edx, ecx
add edx, esi
add edi, 0x2de92c6f
add edi, edx
lea ecx, [ebx + edi]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x1c], ecx
mov esi, ebx
ror esi, 0xd
mov ecx, ebx
rol ecx, 0xa
xor esi, ecx
mov ecx, ebx
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp - 0x18]
mov edx, ecx
add edi, esi
or edx, ebx
and ecx, ebx
and edx, dword [ebp + 8]
or edx, ecx
add edi, edx
mov edx, dword [ebp - 0x1c]
mov esi, edx
mov dword [ebp - 0xc], edi
mov ecx, edx
ror esi, 0xb
rol ecx, 7
or ebx, edi
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x10]
xor esi, ecx
add esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x20]
xor edx, ecx
mov ecx, edi
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 0x14]
add esi, 0x4a7484aa
add esi, edx
mov edx, edi
add dword [ebp + 8], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
mov edi, dword [ebp - 0x18]
and ebx, edi
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 4]
and ecx, dword [ebp - 0xc]
add edx, esi
or ebx, ecx
add ebx, edx
mov edx, dword [ebp + 8]
mov esi, edx
mov dword [ebp - 8], ebx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x20]
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0xd8]
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x10]
add esi, 0x5cb0a9dc
add esi, edx
add edi, esi
mov edx, ebx
ror edx, 0xd
mov ecx, ebx
rol ecx, 0xa
xor edx, ecx
mov dword [ebp - 0x18], edi
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
mov edi, ecx
add edx, esi
and ecx, ebx
or edi, ebx
and edi, dword [ebp - 4]
or edi, ecx
add edi, edx
mov edx, dword [ebp - 0x18]
mov esi, edx
mov dword [ebp - 0x10], edi
mov ecx, edx
ror esi, 0xb
rol ecx, 7
or ebx, edi
xor esi, ecx
and ebx, dword [ebp - 0xc]
mov ecx, edx
not edx
and edx, dword [ebp - 0x1c]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 0x18]
add esi, dword [ebp - 0xd4]
xor edx, ecx
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x20]
add esi, 0x76f988da
rol ecx, 0xa
add esi, edx
mov edx, edi
add dword [ebp - 4], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
and ecx, edi
add edx, esi
or ebx, ecx
add ebx, edx
mov dword [ebp - 0x20], ebx
cmp eax, 0x20
jae 0x409403
mov ecx, 0x20
mov dword [ebp - 0x28], 0x20
sub ecx, eax
lea ebx, [ebp + eax*4 - 0x138]
mov dword [ebp - 0x14], ecx
mov eax, ecx
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x4093c2
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 4]
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, edi
and edi, dword [ebp - 0x18]
ror ecx, 6
xor edi, edx
xor esi, ecx
mov ecx, dword [ebp - 0xc]
add esi, dword [ebp - 0xd0]
add ecx, 0x983e5152
add edi, esi
mov esi, ebx
add edi, dword [ebp - 0x1c]
add ecx, edi
ror esi, 0xd
mov dword [ebp - 0x14], ecx
mov ecx, ebx
rol ecx, 0xa
xor esi, ecx
mov ecx, ebx
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and ecx, ebx
or edx, ebx
lea ebx, [edi - 0x67c1aeae]
and edx, dword [ebp - 8]
add ebx, esi
mov edi, dword [ebp - 0x14]
or edx, ecx
add ebx, edx
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp - 0x18]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0xcc]
xor edx, ecx
add edx, esi
mov ecx, ebx
mov esi, dword [ebp + 8]
rol ecx, 0xa
add esi, 0xa831c66d
add esi, edx
mov edx, ebx
add dword [ebp - 8], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 0x20]
add edx, esi
and ecx, dword [ebp - 0x10]
mov dword [ebp + 8], ecx
mov ecx, ebx
and ecx, dword [ebp - 0x20]
or dword [ebp + 8], ecx
add dword [ebp + 8], edx
mov edx, dword [ebp - 8]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 4]
xor esi, ecx
add esi, dword [ebp - 0xc8]
mov ecx, edi
and ecx, dword [ebp - 8]
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov esi, dword [ebp - 0x18]
add esi, 0xb00327c8
add esi, edx
mov edx, ecx
rol ecx, 0xa
add dword [ebp - 0x10], esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp + 8]
add edx, esi
and ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, ebx
and ecx, dword [ebp + 8]
or dword [ebp - 0x24], ecx
add dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x10]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
add esi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x10]
xor edx, ecx
mov ecx, dword [ebp - 0x24]
add edx, esi
mov esi, dword [ebp - 4]
add esi, 0xbf597fc7
add esi, edx
mov edx, ecx
add dword [ebp - 0x20], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 0x24]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
or ecx, dword [ebp - 0x24]
add edx, esi
and ecx, ebx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 0x24]
or dword [ebp - 4], ecx
add dword [ebp - 4], edx
mov edx, dword [ebp - 0x20]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0xc0]
xor edx, ecx
add edx, esi
lea ecx, [ebx - 0x391ff40d]
mov ebx, dword [ebp - 4]
add edi, edx
add ecx, edi
mov esi, ebx
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
rol ecx, 0xa
ror esi, 0xd
xor esi, ecx
mov ecx, ebx
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp - 0x24]
mov edx, ecx
add edi, esi
or edx, ebx
and ecx, ebx
and edx, dword [ebp + 8]
or edx, ecx
add edx, 0xc6e00bf3
add edi, edx
mov edx, dword [ebp - 0x1c]
mov esi, edx
mov dword [ebp - 0x14], edi
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x10]
xor esi, ecx
add esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x20]
xor edx, ecx
mov ecx, edi
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 8]
add esi, 0xd5a79147
add esi, edx
mov edx, edi
add dword [ebp + 8], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
mov edi, ebx
or edi, dword [ebp - 0x14]
xor edx, ecx
and edi, dword [ebp - 0x24]
add edx, esi
mov ecx, ebx
mov ebx, dword [ebp + 8]
and ecx, dword [ebp - 0x14]
mov esi, ebx
or edi, ecx
ror esi, 0xb
mov ecx, ebx
add edi, edx
rol ecx, 7
mov edx, ebx
xor esi, ecx
mov dword [ebp - 8], edi
mov ecx, ebx
not edx
and edx, dword [ebp - 0x20]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
add esi, dword [ebp - 0xb8]
and ecx, ebx
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x10]
mov ecx, edi
rol ecx, 0xa
add esi, 0x6ca6351
add esi, edx
mov edx, edi
add dword [ebp - 0x24], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
mov ebx, ecx
add edx, esi
and ecx, edi
or ebx, edi
and ebx, dword [ebp - 4]
or ebx, ecx
add ebx, edx
mov edx, dword [ebp - 0x24]
mov esi, edx
mov dword [ebp - 0x10], ebx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
or edi, ebx
xor esi, ecx
and edi, dword [ebp - 0x14]
mov ecx, edx
not edx
and edx, dword [ebp - 0x1c]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0xb4]
xor edx, ecx
add edx, esi
mov ecx, ebx
mov esi, dword [ebp - 0x20]
add esi, 0x14292967
rol ecx, 0xa
add esi, edx
mov edx, ebx
add dword [ebp - 4], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
and ecx, ebx
add edx, esi
or edi, ecx
add edi, edx
mov dword [ebp - 0x20], edi
cmp eax, 0x28
jae 0x409784
mov ecx, 0x28
mov dword [ebp - 0x28], 0x28
sub ecx, eax
lea ebx, [ebp + eax*4 - 0x138]
mov dword [ebp - 0x18], ecx
mov eax, ecx
mov edx, dword [ebx]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 0x38]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
mov edx, esi
ror ecx, 7
rol edx, 0xe
xor edx, ecx
shr esi, 3
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x409744
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
or ebx, edi
mov esi, eax
and ebx, dword [ebp - 8]
ror esi, 0xb
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x24]
add esi, dword [ebp - 0xb0]
and ecx, eax
xor edx, ecx
mov eax, dword [ebp - 0x10]
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x1c]
rol ecx, 0xa
add esi, 0x27b70a85
add esi, edx
mov edx, edi
add dword [ebp - 0x14], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, eax
and ecx, edi
add edx, esi
mov edi, dword [ebp - 0x14]
or ebx, ecx
add ebx, edx
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp - 0x24]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 4]
add esi, dword [ebp - 0xac]
and ecx, edi
xor edx, ecx
mov edi, ebx
or edi, dword [ebp - 0x20]
add edx, esi
mov esi, dword [ebp + 8]
mov ecx, ebx
add esi, 0x2e1b2138
rol ecx, 0xa
add esi, edx
and edi, eax
add dword [ebp - 8], esi
mov edx, ebx
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebx
and ecx, dword [ebp - 0x20]
add edx, esi
or edi, ecx
add edi, edx
mov edx, dword [ebp - 8]
mov esi, edx
mov dword [ebp - 0x1c], edi
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
not edx
and edx, dword [ebp - 4]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 8]
add esi, dword [ebp - 0xa8]
xor edx, ecx
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x24]
rol ecx, 0xa
add esi, 0x4d2c6dfc
add esi, edx
mov edx, edi
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [ebp - 0x10], eax
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, edi
add edx, esi
and ecx, dword [ebp - 0x20]
mov esi, eax
mov dword [ebp + 8], ecx
mov ecx, ebx
and ecx, edi
ror esi, 0xb
or dword [ebp + 8], ecx
mov ecx, eax
add dword [ebp + 8], edx
mov edx, eax
rol ecx, 7
not edx
and edx, dword [ebp - 0x14]
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 8]
add esi, dword [ebp - 0xa4]
and ecx, eax
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov esi, dword [ebp - 4]
add esi, 0x53380d13
add esi, edx
mov edx, ecx
add dword [ebp - 0x20], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, edi
or ecx, dword [ebp + 8]
add edx, esi
and ecx, ebx
mov dword [ebp - 4], ecx
mov ecx, edi
and ecx, dword [ebp + 8]
mov edi, dword [ebp - 4]
or edi, ecx
add edi, edx
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x20]
mov esi, edi
mov ecx, edi
ror esi, 0xb
rol ecx, 7
mov edx, edi
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
add esi, dword [ebp - 0xa0]
not edx
and edx, dword [ebp - 8]
mov ecx, eax
and ecx, edi
mov edi, dword [ebp - 0x14]
xor edx, ecx
add edi, 0x650a7354
add edx, esi
add edi, edx
mov edx, dword [ebp - 4]
mov esi, edx
mov ecx, edx
rol ecx, 0xa
add ebx, edi
ror esi, 0xd
xor esi, ecx
mov dword [ebp - 0x18], ebx
mov ecx, edx
mov edx, dword [ebp + 8]
or edx, dword [ebp - 4]
and edx, dword [ebp - 0x1c]
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 4]
add esi, edi
or ecx, edx
mov edi, dword [ebp - 0x1c]
add ecx, esi
mov edx, ebx
mov dword [ebp - 0x14], ecx
mov esi, ebx
ror esi, 0xb
mov ecx, ebx
rol ecx, 7
not edx
xor esi, ecx
and edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, ebx
ror ecx, 6
xor esi, ecx
mov ecx, ebx
and ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0x9c]
xor edx, ecx
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 8]
add esi, 0x766a0abb
rol ecx, 0xa
add esi, edx
mov edx, eax
ror edx, 0xd
add edi, esi
xor edx, ecx
mov dword [ebp - 0x1c], edi
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 4]
mov eax, ecx
add edx, esi
and ecx, dword [ebp - 0x14]
mov esi, edi
or eax, dword [ebp - 0x14]
and eax, dword [ebp + 8]
or eax, ecx
ror esi, 0xb
mov ecx, edi
mov dword [ebp - 8], eax
add dword [ebp - 8], edx
mov edx, edi
rol ecx, 7
not edx
xor esi, ecx
mov ecx, edi
ror ecx, 6
xor esi, ecx
and edx, dword [ebp - 0x20]
add esi, dword [ebp - 0x98]
mov ecx, ebx
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 8]
add edx, esi
mov esi, dword [ebp - 0x10]
add esi, 0x81c2c92e
add esi, edx
mov edx, ecx
add dword [ebp + 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
mov eax, ecx
add edx, esi
and ecx, dword [ebp - 8]
or eax, dword [ebp - 8]
and eax, dword [ebp - 4]
or eax, ecx
add eax, edx
mov edx, dword [ebp + 8]
mov esi, edx
mov dword [ebp - 0x10], eax
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
add esi, dword [ebp - 0x94]
mov ecx, edi
and ecx, dword [ebp + 8]
xor edx, ecx
mov ebx, dword [ebp - 0x14]
add edx, esi
mov ecx, eax
mov esi, dword [ebp - 0x20]
add esi, 0x92722c85
rol ecx, 0xa
add esi, edx
mov edx, eax
add dword [ebp - 4], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
add edx, esi
or dword [ebp - 0x24], eax
and ecx, eax
and dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x18]
or eax, ecx
add eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x30
jae 0x409b14
mov ecx, 0x30
mov dword [ebp - 0x28], 0x30
sub ecx, eax
lea ebx, [ebp + eax*4 - 0x138]
mov dword [ebp - 0x20], ecx
mov eax, ecx
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x409ad0
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edi, edx
add esi, dword [ebp - 0x90]
mov ecx, dword [ebp + 8]
and ecx, dword [ebp - 4]
xor edi, ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xa2bfe8a1
add edi, esi
add edi, ebx
mov ebx, dword [ebp - 0x24]
add ecx, edi
mov esi, ebx
mov dword [ebp - 0x14], ecx
mov ecx, ebx
rol ecx, 0xa
ror esi, 0xd
xor esi, ecx
mov ecx, ebx
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and ecx, ebx
or edx, ebx
and edx, dword [ebp - 8]
or edx, ecx
lea ebx, [edi + esi]
mov edi, dword [ebp - 0x14]
add edx, 0xa2bfe8a1
add ebx, edx
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 4]
add esi, dword [ebp - 0x8c]
xor edx, ecx
add edx, esi
mov ecx, ebx
mov esi, dword [ebp - 0x1c]
rol ecx, 0xa
add esi, 0xa81a664b
add esi, edx
mov edx, ebx
add dword [ebp - 8], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 0x24]
add edx, esi
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
mov ecx, ebx
and ecx, dword [ebp - 0x24]
or dword [ebp - 0xc], ecx
add dword [ebp - 0xc], edx
mov edx, dword [ebp - 8]
mov esi, edx
ror esi, 0xb
mov ecx, edx
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 4]
xor esi, ecx
add esi, dword [ebp - 0x88]
mov ecx, edi
and ecx, dword [ebp - 8]
xor edx, ecx
mov ecx, dword [ebp - 0xc]
add edx, esi
mov esi, dword [ebp + 8]
add esi, 0xc24b8b70
add esi, edx
mov edx, ecx
rol ecx, 0xa
add dword [ebp - 0x10], esi
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 0xc]
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, dword [ebp - 0xc]
add edx, esi
and ecx, dword [ebp - 0x24]
mov dword [ebp + 8], ecx
mov ecx, ebx
and ecx, dword [ebp - 0xc]
or dword [ebp + 8], ecx
add dword [ebp + 8], edx
mov edx, dword [ebp - 0x10]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, edi
add esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x10]
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov esi, dword [ebp - 4]
add esi, 0xc76c51a3
add esi, edx
mov edx, ecx
add dword [ebp - 0x24], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp + 8]
add edx, esi
and ecx, ebx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp + 8]
or dword [ebp - 4], ecx
add dword [ebp - 4], edx
mov edx, dword [ebp - 0x24]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, dword [ebp - 8]
add esi, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x24]
xor edx, ecx
add edx, esi
add edi, edx
lea ecx, [edi - 0x2e6d17e7]
add ecx, ebx
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
mov esi, ebx
ror esi, 0xd
mov ecx, ebx
rol ecx, 0xa
xor esi, ecx
mov ecx, ebx
ror ecx, 2
xor esi, ecx
mov ecx, dword [ebp + 8]
mov edx, ecx
add edi, esi
or edx, ebx
and ecx, ebx
and edx, dword [ebp - 0xc]
or edx, ecx
add edx, 0xd192e819
add edi, edx
mov edx, dword [ebp - 0x18]
mov esi, edx
mov dword [ebp - 0x14], edi
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x10]
xor esi, ecx
add esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x24]
xor edx, ecx
mov ecx, edi
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 8]
add esi, 0xd6990624
add esi, edx
mov edx, edi
add dword [ebp - 0xc], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
mov edi, ebx
or edi, dword [ebp - 0x14]
xor edx, ecx
and edi, dword [ebp + 8]
add edx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x14]
mov esi, ebx
or edi, ecx
ror esi, 0xb
mov ecx, ebx
add edi, edx
rol ecx, 7
mov edx, ebx
xor esi, ecx
mov dword [ebp - 0x1c], edi
mov ecx, ebx
not edx
and edx, dword [ebp - 0x24]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x18]
and ecx, ebx
xor edx, ecx
add esi, dword [ebp - 0x78]
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x10]
rol ecx, 0xa
add esi, 0xf40e3585
add esi, edx
mov edx, edi
add dword [ebp + 8], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x14]
mov ebx, ecx
add edx, esi
and ecx, edi
or ebx, edi
and ebx, dword [ebp - 4]
or ebx, ecx
add ebx, edx
mov edx, dword [ebp + 8]
mov esi, edx
mov dword [ebp - 0x10], ebx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
or edi, ebx
xor esi, ecx
and edi, dword [ebp - 0x14]
mov ecx, edx
not edx
and edx, dword [ebp - 0x18]
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp + 8]
add esi, dword [ebp - 0x74]
xor edx, ecx
add edx, esi
mov ecx, ebx
mov esi, dword [ebp - 0x24]
add esi, 0x106aa070
rol ecx, 0xa
add esi, edx
mov edx, ebx
add dword [ebp - 4], esi
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
and ecx, ebx
add edx, esi
or edi, ecx
add edi, edx
mov dword [ebp - 0x20], edi
cmp eax, 0x38
jae 0x409e91
mov ecx, 0x38
mov dword [ebp - 0x28], 0x38
sub ecx, eax
lea ebx, [ebp + eax*4 - 0x138]
mov dword [ebp - 8], ecx
mov eax, ecx
nop dword [eax]
mov edx, dword [ebx - 0x34]
lea ebx, [ebx + 4]
mov esi, dword [ebx - 4]
mov edi, edx
mov ecx, edx
rol edi, 0xe
ror ecx, 7
xor edi, ecx
shr edx, 3
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xd
rol edx, 0xf
xor edx, ecx
shr esi, 0xa
xor edx, esi
add edi, edx
add edi, dword [ebx - 0x3c]
add edi, dword [ebx - 0x18]
mov dword [ebx + 4], edi
sub eax, 1
jne 0x409e50
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
or ebx, edi
mov esi, eax
and ebx, dword [ebp - 0x1c]
ror esi, 0xb
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
not edx
and edx, dword [ebp - 0xc]
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp + 8]
add esi, dword [ebp - 0x70]
and ecx, eax
xor edx, ecx
mov eax, dword [ebp - 0x10]
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x18]
rol ecx, 0xa
add esi, 0x19a4c116
add esi, edx
mov edx, edi
add dword [ebp - 0x14], esi
ror edx, 0xd
xor edx, ecx
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, eax
and ecx, edi
add edx, esi
mov edi, dword [ebp - 0x14]
or ebx, ecx
add ebx, edx
mov esi, edi
ror esi, 0xb
mov ecx, edi
rol ecx, 7
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp + 8]
mov ecx, edi
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 4]
add esi, dword [ebp - 0x6c]
and ecx, edi
xor edx, ecx
mov edi, ebx
or edi, dword [ebp - 0x20]
add edx, esi
mov esi, dword [ebp - 0xc]
mov ecx, ebx
add esi, 0x1e376c08
rol ecx, 0xa
add esi, edx
and edi, eax
add dword [ebp - 0x1c], esi
mov edx, ebx
ror edx, 0xd
xor edx, ecx
mov ecx, ebx
ror ecx, 2
xor edx, ecx
mov ecx, ebx
and ecx, dword [ebp - 0x20]
add edx, esi
or edi, ecx
add edi, edx
mov edx, dword [ebp - 0x1c]
mov esi, edx
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 4]
xor esi, ecx
add esi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x1c]
xor edx, ecx
mov ecx, edi
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp + 8]
add esi, 0x2748774c
add esi, edx
mov edx, edi
ror edx, 0xd
add eax, esi
xor edx, ecx
mov dword [ebp - 0x10], eax
mov ecx, edi
ror ecx, 2
xor edx, ecx
mov ecx, ebx
or ecx, edi
add edx, esi
and ecx, dword [ebp - 0x20]
mov esi, eax
mov dword [ebp + 8], ecx
mov ecx, ebx
and ecx, edi
ror esi, 0xb
or dword [ebp + 8], ecx
mov ecx, eax
add dword [ebp + 8], edx
mov edx, eax
rol ecx, 7
not edx
and edx, dword [ebp - 0x14]
xor esi, ecx
mov ecx, eax
ror ecx, 6
xor esi, ecx
mov ecx, dword [ebp - 0x1c]
add esi, dword [ebp - 0x64]
and ecx, eax
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov esi, dword [ebp - 4]
add esi, 0x34b0bcb5
add esi, edx
mov edx, ecx
add dword [ebp - 0x20], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 8]
ror ecx, 2
xor edx, ecx
mov ecx, edi
or ecx, dword [ebp + 8]
add edx, esi
and ecx, ebx
mov dword [ebp - 8], ecx
mov ecx, edi
and ecx, dword [ebp + 8]
or dword [ebp - 8], ecx
add dword [ebp - 8], edx
mov edx, dword [ebp - 0x20]
mov esi, edx
mov ecx, edx
ror esi, 0xb
rol ecx, 7
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
and edx, dword [ebp - 0x1c]
xor esi, ecx
mov ecx, eax
and ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0x60]
xor edx, ecx
add edx, esi
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x14]
add esi, 0x391c0cb3
add esi, edx
mov edx, ecx
rol ecx, 0xa
add ebx, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 8]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp + 8]
add edx, esi
mov eax, ecx
and ecx, dword [ebp - 8]
mov esi, ebx
or eax, dword [ebp - 8]
and eax, edi
ror esi, 0xb
or eax, ecx
mov ecx, ebx
rol ecx, 7
xor esi, ecx
mov dword [ebp - 0x18], eax
add dword [ebp - 0x18], edx
mov ecx, ebx
ror ecx, 6
mov edx, ebx
xor esi, ecx
not edx
and edx, dword [ebp - 0x10]
mov ecx, ebx
and ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0x5c]
xor edx, ecx
mov ecx, dword [ebp - 0x18]
add edx, esi
mov esi, dword [ebp - 0x1c]
add esi, 0x4ed8aa4a
add esi, edx
mov edx, ecx
rol ecx, 0xa
add edi, esi
ror edx, 0xd
xor edx, ecx
mov dword [ebp - 0x14], edi
mov ecx, dword [ebp - 0x18]
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 8]
mov edi, ecx
mov dword [ebp - 0xc], ecx
and ecx, dword [ebp - 0x18]
add edx, esi
or edi, dword [ebp - 0x18]
and edi, dword [ebp + 8]
mov eax, edi
mov dword [ebp - 0xc], edi
mov edi, dword [ebp - 0x14]
or eax, ecx
mov esi, edi
mov ecx, edi
rol ecx, 7
add eax, edx
ror esi, 0xb
mov edx, edi
xor esi, ecx
mov dword [ebp - 0xc], eax
mov ecx, edi
not edx
and edx, dword [ebp - 0x20]
ror ecx, 6
xor esi, ecx
mov ecx, ebx
and ecx, edi
xor edx, ecx
add esi, dword [ebp - 0x58]
mov ecx, eax
add edx, esi
rol ecx, 0xa
mov esi, dword [ebp - 0x10]
add esi, 0x5b9cca4f
add esi, edx
mov edx, eax
add dword [ebp + 8], esi
ror edx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0x18]
mov edi, ecx
add edx, esi
and ecx, eax
or edi, eax
and edi, dword [ebp - 8]
or edi, ecx
mov dword [ebp - 4], edi
add dword [ebp - 4], edx
mov edx, dword [ebp + 8]
mov esi, edx
mov edi, dword [ebp - 0x14]
mov ecx, edx
rol ecx, 7
ror esi, 0xb
xor esi, ecx
mov ecx, edx
ror ecx, 6
not edx
xor esi, ecx
and edx, ebx
add esi, dword [ebp - 0x54]
mov ecx, edi
and ecx, dword [ebp + 8]
xor edx, ecx
mov ecx, dword [ebp - 4]
add edx, esi
mov esi, dword [ebp - 0x20]
add esi, 0x682e6ff3
add esi, edx
mov edx, ecx
add dword [ebp - 8], esi
rol ecx, 0xa
ror edx, 0xd
xor edx, ecx
mov ecx, dword [ebp - 4]
ror ecx, 2
xor edx, ecx
mov ecx, eax
or ecx, dword [ebp - 4]
add edx, esi
and ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov ecx, eax
and ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
or eax, ecx
add eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x40
jae 0x40a1f5
mov ebx, 0x40
lea edi, [ebp + eax*4 - 0x138]
sub ebx, eax
mov ecx, dword [edi - 0x34]
lea edi, [edi + 4]
mov edx, dword [edi - 4]
mov esi, ecx
mov eax, ecx
rol esi, 0xe
ror eax, 7
xor esi, eax
shr ecx, 3
xor esi, ecx
mov eax, edx
mov ecx, edx
rol eax, 0xd
rol ecx, 0xf
xor ecx, eax
shr edx, 0xa
xor ecx, edx
add esi, ecx
add esi, dword [edi - 0x3c]
add esi, dword [edi - 0x18]
mov dword [edi + 4], esi
sub ebx, 1
jne 0x40a1b4
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 8]
mov edx, esi
ror edx, 0xb
mov eax, esi
rol eax, 7
mov ecx, esi
xor edx, eax
not ecx
and ecx, edi
mov eax, esi
mov edi, dword [ebp - 0x1c]
ror eax, 6
xor edx, eax
mov eax, dword [ebp + 8]
add edx, dword [ebp - 0x50]
and eax, esi
xor ecx, eax
mov eax, edi
add ecx, edx
rol eax, 0xa
lea edx, [ebx + 0x748f82ee]
mov ebx, dword [ebp - 0x18]
add edx, ecx
mov ecx, edi
ror ecx, 0xd
add ebx, edx
xor ecx, eax
mov dword [ebp - 0x18], ebx
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, dword [ebp - 4]
add ecx, edx
mov edi, eax
and eax, dword [ebp - 0x1c]
mov edx, ebx
or edi, dword [ebp - 0x1c]
and edi, dword [ebp - 0xc]
or edi, eax
ror edx, 0xb
add edi, ecx
mov eax, ebx
rol eax, 7
mov ecx, ebx
xor edx, eax
mov dword [ebp - 0x10], edi
not ecx
mov eax, ebx
mov ebx, dword [ebp + 8]
and ecx, ebx
ror eax, 6
xor edx, eax
mov eax, esi
and eax, dword [ebp - 0x18]
mov esi, edi
add edx, dword [ebp - 0x4c]
xor ecx, eax
or esi, dword [ebp - 0x1c]
add ecx, edx
mov edx, dword [ebp - 0x14]
mov eax, edi
and esi, dword [ebp - 4]
add edx, 0x78a5636f
add edx, ecx
rol eax, 0xa
add dword [ebp - 0xc], edx
mov ecx, edi
ror ecx, 0xd
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, edi
and eax, dword [ebp - 0x1c]
add ecx, edx
or esi, eax
add esi, ecx
mov ecx, dword [ebp - 0xc]
mov edx, ecx
mov dword [ebp + 8], esi
ror edx, 0xb
mov eax, ecx
rol eax, 7
xor edx, eax
mov eax, ecx
ror eax, 6
not ecx
and ecx, dword [ebp - 8]
xor edx, eax
add edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
and eax, dword [ebp - 0xc]
xor ecx, eax
mov eax, esi
add ecx, edx
rol eax, 0xa
lea edx, [ebx - 0x7b3787ec]
mov ebx, edi
add edx, ecx
or ebx, esi
add dword [ebp - 4], edx
mov ecx, esi
and ebx, dword [ebp - 0x1c]
ror ecx, 0xd
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, edi
mov edi, dword [ebp - 4]
add ecx, edx
and eax, esi
mov edx, edi
or ebx, eax
ror edx, 0xb
add ebx, ecx
mov eax, edi
rol eax, 7
mov ecx, edi
xor edx, eax
mov dword [ebp - 0x14], ebx
mov eax, edi
not ecx
and ecx, dword [ebp - 0x18]
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0xc]
add edx, dword [ebp - 0x44]
and eax, edi
xor ecx, eax
mov edi, esi
add ecx, edx
mov eax, ebx
mov edx, dword [ebp - 8]
or edi, ebx
and edi, dword [ebp - 0x10]
add edx, 0x8cc70208
add edx, ecx
rol eax, 0xa
add dword [ebp - 0x1c], edx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, esi
mov esi, dword [ebp - 0x1c]
and eax, ebx
or edi, eax
add ecx, edx
mov edx, esi
mov eax, esi
rol eax, 7
add edi, ecx
ror edx, 0xb
mov ecx, esi
xor edx, eax
mov dword [ebp - 0x28], edi
mov eax, esi
ror eax, 6
xor edx, eax
add edx, dword [ebp - 0x40]
not ecx
and ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
and eax, esi
mov esi, ebx
xor ecx, eax
or esi, edi
add ecx, edx
and esi, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov eax, edi
rol eax, 0xa
add edx, 0x90befffa
add edx, ecx
mov ecx, edi
add dword [ebp - 0x10], edx
ror ecx, 0xd
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
mov eax, ebx
mov ebx, dword [ebp - 0x10]
add ecx, edx
and eax, edi
mov edx, ebx
or esi, eax
ror edx, 0xb
add esi, ecx
mov eax, ebx
rol eax, 7
mov ecx, ebx
xor edx, eax
mov dword [ebp - 0x20], esi
not ecx
mov eax, ebx
and ecx, dword [ebp - 4]
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x1c]
mov ebx, edi
add edx, dword [ebp - 0x3c]
xor ecx, eax
add ecx, edx
mov eax, esi
mov edx, dword [ebp - 0xc]
or ebx, esi
and ebx, dword [ebp - 0x14]
add edx, 0xa4506ceb
add edx, ecx
rol eax, 0xa
add dword [ebp + 8], edx
mov ecx, esi
ror ecx, 0xd
xor ecx, eax
mov eax, esi
ror eax, 2
xor ecx, eax
mov eax, edi
mov edi, dword [ebp + 8]
and eax, esi
add ecx, edx
or ebx, eax
mov edx, edi
mov eax, edi
rol eax, 7
add ebx, ecx
ror edx, 0xb
mov ecx, edi
xor edx, eax
not ecx
and ecx, dword [ebp - 0x1c]
mov eax, edi
ror eax, 6
xor edx, eax
mov eax, dword [ebp - 0x10]
and eax, edi
xor ecx, eax
add edx, dword [ebp - 0x38]
add ecx, edx
mov eax, ebx
mov edx, dword [ebp - 4]
mov edi, esi
rol eax, 0xa
add edx, 0xbef9a3f7
add edx, ecx
or edi, ebx
add dword [ebp - 0x14], edx
mov ecx, ebx
and edi, dword [ebp - 0x28]
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 2
xor ecx, eax
mov eax, esi
mov esi, dword [ebp - 0x14]
and eax, ebx
add ecx, edx
or edi, eax
add edi, ecx
mov edx, esi
ror edx, 0xb
mov eax, esi
rol eax, 7
mov ecx, esi
xor edx, eax
not ecx
and ecx, dword [ebp - 0x10]
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, dword [ebp + 8]
add edx, dword [ebp - 0x34]
and eax, esi
mov esi, dword [ebp - 0x1c]
xor ecx, eax
add ecx, edx
mov eax, edi
rol eax, 0xa
mov edx, edi
ror edx, 0xd
add esi, 0xc67178f2
xor edx, eax
add esi, ecx
mov eax, edi
mov ecx, ebx
ror eax, 2
or ecx, edi
and ecx, dword [ebp - 0x20]
xor edx, eax
add edx, dword [ebp - 0x2c]
mov eax, ebx
and eax, edi
or ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, edx
mov edx, dword [ebp - 0x30]
add ecx, esi
add dword [edx + 0x58], eax
mov eax, dword [edx + 0x5c]
add dword [edx + 0x50], edi
add eax, esi
add eax, dword [ebp - 0x28]
add dword [edx + 0x54], ebx
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x14]
add dword [edx + 0x60], eax
mov eax, dword [ebp + 8]
add dword [edx + 0x64], eax
mov eax, dword [ebp - 0x10]
add dword [edx + 0x68], eax
pop edi
pop esi
mov dword [edx + 0x4c], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4