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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xa8
test ecx, ecx
lea edi, [ecx - 1]
mov dword [esp + 0x64], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x60], edi
je 0x451da0
mov edi, dword [eax]
mov dword [esp + 0x44], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x48], edi
mov edi, dword [eax + 8]
mov dword [esp + 0x50], edi
mov edi, dword [eax + 0xc]
mov dword [esp + 0x58], edi
mov edi, dword [eax + 0x10]
mov dword [esp + 0x40], edi
mov edi, dword [eax + 0x14]
mov dword [esp + 0x4c], edi
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x44]
movzx edi, byte [eax]
mov edx, esi
ror edx, 6
mov dword [esp + 0x20], edi
mov edi, eax
movzx eax, byte [eax + 1]
shl dword [esp + 0x20], 0x18
shl eax, 0x10
or dword [esp + 0x20], eax
movzx eax, byte [edi + 3]
or dword [esp + 0x20], eax
movzx eax, byte [edi + 2]
shl eax, 8
or dword [esp + 0x20], eax
mov eax, esi
ror eax, 0xb
mov ebx, dword [esp + 0x20]
xor eax, edx
mov edx, esi
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0x4c]
lea ecx, [ecx + eax + 0x428a2f98]
mov eax, esi
not eax
and eax, dword [esp + 0x54]
and edx, esi
mov dword [esp + 0x68], ebx
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0x50]
add ecx, ebx
mov ebx, dword [esp + 0x48]
mov edx, eax
xor edx, ebx
and eax, ebx
and edx, ebp
mov ebx, ebp
xor edx, eax
mov eax, ebp
ror ebx, 2
ror eax, 0xd
xor eax, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x58]
ror ebx, 0x16
xor eax, ebx
add eax, edx
lea edx, [ecx + ebp]
mov ebp, edi
movzx edi, byte [edi + 4]
lea ebx, [eax + ecx]
movzx eax, byte [ebp + 5]
mov dword [esp + 0x28], edi
shl dword [esp + 0x28], 0x18
shl eax, 0x10
or dword [esp + 0x28], eax
movzx eax, byte [ebp + 7]
or dword [esp + 0x28], eax
movzx eax, byte [ebp + 6]
shl eax, 8
or dword [esp + 0x28], eax
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x6c], edi
lea esi, [edi + ecx + 0x71374491]
mov ecx, edx
mov edi, dword [esp + 0x40]
ror ecx, 0xb
mov eax, ecx
mov ecx, edx
ror ecx, 6
xor eax, ecx
mov ecx, edx
ror ecx, 0x19
and edi, edx
xor eax, ecx
mov ecx, edx
add esi, eax
mov eax, dword [esp + 0x4c]
not ecx
and eax, ecx
xor eax, edi
mov edi, ebx
add esi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], edi
and eax, ebx
mov ecx, eax
mov eax, dword [esp + 0x48]
and ebx, eax
and eax, dword [esp + 0x44]
xor ebx, ecx
xor ebx, eax
mov eax, edi
ror eax, 0xd
ror edi, 2
xor eax, edi
mov edi, dword [esp + 0xc]
ror edi, 0x16
xor eax, edi
add ebx, eax
mov eax, dword [esp + 0x50]
lea edi, [ebx + esi]
movzx ebx, byte [ebp + 8]
mov dword [esp + 4], edi
mov edi, dword [esp + 4]
add eax, esi
movzx esi, byte [ebp + 9]
shl ebx, 0x18
shl esi, 0x10
or ebx, esi
movzx esi, byte [ebp + 0xb]
or ebx, esi
movzx esi, byte [ebp + 0xa]
mov ebp, eax
ror ebp, 0xb
shl esi, 8
or ebx, esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x70], ebx
lea esi, [ebx + esi - 0x4a3f0431]
mov ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
mov ebp, eax
ror ebp, 0x19
xor ebx, ebp
mov ebp, eax
add esi, ebx
mov ebx, dword [esp + 0x40]
not ebp
and ebx, ebp
mov ebp, eax
and ebp, edx
xor ebx, ebp
mov ebp, dword [esp + 0x44]
add esi, ebx
mov ebx, dword [esp + 0xc]
and ebp, edi
and ebx, edi
mov dword [esp], ebx
mov ebx, dword [esp]
xor ebx, ebp
mov ebp, edi
xor ebx, ecx
mov ecx, edi
mov edi, dword [esp + 0x24]
ror ebp, 2
ror ecx, 0xd
xor ecx, ebp
mov ebp, dword [esp + 4]
ror ebp, 0x16
xor ecx, ebp
add ecx, ebx
mov ebx, dword [esp + 0x48]
lea ebp, [esi + ebx]
add esi, ecx
movzx ebx, byte [edi + 0xd]
movzx ecx, byte [edi + 0xc]
mov dword [esp + 8], esi
shl ebx, 0x10
shl ecx, 0x18
or ecx, ebx
movzx ebx, byte [edi + 0xf]
or ecx, ebx
movzx ebx, byte [edi + 0xe]
shl ebx, 8
or ecx, ebx
mov ebx, ebp
mov dword [esp + 0x74], ecx
mov esi, dword [esp + 0x40]
ror ebx, 6
lea esi, [ecx + esi - 0x164a245b]
mov ecx, ebp
ror ecx, 0xb
xor ecx, ebx
mov ebx, ebp
ror ebx, 0x19
xor ecx, ebx
mov ebx, ebp
add esi, ecx
mov ecx, ebp
not ecx
and ebx, eax
and ecx, edx
xor ecx, ebx
mov ebx, dword [esp + 8]
add esi, ecx
mov ecx, dword [esp + 4]
and ecx, ebx
mov edi, ecx
mov ecx, ebx
and ebx, dword [esp + 0xc]
mov dword [esp + 0x10], edi
xor ebx, edi
mov edi, ecx
ror edi, 2
ror ecx, 0xd
xor ecx, edi
mov edi, dword [esp + 8]
xor ebx, dword [esp]
ror edi, 0x16
xor ecx, edi
add ecx, ebx
mov ebx, dword [esp + 0x44]
lea edi, [esi + ebx]
add esi, ecx
mov dword [esp], esi
mov esi, dword [esp + 0x24]
movzx ecx, byte [esi + 0x10]
movzx ebx, byte [esi + 0x11]
shl ecx, 0x18
shl ebx, 0x10
or ecx, ebx
movzx ebx, byte [esi + 0x13]
or ecx, ebx
movzx ebx, byte [esi + 0x12]
mov esi, dword [esp]
shl ebx, 8
or ecx, ebx
lea ebx, [edx + ecx + 0x3956c25b]
mov edx, edi
mov dword [esp + 0x78], ecx
mov ecx, edi
ror ecx, 6
ror edx, 0xb
xor edx, ecx
mov ecx, edi
ror ecx, 0x19
xor edx, ecx
mov ecx, edi
add ebx, edx
mov edx, edi
not edx
and ecx, ebp
and edx, eax
xor edx, ecx
mov ecx, dword [esp + 4]
add ebx, edx
mov edx, dword [esp + 8]
and ecx, esi
and edx, esi
ror esi, 0xd
xor ecx, edx
mov dword [esp + 0x14], edx
mov edx, esi
mov esi, dword [esp]
xor ecx, dword [esp + 0x10]
ror esi, 2
xor edx, esi
mov esi, dword [esp]
ror esi, 0x16
xor edx, esi
add edx, ecx
mov ecx, dword [esp + 0xc]
lea esi, [ebx + ecx]
lea ecx, [edx + ebx]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
movzx edx, byte [ebx + 0x14]
movzx ecx, byte [ebx + 0x15]
shl edx, 0x18
shl ecx, 0x10
or edx, ecx
movzx ecx, byte [ebx + 0x17]
or edx, ecx
movzx ecx, byte [ebx + 0x16]
mov ebx, dword [esp + 0xc]
shl ecx, 8
or edx, ecx
lea ecx, [eax + edx + 0x59f111f1]
mov eax, esi
mov dword [esp + 0x7c], edx
mov edx, esi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, esi
ror edx, 0x19
xor eax, edx
mov edx, esi
add ecx, eax
mov eax, esi
not eax
and edx, edi
and eax, ebp
xor eax, edx
add ecx, eax
mov eax, dword [esp]
and eax, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x18]
and eax, ebx
xor edx, eax
mov eax, ebx
ror eax, 0xd
ror ebx, 2
xor eax, ebx
mov ebx, dword [esp + 0xc]
xor edx, dword [esp + 0x14]
ror ebx, 0x16
xor eax, ebx
add eax, edx
mov edx, dword [esp + 4]
add eax, ecx
add edx, ecx
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 4], eax
movzx edx, byte [ebx + 0x19]
movzx eax, byte [ebx + 0x18]
shl edx, 0x10
shl eax, 0x18
or eax, edx
movzx edx, byte [ebx + 0x1b]
or eax, edx
movzx edx, byte [ebx + 0x1a]
mov ebx, dword [esp + 0x10]
shl edx, 8
or eax, edx
mov edx, ebx
lea ecx, [ebp + eax - 0x6dc07d5c]
mov ebp, ebx
mov dword [esp + 0x80], eax
mov eax, ebx
ror ebp, 6
ror eax, 0xb
xor eax, ebp
mov ebp, ebx
ror edx, 0x19
and ebp, esi
xor eax, edx
mov edx, dword [esp + 0xc]
add ecx, eax
mov eax, ebx
not eax
and eax, edi
xor eax, ebp
mov ebp, dword [esp + 4]
add ecx, eax
mov eax, dword [esp]
and edx, ebp
and eax, ebp
mov ebx, edx
mov edx, eax
mov eax, ebp
ror eax, 0xd
xor edx, ebx
ror ebp, 2
xor eax, ebp
mov ebp, dword [esp + 4]
xor edx, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x24]
ror ebp, 0x16
xor eax, ebp
add eax, edx
mov edx, dword [esp + 8]
lea ebp, [ecx + edx]
lea edx, [eax + ecx]
movzx eax, byte [ebx + 0x1c]
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x1d]
shl eax, 0x18
shl edx, 0x10
or eax, edx
movzx edx, byte [ebx + 0x1f]
or eax, edx
movzx edx, byte [ebx + 0x1e]
shl edx, 8
or eax, edx
mov edx, ebp
ror edx, 0xb
lea ecx, [edi + eax - 0x54e3a12b]
mov edi, dword [esp + 8]
mov dword [esp + 0x84], eax
mov eax, edx
mov edx, ebp
ror edx, 6
xor eax, edx
mov edx, ebp
ror edx, 0x19
xor eax, edx
mov edx, ebp
not edx
add ecx, eax
mov eax, edx
mov edx, dword [esp + 0x10]
and eax, esi
and edx, ebp
xor eax, edx
add ecx, eax
mov eax, dword [esp + 4]
and eax, edi
mov ebx, eax
mov eax, edi
and edi, dword [esp + 0xc]
mov dword [esp + 0x18], ebx
mov edx, edi
mov edi, eax
ror edi, 2
xor edx, ebx
mov ebx, dword [esp + 0x24]
ror eax, 0xd
xor eax, edi
mov edi, dword [esp + 8]
xor edx, dword [esp + 0x14]
ror edi, 0x16
xor eax, edi
mov edi, dword [esp]
add eax, edx
movzx edx, byte [ebx + 0x21]
add eax, ecx
mov dword [esp], eax
movzx eax, byte [ebx + 0x20]
add edi, ecx
shl edx, 0x10
shl eax, 0x18
or eax, edx
movzx edx, byte [ebx + 0x23]
or eax, edx
movzx edx, byte [ebx + 0x22]
shl edx, 8
or eax, edx
mov edx, edi
ror edx, 0xb
mov dword [esp + 0x88], eax
lea ecx, [esi + eax - 0x27f85568]
mov eax, edx
mov edx, edi
mov esi, dword [esp + 8]
ror edx, 6
xor eax, edx
mov edx, edi
ror edx, 0x19
xor eax, edx
mov edx, edi
add ecx, eax
mov eax, dword [esp + 0x10]
not edx
and eax, edx
mov edx, edi
and edx, ebp
xor eax, edx
add ecx, eax
mov eax, dword [esp]
and esi, eax
mov ebx, esi
mov esi, eax
and eax, dword [esp + 4]
mov dword [esp + 0x14], ebx
mov edx, eax
mov eax, esi
ror eax, 0xd
xor edx, ebx
mov ebx, dword [esp + 0x24]
ror esi, 2
xor eax, esi
mov esi, dword [esp]
xor edx, dword [esp + 0x18]
ror esi, 0x16
xor eax, esi
mov esi, dword [esp + 0xc]
add eax, edx
mov edx, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0xc], eax
movzx eax, byte [ebx + 0x25]
add esi, ecx
movzx ecx, byte [ebx + 0x24]
shl eax, 0x10
mov dword [esp + 0x2c], ecx
shl dword [esp + 0x2c], 0x18
or dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0x27]
or dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0x26]
mov ebx, dword [esp + 0xc]
shl eax, 8
or dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x8c], ecx
lea ecx, [edx + ecx + 0x12835b01]
mov edx, esi
ror edx, 0xb
mov eax, edx
mov edx, esi
ror edx, 6
xor eax, edx
mov edx, esi
ror edx, 0x19
xor eax, edx
mov edx, esi
not edx
add ecx, eax
mov eax, edx
mov edx, esi
and edx, edi
and eax, ebp
xor eax, edx
mov edx, dword [esp]
add ecx, eax
mov eax, dword [esp + 8]
and edx, ebx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x10]
and eax, ebx
xor edx, eax
mov eax, ebx
xor edx, dword [esp + 0x14]
ror eax, 0xd
ror ebx, 2
xor eax, ebx
mov ebx, dword [esp + 0xc]
ror ebx, 0x16
xor eax, ebx
add eax, edx
mov edx, dword [esp + 4]
add eax, ecx
add edx, ecx
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 4], eax
movzx edx, byte [ebx + 0x29]
movzx eax, byte [ebx + 0x28]
shl edx, 0x10
shl eax, 0x18
or eax, edx
movzx edx, byte [ebx + 0x2b]
or eax, edx
movzx edx, byte [ebx + 0x2a]
shl edx, 8
or eax, edx
lea edx, [ebp + eax + 0x243185be]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x90], eax
mov ecx, ebp
mov eax, ebp
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, ebp
ror ecx, 0x19
xor eax, ecx
mov ecx, ebp
not ebp
add eax, edx
mov edx, ebp
and ecx, esi
mov ebp, dword [esp + 0xc]
and edx, edi
xor edx, ecx
mov ecx, dword [esp + 4]
add eax, edx
and ebp, ecx
mov ebx, ebp
mov ebp, ecx
and ecx, dword [esp]
mov dword [esp + 0x14], ebx
xor ecx, ebx
mov ebx, ebp
ror ebp, 0xd
mov edx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x24]
ror ebp, 2
xor edx, ebp
mov ebp, dword [esp + 4]
xor ecx, dword [esp + 0x10]
ror ebp, 0x16
xor edx, ebp
mov ebp, dword [esp + 8]
add edx, ecx
add ebp, eax
add eax, edx
movzx edx, byte [ebx + 0x2d]
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + 0x2c]
shl edx, 0x10
shl eax, 0x18
or eax, edx
movzx edx, byte [ebx + 0x2f]
or eax, edx
movzx edx, byte [ebx + 0x2e]
shl edx, 8
or eax, edx
mov edx, ebp
lea ecx, [edi + eax + 0x550c7dc3]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov eax, ebp
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebp
ror edx, 0x19
and edi, ebp
xor eax, edx
add ecx, eax
mov eax, ebp
not eax
and eax, esi
xor eax, edi
mov edi, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 4]
and eax, edi
mov ebx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 8], ebx
and eax, edi
mov edx, eax
mov eax, edi
ror eax, 0xd
xor edx, ebx
mov ebx, dword [esp + 0x24]
ror edi, 2
xor eax, edi
mov edi, dword [esp + 0x1c]
xor edx, dword [esp + 0x14]
ror edi, 0x16
xor eax, edi
mov edi, dword [esp]
add eax, edx
movzx edx, byte [ebx + 0x31]
add eax, ecx
mov dword [esp + 0x30], eax
movzx eax, byte [ebx + 0x30]
add edi, ecx
shl edx, 0x10
shl eax, 0x18
or eax, edx
movzx edx, byte [ebx + 0x33]
or eax, edx
movzx edx, byte [ebx + 0x32]
shl edx, 8
or eax, edx
lea ecx, [esi + eax + 0x72be5d74]
mov esi, edi
ror esi, 0xb
mov dword [esp + 0x98], eax
mov eax, esi
mov esi, edi
ror esi, 6
mov ebx, dword [esp + 0x30]
xor eax, esi
mov esi, edi
ror esi, 0x19
xor eax, esi
mov esi, edi
add ecx, eax
mov eax, dword [esp + 0x18]
not esi
and eax, esi
mov esi, edi
and esi, ebp
xor eax, esi
mov esi, dword [esp + 0x1c]
add ecx, eax
mov eax, dword [esp + 4]
and esi, ebx
and eax, ebx
mov edx, eax
mov eax, ebx
ror eax, 0xd
xor edx, esi
ror ebx, 2
xor eax, ebx
mov ebx, dword [esp + 0x30]
xor edx, dword [esp + 8]
ror ebx, 0x16
xor eax, ebx
mov ebx, dword [esp + 0xc]
add eax, edx
add eax, ecx
mov dword [esp + 0x10], eax
lea edx, [ecx + ebx]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x18]
movzx eax, byte [ebx + 0x34]
movzx edx, byte [ebx + 0x35]
shl eax, 0x18
shl edx, 0x10
or eax, edx
movzx edx, byte [ebx + 0x37]
or eax, edx
movzx edx, byte [ebx + 0x36]
mov ebx, dword [esp + 0x14]
shl edx, 8
or eax, edx
mov edx, ebx
mov dword [esp + 0x9c], eax
lea ecx, [ecx + eax - 0x7f214e02]
mov eax, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
ror edx, 0x19
xor eax, edx
mov edx, ebx
add ecx, eax
mov eax, ebx
mov ebx, dword [esp + 0x10]
not eax
and edx, edi
and eax, ebp
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0x30]
and eax, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp]
and eax, ebx
xor edx, eax
mov eax, ebx
xor edx, esi
mov esi, ebx
ror esi, 2
ror eax, 0xd
xor eax, esi
mov esi, dword [esp + 0x10]
ror esi, 0x16
xor eax, esi
mov esi, dword [esp + 4]
add eax, edx
mov edx, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 8], eax
add esi, ecx
mov ecx, dword [esp + 0x30]
mov ebx, esi
movzx eax, byte [edx + 0x39]
movzx esi, byte [edx + 0x38]
mov dword [esp + 0x18], ebx
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [edx + 0x3b]
or esi, eax
movzx eax, byte [edx + 0x3a]
shl eax, 8
or esi, eax
lea edx, [ebp + esi - 0x6423f959]
mov ebp, ebx
ror ebp, 0xb
mov eax, ebp
mov ebp, ebx
ror ebp, 6
xor eax, ebp
mov ebp, ebx
ror ebp, 0x19
xor eax, ebp
mov ebp, dword [esp + 0x14]
add edx, eax
mov eax, ebx
not eax
and eax, edi
and ebp, ebx
mov ebx, dword [esp + 8]
xor eax, ebp
mov ebp, dword [esp + 0x10]
add edx, eax
mov dword [esp + 0xa0], esi
mov eax, ebx
and ecx, ebx
and ebp, ebx
ror eax, 0xd
xor ecx, ebp
ror ebx, 2
xor eax, ebx
mov ebx, dword [esp + 8]
xor ecx, dword [esp]
ror ebx, 0x16
xor eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x1c]
add eax, edx
add ecx, edx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 0x34], 0x1d
mov dword [esp + 0x3c], 0x1e
movzx ecx, byte [ebx + 0x3c]
add ebx, 0x40
movzx eax, byte [ebx - 3]
movzx edx, byte [ebx - 2]
mov dword [esp + 0x24], ebx
shl ecx, 0x18
shl eax, 0x10
shl edx, 8
or eax, ecx
or eax, edx
movzx edx, byte [ebx - 1]
or eax, edx
lea edx, [edi + eax - 0x3e640e8c]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xa4], eax
mov ecx, edi
mov eax, edi
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, edi
ror ecx, 0x19
xor eax, ecx
mov ecx, dword [esp + 0x18]
add eax, edx
mov edx, edi
not edx
and edx, dword [esp + 0x14]
and ecx, edi
mov edi, dword [esp + 0x10]
xor edi, dword [esp + 8]
xor edx, ecx
add eax, edx
mov edx, dword [esp]
mov ecx, edi
mov edi, dword [esp + 0x30]
and ecx, edx
xor ecx, ebp
mov ebp, edx
ror edx, 0xd
mov ebx, edx
mov edx, ebp
ror edx, 2
xor ebx, edx
mov edx, ebp
ror edx, 0x16
mov ebp, 0x11
xor ebx, edx
add ebx, ecx
mov ecx, dword [esp + 0x28]
lea edx, [eax + edi]
mov edi, esi
mov dword [esp + 0xc], edx
lea edx, [ebx + eax]
mov ebx, dword [esp + 0x2c]
mov esi, 0x10
mov dword [esp + 4], edx
mov eax, esi
mov edx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x20]
jmp 0x45167b
lea edi, [eax + 0xe]
mov ebx, edi
and ebx, 0xf
lea edx, [eax + 1]
mov ecx, edx
mov dword [esp + 0x3c], edi
mov edi, dword [esp + ebx*4 + 0x68]
and ecx, 0xf
mov ebx, dword [esp + esi*4 + 0x68]
lea esi, [eax + 9]
and esi, 0xf
mov ecx, dword [esp + ecx*4 + 0x68]
mov ebp, dword [esp + esi*4 + 0x68]
mov esi, eax
and edx, 0xf
and esi, 0xf
mov dword [esp + 0x30], edx
mov edx, edi
mov dword [esp + 0x28], esi
mov esi, edi
ror edx, 0x11
ror esi, 0x13
xor esi, edx
shr edi, 0xa
xor esi, edi
mov edi, ecx
ror edi, 0x12
mov edx, edi
mov edi, ecx
ror edi, 7
xor edx, edi
shr ecx, 3
xor edx, ecx
add edx, esi
mov esi, dword [esp + 0x28]
add edx, ebx
mov ebx, dword [esp + 0xc]
add ebp, edx
mov dword [esp + esi*4 + 0x68], ebp
mov esi, dword [esp + 4]
mov edi, ebx
mov edx, ebx
ror edx, 6
mov ecx, ebx
ror edi, 0xb
not ecx
xor edi, edx
mov edx, ebx
ror edx, 0x19
xor edi, edx
mov edx, dword [esp + 0x1c]
and ecx, dword [esp + 0x18]
and edx, ebx
mov ebx, dword [esp]
xor ecx, edx
mov edx, dword [esp + 8]
add edi, ecx
add edi, dword [eax*4 + 0x537220]
mov ecx, edx
and edx, ebx
xor ecx, ebx
mov ebx, esi
and ecx, esi
add edi, ebp
xor ecx, edx
mov edx, esi
ror ebx, 2
ror edx, 0xd
add edi, dword [esp + 0x14]
xor edx, ebx
mov ebx, esi
ror ebx, 0x16
xor edx, ebx
add edx, ecx
mov ecx, dword [esp + 0x10]
lea ebp, [edx + edi]
mov dword [esp + 0x14], ebp
add ecx, edi
lea edi, [eax + 2]
mov dword [esp + 0x20], edi
and dword [esp + 0x20], 0xf
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov edi, dword [esp + ebx*4 + 0x68]
lea ebx, [eax + 0xa]
and ebx, 0xf
mov ebx, dword [esp + ebx*4 + 0x68]
mov ecx, edi
mov ebp, edi
ror ebp, 7
ror ecx, 0x12
xor ecx, ebp
lea ebp, [eax + 0xf]
mov dword [esp + 0x2c], ebp
shr edi, 3
and dword [esp + 0x2c], 0xf
xor ecx, edi
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
add edi, dword [eax*4 + 0x537224]
mov esi, dword [esp + ebp*4 + 0x68]
mov ebp, esi
ror ebp, 0x13
mov edx, ebp
mov ebp, esi
ror ebp, 0x11
xor edx, ebp
mov ebp, dword [esp + 0x30]
shr esi, 0xa
xor edx, esi
add ebx, dword [esp + ebp*4 + 0x68]
add ecx, ebx
add ecx, edx
mov edx, edi
mov edi, dword [esp + 0x10]
mov dword [esp + ebp*4 + 0x68], ecx
add edx, ecx
mov ebp, dword [esp + 0x14]
mov esi, edi
mov ecx, edi
ror ecx, 6
mov ebx, ebp
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 0x19
xor esi, ecx
mov ecx, dword [esp + 0xc]
add edx, esi
mov esi, edi
not esi
and esi, dword [esp + 0x1c]
and ecx, edi
mov edi, dword [esp + 4]
xor esi, ecx
add edx, esi
mov esi, ebp
and esi, edi
mov ecx, esi
mov esi, dword [esp]
mov dword [esp + 0x30], ecx
and ebx, esi
xor ebx, ecx
mov ecx, esi
mov esi, dword [esp + 0x28]
and ecx, edi
mov edi, ebp
ror edi, 0xd
xor ebx, ecx
mov ecx, edi
mov edi, ebp
ror edi, 2
mov esi, dword [esp + esi*4 + 0x68]
xor ecx, edi
mov edi, ebp
ror edi, 0x16
xor ecx, edi
add ecx, ebx
mov ebx, dword [esp + 8]
lea edi, [eax + 3]
and edi, 0xf
add ebx, edx
add edx, ecx
mov dword [esp + 8], ebx
mov ebx, dword [esp + edi*4 + 0x68]
mov dword [esp + 0x18], edx
mov ecx, ebx
mov edx, ebx
ror ecx, 7
shr ebx, 3
ror edx, 0x12
mov ebp, ebx
xor edx, ecx
mov ebx, esi
mov ecx, esi
xor edx, ebp
ror ebx, 0x11
ror ecx, 0x13
xor ecx, ebx
mov ebx, dword [esp + 0x20]
shr esi, 0xa
mov dword [esp + 0x38], esi
lea esi, [eax + 0xb]
and esi, 0xf
mov ebx, dword [esp + ebx*4 + 0x68]
add ebx, dword [esp + esi*4 + 0x68]
xor ecx, dword [esp + 0x38]
add ecx, ebx
mov ebx, dword [esp + 0x20]
add ecx, edx
mov edx, dword [esp + 0x1c]
add edx, dword [eax*4 + 0x537228]
mov dword [esp + ebx*4 + 0x68], ecx
mov ebx, dword [esp + 8]
add edx, ecx
mov ebp, ebx
mov ecx, ebx
ror ebp, 0xb
ror ecx, 6
mov esi, ebp
mov ebp, ebx
xor esi, ecx
mov ecx, dword [esp + 0x10]
ror ebp, 0x19
xor esi, ebp
mov ebp, ebx
add edx, esi
mov esi, dword [esp + 0xc]
not ebp
and ecx, ebx
mov ebx, dword [esp + 0x14]
and esi, ebp
mov ebp, dword [esp + 4]
xor esi, ecx
add edx, esi
mov esi, dword [esp + 0x18]
and ebx, esi
and ebp, esi
mov ecx, ebx
mov ebx, ebp
mov ebp, esi
xor ebx, ecx
ror ebp, 0xd
mov dword [esp + 0x20], ecx
mov ecx, ebp
mov ebp, esi
ror esi, 2
xor ebx, dword [esp + 0x30]
xor ecx, esi
mov esi, ebp
ror esi, 0x16
lea ebp, [eax + 4]
xor ecx, esi
mov esi, dword [esp]
and ebp, 0xf
add ecx, ebx
mov ebx, dword [esp + ebp*4 + 0x68]
add esi, edx
add edx, ecx
mov dword [esp + 0x1c], edx
mov edx, ebx
ror edx, 0x12
mov ecx, edx
mov edx, ebx
ror edx, 7
xor ecx, edx
lea edx, [eax + 0x11]
and edx, 0xf
mov dword [esp], esi
mov esi, dword [esp + edx*4 + 0x68]
shr ebx, 3
mov dword [esp + 0x30], ebx
xor ecx, dword [esp + 0x30]
mov edx, esi
mov ebx, esi
ror ebx, 0x11
ror edx, 0x13
xor edx, ebx
lea ebx, [eax + 0xc]
and ebx, 0xf
mov ebx, dword [esp + ebx*4 + 0x68]
shr esi, 0xa
add ebx, dword [esp + edi*4 + 0x68]
add ecx, ebx
xor edx, esi
mov ebx, dword [esp + 0x18]
add ecx, edx
mov edx, dword [esp + 0xc]
mov dword [esp + edi*4 + 0x68], ecx
mov edi, dword [esp]
add edx, dword [eax*4 + 0x53722c]
mov esi, edi
add edx, ecx
mov ecx, edi
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, edi
ror ecx, 0x19
xor esi, ecx
mov ecx, dword [esp + 8]
add edx, esi
mov esi, edi
not esi
and esi, dword [esp + 0x10]
and ecx, edi
mov edi, dword [esp + 0x1c]
xor esi, ecx
add edx, esi
mov esi, dword [esp + 0x14]
and ebx, edi
mov ecx, ebx
mov dword [esp + 0x30], ecx
and esi, edi
mov ebx, esi
mov esi, edi
ror edi, 0xd
xor ebx, ecx
mov ecx, edi
mov edi, esi
ror esi, 2
xor ebx, dword [esp + 0x20]
xor ecx, esi
mov esi, edi
ror esi, 0x16
xor ecx, esi
lea edi, [eax + 5]
add ecx, ebx
mov ebx, dword [esp + 4]
and edi, 0xf
mov esi, dword [esp + edi*4 + 0x68]
mov dword [esp + 0x20], eax
add ebx, edx
add edx, ecx
mov dword [esp + 4], edx
mov edx, esi
ror edx, 0x12
mov ecx, edx
mov edx, esi
ror edx, 7
xor ecx, edx
lea edx, [eax + 0x12]
and edx, 0xf
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + edx*4 + 0x68]
shr esi, 3
mov edx, ebx
mov eax, ebx
ror edx, 0x13
ror eax, 0x11
xor ecx, esi
xor edx, eax
mov eax, ebx
mov ebx, dword [esp + 0x34]
shr eax, 0xa
xor edx, eax
mov eax, dword [esp + 0x20]
and ebx, 0xf
mov ebx, dword [esp + ebx*4 + 0x68]
add ebx, dword [esp + ebp*4 + 0x68]
add ecx, ebx
mov ebx, dword [esp + 0xc]
add ecx, edx
mov edx, dword [esp + 0x10]
add edx, dword [eax*4 + 0x537230]
mov dword [esp + ebp*4 + 0x68], ecx
mov ebp, dword [esp + 4]
mov esi, ebx
add edx, ecx
mov ecx, ebx
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, ebx
ror ecx, 0x19
xor esi, ecx
mov ecx, dword [esp]
add edx, esi
mov esi, ebx
not esi
and esi, dword [esp + 8]
and ecx, ebx
mov ebx, dword [esp + 0x1c]
xor esi, ecx
add edx, esi
and ebx, ebp
mov ecx, ebx
mov ebx, ebp
and ebp, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov esi, ebp
mov ebp, ebx
ror ebp, 2
xor esi, ecx
ror ebx, 0xd
xor ebx, ebp
mov ebp, dword [esp + 4]
xor esi, dword [esp + 0x30]
mov dword [esp + 0x30], eax
ror ebp, 0x16
xor ebx, ebp
mov ebp, dword [esp + 0x14]
add ebx, esi
add ebp, edx
add edx, ebx
mov dword [esp + 0x14], ebp
lea ebp, [eax + 6]
and ebp, 0xf
mov esi, dword [esp + ebp*4 + 0x68]
mov dword [esp + 0x10], edx
lea edx, [eax + 0x13]
and edx, 0xf
mov ebx, esi
ror ebx, 0x12
mov ecx, ebx
mov ebx, esi
ror ebx, 7
xor ecx, ebx
mov ebx, dword [esp + edx*4 + 0x68]
shr esi, 3
xor ecx, esi
mov edx, ebx
mov eax, ebx
ror eax, 0x11
shr ebx, 0xa
ror edx, 0x13
xor edx, eax
mov eax, ebx
mov ebx, dword [esp + 0x3c]
xor edx, eax
mov eax, dword [esp + 0x30]
and ebx, 0xf
mov ebx, dword [esp + ebx*4 + 0x68]
add ebx, dword [esp + edi*4 + 0x68]
add ecx, ebx
add ecx, edx
mov edx, dword [esp + 0xc]
mov dword [esp + edi*4 + 0x68], ecx
mov edi, dword [esp + 8]
add ecx, dword [eax*4 + 0x537234]
lea ebx, [ecx + edi]
mov ecx, dword [esp + 0x14]
mov edi, ecx
and edx, ecx
ror edi, 0xb
mov esi, edi
mov edi, ecx
ror edi, 6
xor esi, edi
mov edi, ecx
ror edi, 0x19
xor esi, edi
mov edi, ecx
add ebx, esi
mov esi, dword [esp]
not edi
and esi, edi
mov edi, dword [esp + 4]
xor esi, edx
mov edx, dword [esp + 0x10]
add ebx, esi
mov esi, dword [esp + 0x1c]
and edi, edx
and esi, edx
mov ecx, esi
mov dword [esp + 0x30], edi
xor ecx, edi
mov edi, edx
mov esi, edi
ror esi, 2
ror edx, 0xd
xor ecx, dword [esp + 0x20]
xor edx, esi
mov esi, edi
ror esi, 0x16
xor edx, esi
mov esi, dword [esp + 0x18]
lea edi, [eax + 7]
add edx, ecx
and edi, 0xf
mov dword [esp + 0x20], eax
lea ecx, [ebx + esi]
mov esi, dword [esp + edi*4 + 0x68]
add ebx, edx
mov dword [esp + 0x18], ecx
lea edx, [eax + 0x14]
mov dword [esp + 8], ebx
and edx, 0xf
mov ecx, esi
mov ebx, esi
ror ebx, 7
ror ecx, 0x12
xor ecx, ebx
mov ebx, dword [esp + edx*4 + 0x68]
shr esi, 3
xor ecx, esi
mov edx, ebx
mov eax, ebx
ror eax, 0x11
ror edx, 0x13
xor edx, eax
mov eax, ebx
mov ebx, dword [esp + 0x2c]
shr eax, 0xa
xor edx, eax
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + ebx*4 + 0x68]
add ebx, dword [esp + ebp*4 + 0x68]
add ecx, ebx
mov ebx, dword [esp]
add ecx, edx
mov edx, dword [esp + 0x18]
mov dword [esp + ebp*4 + 0x68], ecx
mov ebp, dword [esp + 0x10]
add ecx, dword [eax*4 + 0x537238]
add ebx, ecx
mov ecx, edx
ror ecx, 0xb
mov esi, ecx
mov ecx, edx
ror edx, 6
xor esi, edx
mov edx, ecx
ror edx, 0x19
xor esi, edx
mov edx, ecx
add ebx, esi
mov esi, dword [esp + 0xc]
not ecx
and esi, ecx
mov ecx, dword [esp + 0x14]
and ecx, edx
xor esi, ecx
mov ecx, dword [esp + 4]
add ebx, esi
mov esi, dword [esp + 8]
and ebp, esi
mov edx, esi
and ecx, esi
add eax, 8
xor ecx, ebp
mov dword [esp + 0x20], ebp
ror edx, 0xd
mov ebp, esi
ror esi, 2
xor edx, esi
mov esi, ebp
ror esi, 0x16
xor ecx, dword [esp + 0x30]
xor edx, esi
mov esi, dword [esp + 0x1c]
add edx, ecx
add esi, ebx
add ebx, edx
mov dword [esp], ebx
mov ebx, eax
and ebx, 0xf
mov dword [esp + 0x1c], esi
mov esi, ebx
mov ebx, dword [esp + ebx*4 + 0x68]
mov edx, ebx
mov ecx, ebx
shr ebx, 3
mov dword [esp + 0x2c], ebx
lea ebx, [eax + 0xd]
mov dword [esp + 0x34], ebx
and ebx, 0xf
mov ebx, dword [esp + ebx*4 + 0x68]
ror ecx, 7
ror edx, 0x12
xor edx, ecx
xor edx, dword [esp + 0x2c]
mov ecx, ebx
mov ebp, ebx
ror ebp, 0x11
ror ecx, 0x13
xor ecx, ebp
mov ebp, dword [esp + 0x28]
add edx, dword [esp + edi*4 + 0x68]
shr ebx, 0xa
xor ecx, ebx
add edx, dword [esp + ebp*4 + 0x68]
add edx, ecx
mov dword [esp + edi*4 + 0x68], edx
mov ebp, dword [esp + 0x1c]
add edx, dword [eax*4 + 0x53721c]
add edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ebp
mov edi, ebp
ror edi, 6
ror ebx, 0xb
xor ebx, edi
mov edi, ebp
ror edi, 0x19
xor ebx, edi
mov edi, dword [esp + 0x18]
add edx, ebx
mov ebx, ebp
not ebx
and ebx, dword [esp + 0x14]
and edi, ebp
mov ebp, dword [esp]
xor ecx, dword [esp + 8]
xor ebx, edi
add ebx, edx
mov edi, ebp
mov edx, ebp
ror edi, 2
and ecx, ebp
ror edx, 0xd
xor edx, edi
mov edi, ebp
mov ebp, dword [esp + 4]
xor ecx, dword [esp + 0x20]
ror edi, 0x16
xor edx, edi
add edx, ecx
cmp eax, 0x40
lea edi, [ebx + ebp]
mov dword [esp + 0xc], edi
lea edi, [edx + ebx]
mov dword [esp + 4], edi
jne 0x451651
mov eax, dword [esp + 4]
add eax, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x58]
mov edi, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], edi
mov edx, dword [esp]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov dword [eax], edi
mov edi, esi
mov dword [eax + 0xc], esi
mov esi, dword [esp + 0x1c]
add esi, dword [esp + 0x4c]
sub dword [esp + 0x60], 1
add edx, dword [esp + 0x48]
mov ecx, esi
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x18]
add ebx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add ecx, dword [esp + 0x54]
add esi, dword [esp + 0x5c]
cmp dword [esp + 0x60], 0xffffffff
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0x10], ebp
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], esi
je 0x451da0
mov dword [esp + 0x58], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edi
jmp 0x450c88
add esp, 0xa8
pop ebx
pop esi
pop edi
pop ebp
ret