Function at 0x10012900
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0xb8
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x94], eax
mov eax, dword [eax + 8]
mov dword [esp + 4], ebx
mov ebx, edi
mov edi, dword [ebp + 0x18]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov eax, dword [edx]
mov dword [esp + 0x14], ebx
bswap eax
mov dword [esp + 0x40], eax
mov eax, ebx
mov ebx, ebp
xor eax, edi
mov dword [esp + 0x18], ecx
mov edx, eax
mov eax, ecx
ror eax, 0xe
and edx, ecx
xor eax, ecx
xor edx, edi
add edx, dword [ebp + 0x1c]
ror eax, 5
xor eax, ecx
ror eax, 6
lea ebp, [edx + eax + 0x428a2f98]
mov edx, dword [esp + 0x40]
lea ecx, [ebp + edx]
mov ebp, dword [ebx + 0xc]
mov ebx, esi
ror ebx, 9
add ebp, ecx
mov eax, ebx
mov ebx, dword [esp + 4]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x10]
xor eax, esi
ror eax, 0xb
mov edx, ebp
xor eax, esi
and ebp, ebx
xor edx, ebx
ror eax, 2
and edx, esi
add ebp, edx
mov edx, dword [esp + 0xc]
add ebp, eax
mov eax, dword [esp + 0x14]
add ecx, ebp
mov ebp, dword [esp + 8]
mov dword [esp], ecx
mov ecx, dword [edx + 4]
mov edx, ecx
mov ecx, dword [esp + 0x18]
bswap edx
mov ebx, edx
mov dword [esp + 0x24], edx
xor ecx, eax
mov edx, ecx
and edx, ebp
xor edx, eax
lea eax, [ebx + edi + 0x71374491]
mov edi, ebp
ror edi, 0xe
add eax, edx
xor edi, ebp
ror edi, 5
xor edi, ebp
ror edi, 6
lea edx, [eax + edi]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp]
mov ebx, ecx
add edi, edx
ror ebx, 9
mov dword [esp + 0x10], edi
mov edi, dword [esp + 4]
mov eax, ebx
mov ebx, dword [esp + 4]
xor eax, ecx
xor edi, esi
ror eax, 0xb
and ebx, esi
and edi, ecx
xor eax, ecx
add edi, ebx
ror eax, 2
add edi, eax
add edi, edx
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x18]
bswap ebx
mov dword [esp + 0x20], ebx
mov ecx, eax
xor ecx, ebp
mov ebp, edi
and ecx, edx
ror ebp, 9
xor ecx, eax
mov eax, dword [esp + 0x14]
lea eax, [ebx + eax - 0x4a3f0431]
mov ebx, dword [esp]
add eax, ecx
mov ecx, edx
ror edx, 0xe
xor edx, ecx
and ebx, esi
ror edx, 5
xor edx, ecx
ror edx, 6
lea ecx, [eax + edx]
mov eax, dword [esp + 4]
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, ebp
mov ebp, dword [esp]
xor eax, edi
xor ebp, esi
ror eax, 0xb
mov edx, ebp
xor eax, edi
and edx, edi
ror eax, 2
add edx, ebx
add edx, eax
mov eax, dword [esp + 0xc]
add edx, ecx
mov ecx, dword [esp + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [esp + 0x14]
mov ebp, ebx
mov ebx, dword [esp + 0x10]
bswap ebp
mov dword [esp + 0x2c], ebp
xor ebx, ecx
and ebx, eax
xor ebx, ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ebp + ecx - 0x164a245b]
mov ebp, edx
add ecx, ebx
mov ebx, eax
ror eax, 0xe
xor eax, ebx
ror ebp, 9
ror eax, 5
xor eax, ebx
ror eax, 6
lea ebx, [ecx + eax]
mov ecx, ebp
lea eax, [esi + ebx]
mov esi, dword [esp]
xor ecx, edx
mov dword [esp + 4], eax
ror ecx, 0xb
mov ebp, esi
xor ecx, edx
xor ebp, edi
ror ecx, 2
mov eax, ebp
mov ebp, esi
mov esi, dword [esp + 0x10]
and ebp, edi
and eax, edx
add eax, ebp
add eax, ecx
mov ecx, dword [esp + 0xc]
add eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x10]
xor ebx, esi
and ebx, dword [esp + 4]
xor ebx, esi
mov esi, dword [esp + 8]
mov ebp, ecx
bswap ebp
mov dword [esp + 0x1c], ebp
lea ecx, [esi + ebp + 0x3956c25b]
mov ebp, edi
add ecx, ebx
mov ebx, dword [esp + 4]
mov esi, ebx
ror esi, 0xe
xor esi, ebx
ror esi, 5
xor esi, ebx
ror esi, 6
lea ebx, [ecx + esi]
mov esi, dword [esp]
add esi, ebx
mov dword [esp + 0x28], esi
mov esi, eax
ror esi, 9
mov ecx, esi
mov esi, edi
xor ecx, eax
ror ecx, 0xb
xor esi, edx
and ebp, edx
xor ecx, eax
and esi, eax
ror ecx, 2
add esi, ebp
add esi, ecx
lea ecx, [esi + ebx]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x14]
mov ebp, ecx
bswap ebp
mov dword [esp + 8], ebp
mov ebp, dword [esp + 4]
mov ecx, dword [esp + 8]
xor ebp, ebx
and ebp, esi
xor ebp, ebx
mov ebx, dword [esp + 0x10]
lea ecx, [ebx + ecx + 0x59f111f1]
mov ebx, esi
ror ebx, 0xe
add ecx, ebp
xor ebx, esi
ror ebx, 5
xor ebx, esi
ror ebx, 6
lea ebp, [ecx + ebx]
add edi, ebp
mov dword [esp + 0x30], edi
mov edi, dword [esp]
mov esi, edi
ror esi, 9
mov ecx, esi
mov esi, edx
xor esi, eax
xor ecx, edi
ror ecx, 0xb
mov ebx, esi
mov esi, edx
and esi, eax
xor ecx, edi
and ebx, edi
mov edi, dword [esp + 0x28]
ror ecx, 2
add ebx, esi
mov esi, dword [esp + 0x30]
add ebx, ecx
mov ecx, dword [esp + 0xc]
add ebx, ebp
mov ebp, dword [esp + 4]
mov ecx, dword [ecx + 0x18]
xor edi, ebp
bswap ecx
mov dword [esp + 0x10], ecx
mov ecx, edi
mov edi, dword [esp + 0x14]
and ecx, esi
xor ecx, ebp
mov ebp, dword [esp + 0x10]
lea edi, [edi + ebp - 0x6dc07d5c]
mov ebp, esi
add edi, ecx
ror ebp, 0xe
xor ebp, esi
ror ebp, 5
xor ebp, esi
mov esi, ebx
ror ebp, 6
ror esi, 9
lea ecx, [edi + ebp]
mov edi, dword [esp]
add edx, ecx
mov dword [esp + 0x38], edx
mov edx, esi
mov esi, eax
xor esi, edi
xor edx, ebx
ror edx, 0xb
mov ebp, esi
mov esi, eax
and esi, edi
xor edx, ebx
and ebp, ebx
mov edi, dword [esp + 0x28]
ror edx, 2
add ebp, esi
add ebp, edx
add ebp, ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [esp + 0x38]
bswap edx
mov esi, edx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x30]
xor edx, edi
and edx, ecx
xor edx, edi
mov edi, dword [esp + 4]
lea edi, [edi + esi - 0x54e3a12b]
mov esi, ebp
add edi, edx
mov edx, ecx
ror ecx, 0xe
xor ecx, edx
ror esi, 9
ror ecx, 5
xor ecx, edx
ror ecx, 6
lea edx, [edi + ecx]
mov edi, dword [esp]
add eax, edx
mov dword [esp + 4], eax
mov eax, esi
mov esi, edi
xor eax, ebp
ror eax, 0xb
xor eax, ebp
ror eax, 2
xor esi, ebx
mov ecx, esi
mov esi, edi
and esi, ebx
and ecx, ebp
add ecx, esi
add ecx, eax
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x38]
add ecx, edx
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
mov esi, eax
mov eax, dword [esp + 0x30]
bswap esi
lea edx, [edx + esi - 0x27f85568]
mov dword [esp + 0x34], esi
mov esi, ecx
xor edi, eax
and edi, dword [esp + 4]
ror esi, 9
xor edi, eax
xor esi, ecx
add edx, edi
mov edi, dword [esp + 4]
ror esi, 0xb
xor esi, ecx
mov eax, edi
ror esi, 2
ror eax, 0xe
xor eax, edi
ror eax, 5
xor eax, edi
ror eax, 6
lea edi, [edx + eax]
mov eax, dword [esp]
mov edx, ebx
and edx, ebp
add eax, edi
mov dword [esp], eax
mov eax, ebx
xor eax, ebp
and eax, ecx
add eax, edx
add eax, esi
add eax, edi
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x24]
mov edi, dword [esp + 0x38]
mov esi, edx
mov edx, dword [esp + 0x30]
bswap esi
mov dword [esp + 0x50], esi
mov esi, dword [esp + 4]
xor esi, edi
and esi, dword [esp]
xor esi, edi
mov edi, dword [esp + 0x50]
lea edx, [edx + edi + 0x12835b01]
add edx, esi
mov esi, dword [esp]
mov edi, esi
ror edi, 0xe
xor edi, esi
ror edi, 5
xor edi, esi
ror edi, 6
lea esi, [edx + edi]
mov edx, eax
add ebx, esi
ror edx, 9
mov dword [esp + 0x14], ebx
mov ebx, ebp
xor edx, eax
xor ebx, ecx
ror edx, 0xb
mov edi, ebx
mov ebx, ebp
xor edx, eax
and ebx, ecx
and edi, eax
ror edx, 2
add edi, ebx
mov ebx, dword [esp]
add edi, edx
add edi, esi
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x28]
mov esi, dword [esp + 0x14]
bswap edx
mov dword [esp + 0x54], edx
mov edx, dword [esp + 4]
xor ebx, edx
and esi, ebx
mov ebx, dword [esp + 0x38]
xor esi, edx
mov edx, dword [esp + 0x54]
lea edx, [ebx + edx + 0x243185be]
add edx, esi
mov esi, dword [esp + 0x14]
mov ebx, esi
ror ebx, 0xe
xor ebx, esi
ror ebx, 5
xor ebx, esi
ror ebx, 6
lea esi, [edx + ebx]
lea ebx, [ebp + esi]
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, edi
ror ebx, 9
mov edx, ebx
mov ebx, ecx
xor edx, edi
xor ebx, eax
ror edx, 0xb
xor edx, edi
ror edx, 2
and ebx, edi
and ebp, eax
add ebx, ebp
add ebx, edx
add ebx, esi
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x2c]
mov ebp, edx
bswap ebp
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 4]
xor esi, ebp
and esi, dword [esp + 0x38]
xor esi, ebp
mov ebp, dword [esp + 0x4c]
lea edx, [edx + ebp + 0x550c7dc3]
mov ebp, dword [esp + 0x38]
add edx, esi
mov esi, ebp
ror esi, 0xe
xor esi, ebp
ror esi, 5
xor esi, ebp
mov ebp, eax
ror esi, 6
and ebp, edi
add esi, edx
add ecx, esi
mov dword [esp + 0x3c], ecx
mov ecx, ebx
ror ecx, 9
mov edx, ecx
mov ecx, eax
xor edx, ebx
xor ecx, edi
ror edx, 0xb
and ecx, ebx
xor edx, ebx
add ecx, ebp
mov ebp, dword [esp + 0x38]
ror edx, 2
add ecx, edx
add ecx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
mov edx, dword [esi + 0x30]
bswap edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
xor ebp, edx
and ebp, dword [esp + 0x3c]
xor ebp, edx
mov edx, dword [esp]
lea ecx, [edx + ecx + 0x72be5d74]
mov edx, dword [esp + 0x3c]
add ecx, ebp
mov ebp, edx
ror ebp, 0xe
xor ebp, edx
ror ebp, 5
xor ebp, edx
mov edx, edi
ror ebp, 6
xor edx, ebx
add ebp, ecx
mov ecx, dword [esp + 0x58]
add eax, ebp
mov dword [esp + 0x28], eax
mov eax, ecx
and edx, ecx
ror eax, 9
xor eax, ecx
ror eax, 0xb
xor eax, ecx
mov ecx, edi
and ecx, ebx
ror eax, 2
add edx, ecx
add edx, eax
lea eax, [edx + ebp]
mov edx, dword [esi + 0x34]
mov ecx, eax
mov eax, dword [esp + 0x38]
mov ebp, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 4], ecx
bswap ebp
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x3c]
xor ebp, eax
and ebp, dword [esp + 0x28]
xor ebp, eax
mov eax, dword [esp + 0x44]
lea eax, [edx + eax - 0x7f214e02]
mov edx, dword [esp + 0x28]
add eax, ebp
mov ebp, edx
ror ebp, 0xe
xor ebp, edx
ror ebp, 5
xor ebp, edx
ror ebp, 6
add ebp, eax
mov eax, ecx
ror eax, 9
add edi, ebp
xor eax, ecx
ror eax, 0xb
xor eax, ecx
mov ecx, dword [esp + 0x58]
ror eax, 2
mov edx, ecx
xor edx, ebx
and ecx, ebx
and edx, dword [esp + 4]
add edx, ecx
add edx, eax
add ebp, edx
mov edx, dword [esi + 0x38]
mov esi, edx
bswap esi
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x90], 0x14292967
mov dword [esp + 0x8c], 0x6ca6351
xor edx, ecx
lea eax, [eax + esi - 0x6423f959]
mov dword [esp + 0x88], 0xd5a79147
and edx, edi
mov dword [esp + 0x7c], 0xb00327c8
xor edx, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x84], 0xc6e00bf3
add eax, edx
mov edx, edi
mov dword [esp + 0x80], 0xbf597fc7
ror edx, 0xe
mov dword [esp + 0x78], 0xa831c66d
xor edx, edi
mov dword [esp + 0x74], 0x983e5152
ror edx, 5
mov dword [esp + 0x70], 0x76f988da
xor edx, edi
mov dword [esp + 0x6c], 0x5cb0a9dc
ror edx, 6
mov dword [esp + 0x68], 0x4a7484aa
add edx, eax
mov eax, ebp
mov dword [esp + 0x64], 0x2de92c6f
add ebx, edx
ror eax, 9
mov dword [esp + 0x60], 0x240ca1cc
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
xor eax, ebp
ror eax, 0xb
mov dword [esp + 0x5c], 0xfc19dc6
xor ecx, ebx
xor eax, ebp
mov esi, ecx
mov ecx, dword [esp + 4]
ror eax, 2
and esi, ebp
and ecx, ebx
add esi, ecx
mov ecx, dword [esp + 0x3c]
add esi, eax
mov eax, dword [esp + 0xc]
add esi, edx
mov edx, dword [eax + 0x3c]
mov eax, dword [esp + 0x28]
bswap edx
mov dword [esp + 0x14], edx
mov edx, eax
xor edx, edi
and edx, dword [esp]
xor edx, eax
mov eax, dword [esp + 0x14]
lea eax, [ecx + eax - 0x3e640e8c]
mov ecx, dword [esp]
add eax, edx
mov edx, ecx
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
ror edx, 6
add edx, eax
lea eax, [ebx + edx]
mov ebx, dword [esp + 4]
mov dword [esp + 0xc], eax
mov eax, esi
ror eax, 9
mov ecx, ebx
and ebx, ebp
xor eax, esi
xor ecx, ebp
ror eax, 0xb
and ecx, esi
xor eax, esi
add ecx, ebx
mov ebx, 0xe49b69c1
ror eax, 2
add ecx, eax
lea eax, [ecx + edx]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], 0xefbe4786
mov dword [esp + 0x58], 0x10
mov eax, dword [esp + 0x30]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
rol edx, 0xf
xor edx, eax
mov eax, dword [esp + 0x24]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0xc]
add ecx, edx
add ecx, dword [esp + 0x50]
add dword [esp + 0x40], ecx
mov edx, eax
mov ecx, dword [esp + 0x40]
ror edx, 0xe
xor edx, eax
ror edx, 5
xor edx, eax
mov eax, dword [esp]
ror edx, 6
xor eax, edi
and eax, dword [esp + 0xc]
xor eax, edi
add eax, edx
mov edx, dword [esp + 4]
add eax, ecx
add eax, dword [esp + 0x28]
mov ecx, esi
add eax, ebx
mov ebx, dword [esp + 0x3c]
xor ecx, ebp
add edx, eax
mov dword [esp + 0x28], edx
mov edx, ebx
ror edx, 9
xor edx, ebx
ror edx, 0xb
xor edx, ebx
ror edx, 2
and ecx, ebx
mov ebx, esi
and ebx, ebp
add ebx, ecx
mov ecx, dword [esp + 0x20]
add ebx, edx
mov edx, dword [esp + 0x14]
add ebx, eax
mov eax, edx
ror eax, 2
xor eax, edx
shr edx, 0xa
rol eax, 0xf
xor eax, edx
mov edx, ecx
add eax, dword [esp + 0x54]
add eax, dword [esp + 0x24]
ror edx, 0xb
xor edx, ecx
shr ecx, 3
ror edx, 7
xor edx, ecx
mov ecx, dword [esp + 0x28]
add eax, edx
mov edx, dword [esp + 0xc]
xor edx, dword [esp]
mov dword [esp + 0x24], eax
mov eax, ecx
and edx, ecx
add edi, dword [esp + 0x24]
ror eax, 0xe
xor edx, dword [esp]
xor eax, ecx
add edi, edx
ror eax, 5
xor eax, ecx
ror eax, 6
add edi, eax
mov eax, dword [esp + 0x38]
add eax, edi
lea edi, [eax + ebp]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x38], edi
mov edi, ebx
ror edi, 9
mov edx, ebp
mov ecx, ebp
mov ebp, dword [esp + 0x2c]
xor edi, ebx
ror edi, 0xb
xor edx, esi
and ecx, esi
xor edi, ebx
and edx, ebx
add edx, ecx
ror edi, 2
mov ecx, dword [esp + 0x40]
add edi, edx
add edi, eax
mov edx, ecx
mov eax, ebp
ror eax, 0xb
ror edx, 2
xor eax, ebp
xor edx, ecx
shr ebp, 3
shr ecx, 0xa
ror eax, 7
rol edx, 0xf
xor eax, ebp
mov ebp, dword [esp + 0x38]
add eax, dword [esp + 0x4c]
xor edx, ecx
add eax, dword [esp + 0x20]
add eax, edx
mov ecx, ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
ror ecx, 0xe
mov edx, dword [esp + 0xc]
xor ecx, ebp
ror ecx, 5
xor eax, edx
xor ecx, ebp
and eax, ebp
mov ebp, dword [esp]
add ebp, dword [esp + 0x20]
ror ecx, 6
xor eax, edx
add eax, ebp
mov ebp, edi
add eax, ecx
add eax, dword [esp + 0x5c]
ror ebp, 9
lea ecx, [eax + esi]
mov dword [esp], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x3c]
xor ecx, edi
mov edx, ebp
ror ecx, 0xb
mov esi, ebp
xor edx, ebx
and esi, ebx
xor ecx, edi
and edx, edi
ror ecx, 2
add edx, esi
mov esi, dword [esp + 0x24]
add ecx, edx
mov edx, dword [esp + 0x1c]
add ecx, eax
mov eax, edx
ror eax, 0xb
xor eax, edx
shr edx, 3
ror eax, 7
xor eax, edx
mov edx, esi
add eax, dword [esp + 0x48]
add eax, dword [esp + 0x2c]
ror edx, 2
xor edx, esi
shr esi, 0xa
rol edx, 0xf
xor edx, esi
mov esi, dword [esp]
add eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov eax, esi
ror eax, 0xe
xor eax, esi
ror eax, 5
xor eax, esi
mov esi, dword [esp + 0x28]
ror eax, 6
xor edx, esi
and edx, dword [esp]
xor edx, esi
mov esi, dword [esp + 0xc]
add esi, dword [esp + 0x2c]
add edx, esi
mov esi, ebx
add edx, eax
mov eax, ecx
add edx, dword [esp + 0x60]
xor esi, edi
ror eax, 9
add ebp, edx
and esi, ecx
xor eax, ecx
mov dword [esp + 4], ebp
mov ebp, ebx
ror eax, 0xb
and ebp, edi
xor eax, ecx
add esi, ebp
mov ebp, dword [esp + 8]
ror eax, 2
add eax, esi
mov esi, ebp
add eax, edx
mov edx, ebp
shr esi, 3
ror edx, 0xb
xor edx, ebp
mov ebp, dword [esp + 0x20]
ror edx, 7
xor edx, esi
mov esi, ebp
add edx, dword [esp + 0x44]
add edx, dword [esp + 0x1c]
ror esi, 2
xor esi, ebp
shr ebp, 0xa
rol esi, 0xf
xor esi, ebp
mov ebp, dword [esp + 4]
add edx, esi
mov esi, dword [esp]
mov dword [esp + 0x1c], edx
mov edx, ebp
ror edx, 0xe
xor edx, ebp
ror edx, 5
xor edx, ebp
mov ebp, dword [esp + 0x38]
ror edx, 6
xor esi, ebp
and esi, dword [esp + 4]
xor esi, ebp
mov ebp, dword [esp + 0x28]
add ebp, dword [esp + 0x1c]
add esi, ebp
mov ebp, edi
add esi, edx
add esi, dword [esp + 0x64]
mov edx, edi
and ebp, ecx
add ebx, esi
xor edx, ecx
mov dword [esp + 0xc], ebx
mov ebx, eax
and edx, eax
ror ebx, 9
add edx, ebp
mov ebp, dword [esp + 0x2c]
xor ebx, eax
ror ebx, 0xb
xor ebx, eax
ror ebx, 2
add edx, ebx
add edx, esi
mov esi, dword [esp + 0x10]
mov ebx, esi
ror ebx, 0xb
xor ebx, esi
shr esi, 3
ror ebx, 7
xor ebx, esi
mov esi, ebp
add ebx, dword [esp + 0x30]
add ebx, dword [esp + 8]
ror esi, 2
xor esi, ebp
rol esi, 0xf
shr ebp, 0xa
xor esi, ebp
mov ebp, dword [esp]
add ebx, esi
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xc]
mov esi, ebx
ror esi, 0xe
xor esi, ebx
ror esi, 5
xor esi, ebx
mov ebx, dword [esp + 4]
ror esi, 6
xor ebx, ebp
and ebx, dword [esp + 0xc]
xor ebx, ebp
mov ebp, dword [esp + 0x38]
add ebp, dword [esp + 8]
add ebx, ebp
mov ebp, ecx
add ebx, esi
add ebx, dword [esp + 0x68]
and ebp, eax
add edi, ebx
mov dword [esp + 0x28], edi
mov edi, edx
ror edi, 9
mov esi, edi
mov edi, ecx
xor esi, edx
xor edi, eax
ror esi, 0xb
and edi, edx
xor esi, edx
add edi, ebp
mov ebp, dword [esp + 0x1c]
ror esi, 2
add esi, edi
mov edi, dword [esp + 0x18]
add esi, ebx
mov ebx, edi
ror ebx, 0xb
xor ebx, edi
shr edi, 3
ror ebx, 7
xor ebx, edi
mov edi, ebp
add ebx, dword [esp + 0x14]
add ebx, dword [esp + 0x10]
ror edi, 2
xor edi, ebp
shr ebp, 0xa
rol edi, 0xf
xor edi, ebp
mov ebp, dword [esp + 4]
add ebx, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], ebx
mov ebx, edi
ror ebx, 0xe
xor ebx, edi
ror ebx, 5
xor ebx, edi
mov edi, dword [esp + 0xc]
ror ebx, 6
xor edi, ebp
and edi, dword [esp + 0x28]
xor edi, ebp
mov ebp, dword [esp]
add ebp, dword [esp + 0x10]
add edi, ebp
mov ebp, eax
add edi, ebx
add edi, dword [esp + 0x6c]
and ebp, edx
lea ebx, [ecx + edi]
mov ecx, eax
mov dword [esp], ebx
mov ebx, esi
xor ecx, edx
ror ebx, 9
and ecx, esi
xor ebx, esi
add ecx, ebp
mov ebp, dword [esp + 8]
ror ebx, 0xb
xor ebx, esi
ror ebx, 2
add ebx, ecx
add ebx, edi
mov edi, dword [esp + 0x34]
mov ecx, edi
ror ecx, 0xb
xor ecx, edi
shr edi, 3
ror ecx, 7
xor ecx, edi
mov edi, ebp
add ecx, dword [esp + 0x40]
add ecx, dword [esp + 0x18]
ror edi, 2
xor edi, ebp
shr ebp, 0xa
rol edi, 0xf
xor edi, ebp
add ecx, edi
mov edi, dword [esp]
mov dword [esp + 0x18], ecx
mov ebp, dword [esp + 0xc]
mov ecx, edi
ror ecx, 0xe
xor ecx, edi
ror ecx, 5
xor ecx, edi
mov edi, dword [esp + 0x28]
ror ecx, 6
xor edi, ebp
and edi, dword [esp]
xor edi, ebp
mov ebp, dword [esp + 4]
add ebp, dword [esp + 0x18]
add edi, ebp
mov ebp, edx
add edi, ecx
mov ecx, ebx
add edi, dword [esp + 0x70]
ror ecx, 9
add eax, edi
xor ecx, ebx
mov dword [esp + 4], eax
mov eax, edx
ror ecx, 0xb
xor eax, esi
xor ecx, ebx
ror ecx, 2
and eax, ebx
and ebp, esi
add eax, ebp
mov ebp, dword [esp + 0x10]
add ecx, eax
add ecx, edi
mov edi, dword [esp + 0x50]
mov eax, edi
ror eax, 0xb
xor eax, edi
shr edi, 3
ror eax, 7
xor eax, edi
mov edi, ebp
add eax, dword [esp + 0x24]
add eax, dword [esp + 0x34]
ror edi, 2
xor edi, ebp
shr ebp, 0xa
rol edi, 0xf
xor edi, ebp
mov ebp, dword [esp + 0x28]
add eax, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x34], eax
mov eax, edi
ror eax, 0xe
xor eax, edi
ror eax, 5
xor eax, edi
mov edi, dword [esp]
ror eax, 6
xor edi, ebp
and edi, dword [esp + 4]
xor edi, ebp
mov ebp, dword [esp + 0xc]
add ebp, dword [esp + 0x34]
add edi, ebp
mov ebp, esi
add edi, eax
add edi, dword [esp + 0x74]
lea eax, [edx + edi]
mov dword [esp + 0xc], eax
mov eax, ecx
ror eax, 9
mov edx, eax
mov eax, esi
xor edx, ecx
ror edx, 0xb
xor eax, ebx
and ebp, ebx
xor edx, ecx
and eax, ecx
ror edx, 2
add eax, ebp
mov ebp, dword [esp + 0x18]
add eax, edx
add eax, edi
mov edi, dword [esp + 0x54]
mov edx, edi
ror edx, 0xb
xor edx, edi
shr edi, 3
ror edx, 7
xor edx, edi
mov edi, ebp
add edx, dword [esp + 0x20]
add edx, dword [esp + 0x50]
ror edi, 2
xor edi, ebp
shr ebp, 0xa
rol edi, 0xf
xor edi, ebp
mov ebp, dword [esp + 0x28]
add edx, edi
mov edi, dword [esp]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 4]
add ebp, dword [esp + 0x50]
xor edx, edi
and edx, dword [esp + 0xc]
xor edx, edi
add edx, ebp
mov ebp, dword [esp + 0xc]
mov edi, ebp
ror edi, 0xe
xor edi, ebp
ror edi, 5
xor edi, ebp
ror edi, 6
add edi, edx
mov edx, dword [esp + 0x78]
add edx, edi
lea edi, [esi + edx]
mov ebp, edx
mov edx, eax
mov esi, ebx
mov dword [esp + 0x38], edi
ror edx, 9
mov edi, ebx
and esi, ecx
xor edx, eax
xor edi, ecx
and edi, eax
ror edx, 0xb
xor edx, eax
add edi, esi
mov esi, dword [esp + 0x4c]
ror edx, 2
add edi, edx
mov edx, esi
ror edx, 0xb
add edi, ebp
mov ebp, dword [esp + 0x34]
xor edx, esi
shr esi, 3
ror edx, 7
xor edx, esi
mov esi, ebp
add edx, dword [esp + 0x2c]
add edx, dword [esp + 0x54]
ror esi, 2
xor esi, ebp
shr ebp, 0xa
rol esi, 0xf
xor esi, ebp
mov ebp, dword [esp + 0xc]
add edx, esi
mov esi, edx
mov edx, dword [esp + 4]
mov dword [esp + 0x54], esi
xor ebp, edx
and ebp, dword [esp + 0x38]
xor ebp, edx
mov edx, dword [esp]
add edx, esi
mov esi, dword [esp + 0x38]
add ebp, edx
mov edx, esi
ror edx, 0xe
xor edx, esi
ror edx, 5
xor edx, esi
mov esi, dword [esp + 0x7c]
ror edx, 6
add edx, ebp
mov ebp, ecx
add esi, edx
mov edx, edi
and ebp, eax
add ebx, esi
ror edx, 9
mov dword [esp], ebx
xor edx, edi
mov ebx, ecx
xor ebx, eax
ror edx, 0xb
xor edx, edi
and ebx, edi
add ebx, ebp
ror edx, 2
mov ebp, dword [esp + 0x50]
add edx, ebx
add edx, esi
mov esi, dword [esp + 0x48]
mov ebx, esi
ror ebx, 0xb
xor ebx, esi
shr esi, 3
ror ebx, 7
xor ebx, esi
mov esi, ebp
add ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x4c]
ror esi, 2
xor esi, ebp
shr ebp, 0xa
rol esi, 0xf
xor esi, ebp
add ebx, esi
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp]
mov ebp, ebx
ror ebp, 0xe
mov esi, ebp
mov ebp, dword [esp + 0xc]
xor esi, ebx
ror esi, 5
xor esi, ebx
mov ebx, dword [esp + 0x38]
ror esi, 6
xor ebx, ebp
and ebx, dword [esp]
xor ebx, ebp
mov ebp, dword [esp + 4]
add ebp, dword [esp + 0x4c]
add ebp, ebx
add ebp, esi
add ebp, dword [esp + 0x80]
mov esi, eax
add ecx, ebp
and esi, edi
mov dword [esp + 0x3c], ecx
mov ecx, edx
ror ecx, 9
mov ebx, ecx
mov ecx, eax
xor ebx, edx
xor ecx, edi
and ecx, edx
ror ebx, 0xb
xor ebx, edx
add ecx, esi
mov esi, dword [esp + 0x44]
ror ebx, 2
add ecx, ebx
mov ebx, esi
ror ebx, 0xb
add ecx, ebp
mov ebp, dword [esp + 0x54]
xor ebx, esi
shr esi, 3
ror ebx, 7
xor ebx, esi
mov esi, ebp
add ebx, dword [esp + 8]
add ebx, dword [esp + 0x48]
ror esi, 2
xor esi, ebp
rol esi, 0xf
shr ebp, 0xa
xor esi, ebp
mov ebp, dword [esp + 0x3c]
add ebx, esi
mov dword [esp + 0x48], ebx
mov ebx, ebp
ror ebx, 0xe
xor ebx, ebp
ror ebx, 5
xor ebx, ebp
mov ebp, dword [esp + 0x38]
mov esi, dword [esp]
ror ebx, 6
xor esi, ebp
and esi, dword [esp + 0x3c]
xor esi, ebp
mov ebp, dword [esp + 0xc]
add ebp, dword [esp + 0x48]
add esi, ebp
mov ebp, edi
add ebx, esi
add ebx, dword [esp + 0x84]
mov esi, edi
and ebp, edx
add eax, ebx
xor esi, edx
mov dword [esp + 0x28], eax
mov eax, ecx
and esi, ecx
ror eax, 9
add esi, ebp
xor eax, ecx
ror eax, 0xb
xor eax, ecx
ror eax, 2
add esi, eax
lea eax, [esi + ebx]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
mov ebp, esi
ror ebp, 0xb
mov eax, ebp
mov ebp, esi
xor eax, esi
mov esi, dword [esp + 0x4c]
shr ebp, 3
ror eax, 7
mov ebx, esi
xor eax, ebp
add eax, dword [esp + 0x10]
add eax, dword [esp + 0x44]
ror ebx, 2
xor ebx, esi
shr esi, 0xa
rol ebx, 0xf
xor ebx, esi
add ebx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp]
mov ebp, eax
mov esi, eax
ror ebp, 0xe
xor ebp, eax
ror ebp, 5
xor ebp, eax
mov eax, dword [esp + 0x3c]
ror ebp, 6
xor eax, ebx
and eax, esi
xor eax, ebx
mov ebx, dword [esp + 0x38]
add ebx, dword [esp + 0x44]
mov esi, ebx
mov ebx, dword [esp + 4]
add esi, eax
mov eax, edx
add esi, ebp
mov ebp, ebx
xor eax, ecx
add esi, dword [esp + 0x88]
ror ebp, 9
and eax, ebx
add edi, esi
xor ebp, ebx
ror ebp, 0xb
xor ebp, ebx
mov ebx, edx
and ebx, ecx
ror ebp, 2
add eax, ebx
add ebp, eax
add ebp, esi
mov esi, dword [esp + 0x14]
mov eax, esi
ror eax, 0xb
xor eax, esi
shr esi, 3
ror eax, 7
xor eax, esi
mov esi, dword [esp + 0x48]
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x30]
mov ebx, esi
ror ebx, 2
xor ebx, esi
shr esi, 0xa
rol ebx, 0xf
xor ebx, esi
add eax, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov eax, edi
ror eax, 0xe
mov esi, eax
mov eax, dword [esp + 0x28]
xor esi, edi
xor eax, ebx
ror esi, 5
and eax, edi
xor esi, edi
xor eax, ebx
mov ebx, dword [esp]
add ebx, dword [esp + 0x30]
ror esi, 6
add ebx, eax
add ebx, esi
add ebx, dword [esp + 0x8c]
lea eax, [edx + ebx]
mov edx, dword [esp + 4]
mov dword [esp], eax
mov eax, ebp
ror eax, 9
mov esi, edx
xor eax, ebp
xor esi, ecx
ror eax, 0xb
and esi, ebp
xor eax, ebp
ror eax, 2
and edx, ecx
add esi, edx
add esi, eax
add esi, ebx
mov ebx, dword [esp + 0x40]
mov eax, ebx
ror eax, 0xb
xor eax, ebx
shr ebx, 3
ror eax, 7
xor eax, ebx
add eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x14]
mov edx, ebx
ror edx, 2
xor edx, ebx
shr ebx, 0xa
rol edx, 0xf
xor edx, ebx
mov ebx, dword [esp + 0x28]
add eax, edx
mov edx, dword [esp]
mov dword [esp + 0x14], eax
mov eax, edx
ror eax, 0xe
xor eax, edx
ror eax, 5
xor eax, edx
mov edx, ebx
xor edx, edi
and edx, dword [esp]
ror eax, 6
xor edx, ebx
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x14]
add edx, ebx
mov ebx, dword [esp + 4]
add eax, edx
add eax, dword [esp + 0x90]
add ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, esi
ror ecx, 9
mov edx, ecx
mov ecx, ebx
xor edx, esi
ror edx, 0xb
xor ecx, ebp
and ebx, ebp
add dword [esp + 0x58], 0x10
xor edx, esi
and ecx, esi
ror edx, 2
add ecx, ebx
add ecx, edx
add eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x58]
cmp eax, 0x40
je 0x10013a50
mov ecx, dword [eax*4 + 0x1011bc44]
mov ebx, dword [eax*4 + 0x1011bc40]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax*4 + 0x1011bc48]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax*4 + 0x1011bc4c]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax*4 + 0x1011bc50]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax*4 + 0x1011bc54]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax*4 + 0x1011bc58]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax*4 + 0x1011bc5c]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax*4 + 0x1011bc60]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax*4 + 0x1011bc64]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax*4 + 0x1011bc68]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax*4 + 0x1011bc6c]
mov dword [esp + 0x80], ecx
mov ecx, dword [eax*4 + 0x1011bc70]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax*4 + 0x1011bc74]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax*4 + 0x1011bc78]
mov eax, dword [eax*4 + 0x1011bc7c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
jmp 0x10013098
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x3c]
add dword [eax + 4], esi
add dword [eax], ecx
mov ecx, dword [esp + 4]
add dword [eax + 8], ebp
add dword [eax + 0xc], ecx
mov ecx, dword [esp + 0xc]
add dword [eax + 0x18], edi
add dword [eax + 0x10], ecx
mov ecx, dword [esp]
add dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x28]
add dword [eax + 0x1c], ecx
add esp, 0xb8
pop ebx
pop esi
pop edi
pop ebp
ret