451751:	0f 84 d5 00 00 00    	je     0x45182c
451757:	f6 c3 01             	test   $0x1,%bl
45175a:	74 17                	je     0x451773
45175c:	85 ff                	test   %edi,%edi
45175e:	75 08                	jne    0x451768
451760:	85 d2                	test   %edx,%edx
451762:	0f 85 c4 00 00 00    	jne    0x45182c
451768:	8b c7                	mov    %edi,%eax
45176a:	2b c2                	sub    %edx,%eax
45176c:	99                   	cltd
45176d:	8b f8                	mov    %eax,%edi
45176f:	8b c2                	mov    %edx,%eax
451771:	eb 2e                	jmp    0x4517a1
451773:	f6 c3 02             	test   $0x2,%bl
451776:	0f 84 b0 00 00 00    	je     0x45182c
45177c:	85 c9                	test   %ecx,%ecx
45177e:	75 08                	jne    0x451788
451780:	85 d2                	test   %edx,%edx
451782:	0f 85 a4 00 00 00    	jne    0x45182c
451788:	8b c1                	mov    %ecx,%eax
45178a:	2b c2                	sub    %edx,%eax
45178c:	99                   	cltd
45178d:	8b f8                	mov    %eax,%edi
45178f:	8b c2                	mov    %edx,%eax
451791:	eb 0e                	jmp    0x4517a1
451793:	0f 57 c0             	xorps  %xmm0,%xmm0
451796:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
45179b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45179e:	8b 7d f4             	mov    -0xc(%ebp),%edi
4517a1:	03 7d 0c             	add    0xc(%ebp),%edi
4517a4:	13 45 10             	adc    0x10(%ebp),%eax
4517a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4517aa:	8b 45 f0             	mov    -0x10(%ebp),%eax
4517ad:	99                   	cltd
4517ae:	39 55 f8             	cmp    %edx,-0x8(%ebp)
4517b1:	77 79                	ja     0x45182c
4517b3:	72 04                	jb     0x4517b9
4517b5:	3b f8                	cmp    %eax,%edi
4517b7:	77 73                	ja     0x45182c
4517b9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4517bc:	8b c7                	mov    %edi,%eax
4517be:	0b 45 f8             	or     -0x8(%ebp),%eax
4517c1:	74 12                	je     0x4517d5
4517c3:	f6 c3 01             	test   $0x1,%bl
4517c6:	74 04                	je     0x4517cc
4517c8:	85 d2                	test   %edx,%edx
4517ca:	74 60                	je     0x45182c
4517cc:	f6 c3 02             	test   $0x2,%bl
4517cf:	74 04                	je     0x4517d5
4517d1:	85 c9                	test   %ecx,%ecx
4517d3:	74 57                	je     0x45182c
4517d5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4517d8:	03 c7                	add    %edi,%eax
4517da:	89 45 f0             	mov    %eax,-0x10(%ebp)
4517dd:	f6 c3 01             	test   $0x1,%bl
4517e0:	74 13                	je     0x4517f5
4517e2:	85 d2                	test   %edx,%edx
4517e4:	74 0f                	je     0x4517f5
4517e6:	8b 56 1c             	mov    0x1c(%esi),%edx
4517e9:	89 02                	mov    %eax,(%edx)
4517eb:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4517ee:	2b d0                	sub    %eax,%edx
4517f0:	8b 46 2c             	mov    0x2c(%esi),%eax
4517f3:	89 10                	mov    %edx,(%eax)
4517f5:	f6 c3 02             	test   $0x2,%bl
4517f8:	74 25                	je     0x45181f
4517fa:	85 c9                	test   %ecx,%ecx
4517fc:	74 21                	je     0x45181f
4517fe:	8b 46 30             	mov    0x30(%esi),%eax
451801:	8b 4e 20             	mov    0x20(%esi),%ecx
451804:	8b 10                	mov    (%eax),%edx
451806:	8b 46 10             	mov    0x10(%esi),%eax
451809:	03 11                	add    (%ecx),%edx
45180b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45180e:	89 08                	mov    %ecx,(%eax)
451810:	8b 46 20             	mov    0x20(%esi),%eax
451813:	8b 4d f0             	mov    -0x10(%ebp),%ecx
451816:	2b d1                	sub    %ecx,%edx
451818:	89 08                	mov    %ecx,(%eax)
45181a:	8b 46 30             	mov    0x30(%esi),%eax
45181d:	89 10                	mov    %edx,(%eax)
45181f:	8b 45 08             	mov    0x8(%ebp),%eax
451822:	8b 4d f8             	mov    -0x8(%ebp),%ecx
451825:	89 38                	mov    %edi,(%eax)
451827:	89 48 04             	mov    %ecx,0x4(%eax)
45182a:	eb 10                	jmp    0x45183c
45182c:	8b 45 08             	mov    0x8(%ebp),%eax
45182f:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
451835:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
45183c:	5f                   	pop    %edi
45183d:	0f 57 c0             	xorps  %xmm0,%xmm0
451840:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
451847:	5e                   	pop    %esi
451848:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
45184f:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
451854:	5b                   	pop    %ebx
451855:	8b e5                	mov    %ebp,%esp
451857:	5d                   	pop    %ebp
451858:	c2 14 00             	ret    $0x14
45185b:	cc                   	int3
45185c:	cc                   	int3
45185d:	cc                   	int3
45185e:	cc                   	int3
45185f:	cc                   	int3
451860:	55                   	push   %ebp
451861:	8b ec                	mov    %esp,%ebp
451863:	8b 45 08             	mov    0x8(%ebp),%eax
451866:	0f 57 c0             	xorps  %xmm0,%xmm0
451869:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
45186f:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
451876:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
45187d:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
451884:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
451889:	5d                   	pop    %ebp
45188a:	c2 20 00             	ret    $0x20
45188d:	cc                   	int3
45188e:	cc                   	int3
45188f:	cc                   	int3
451890:	55                   	push   %ebp
451891:	8b ec                	mov    %esp,%ebp
451893:	83 ec 18             	sub    $0x18,%esp
451896:	8b 45 10             	mov    0x10(%ebp),%eax
451899:	53                   	push   %ebx
45189a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45189d:	03 5d 14             	add    0x14(%ebp),%ebx
4518a0:	56                   	push   %esi
4518a1:	13 45 18             	adc    0x18(%ebp),%eax
4518a4:	8b 75 08             	mov    0x8(%ebp),%esi
4518a7:	57                   	push   %edi
4518a8:	8b f9                	mov    %ecx,%edi
4518aa:	89 45 f8             	mov    %eax,-0x8(%ebp)
4518ad:	8b 47 1c             	mov    0x1c(%edi),%eax
4518b0:	8b 00                	mov    (%eax),%eax
4518b2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4518b5:	8b 47 20             	mov    0x20(%edi),%eax
4518b8:	8b 08                	mov    (%eax),%ecx
4518ba:	85 c9                	test   %ecx,%ecx
4518bc:	74 08                	je     0x4518c6
4518be:	39 4f 38             	cmp    %ecx,0x38(%edi)
4518c1:	73 03                	jae    0x4518c6
4518c3:	89 4f 38             	mov    %ecx,0x38(%edi)
4518c6:	8b 47 0c             	mov    0xc(%edi),%eax
4518c9:	8b 10                	mov    (%eax),%edx
4518cb:	8b 47 38             	mov    0x38(%edi),%eax
4518ce:	89 45 ec             	mov    %eax,-0x14(%ebp)
4518d1:	2b c2                	sub    %edx,%eax
4518d3:	89 55 fc             	mov    %edx,-0x4(%ebp)
4518d6:	99                   	cltd
4518d7:	39 55 f8             	cmp    %edx,-0x8(%ebp)
4518da:	77 79                	ja     0x451955
4518dc:	72 04                	jb     0x4518e2
4518de:	3b d8                	cmp    %eax,%ebx
4518e0:	77 73                	ja     0x451955
4518e2:	8b 55 24             	mov    0x24(%ebp),%edx
4518e5:	8b c3                	mov    %ebx,%eax
4518e7:	0b 45 f8             	or     -0x8(%ebp),%eax
4518ea:	74 14                	je     0x451900
4518ec:	f6 c2 01             	test   $0x1,%dl
4518ef:	74 06                	je     0x4518f7
4518f1:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4518f5:	74 5e                	je     0x451955
4518f7:	f6 c2 02             	test   $0x2,%dl
4518fa:	74 04                	je     0x451900
4518fc:	85 c9                	test   %ecx,%ecx
4518fe:	74 55                	je     0x451955
451900:	8b 45 fc             	mov    -0x4(%ebp),%eax
451903:	03 c3                	add    %ebx,%eax
451905:	f6 c2 01             	test   $0x1,%dl
451908:	74 18                	je     0x451922
45190a:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
45190e:	74 12                	je     0x451922
451910:	8b 57 1c             	mov    0x1c(%edi),%edx
451913:	89 02                	mov    %eax,(%edx)
451915:	8b 55 ec             	mov    -0x14(%ebp),%edx
451918:	2b d0                	sub    %eax,%edx
45191a:	8b 47 2c             	mov    0x2c(%edi),%eax
45191d:	89 10                	mov    %edx,(%eax)
45191f:	8b 55 24             	mov    0x24(%ebp),%edx
451922:	f6 c2 02             	test   $0x2,%dl
451925:	74 24                	je     0x45194b
451927:	85 c9                	test   %ecx,%ecx
451929:	74 20                	je     0x45194b
45192b:	8b 47 30             	mov    0x30(%edi),%eax
45192e:	8b 4f 20             	mov    0x20(%edi),%ecx
451931:	8b 10                	mov    (%eax),%edx
451933:	8b 47 10             	mov    0x10(%edi),%eax
451936:	03 11                	add    (%ecx),%edx
451938:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45193b:	89 08                	mov    %ecx,(%eax)
45193d:	03 cb                	add    %ebx,%ecx
45193f:	8b 47 20             	mov    0x20(%edi),%eax
451942:	2b d1                	sub    %ecx,%edx
451944:	89 08                	mov    %ecx,(%eax)
451946:	8b 47 30             	mov    0x30(%edi),%eax
451949:	89 10                	mov    %edx,(%eax)
45194b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45194e:	89 1e                	mov    %ebx,(%esi)
451950:	89 46 04             	mov    %eax,0x4(%esi)
451953:	eb 0d                	jmp    0x451962
451955:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
45195b:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
451962:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
451969:	0f 57 c0             	xorps  %xmm0,%xmm0
45196c:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
451973:	8b c6                	mov    %esi,%eax
451975:	5f                   	pop    %edi
451976:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
45197b:	5e                   	pop    %esi
45197c:	5b                   	pop    %ebx
45197d:	8b e5                	mov    %ebp,%esp
45197f:	5d                   	pop    %ebp
451980:	c2 20 00             	ret    $0x20
451983:	cc                   	int3
451984:	cc                   	int3
451985:	cc                   	int3
451986:	cc                   	int3
451987:	cc                   	int3
451988:	cc                   	int3
451989:	cc                   	int3
45198a:	cc                   	int3
45198b:	cc                   	int3
45198c:	cc                   	int3
45198d:	cc                   	int3
45198e:	cc                   	int3
45198f:	cc                   	int3
451990:	55                   	push   %ebp
451991:	8b ec                	mov    %esp,%ebp
451993:	ff 75 0c             	push   0xc(%ebp)
451996:	33 d2                	xor    %edx,%edx
451998:	b8 04 00 00 00       	mov    $0x4,%eax
45199d:	39 51 38             	cmp    %edx,0x38(%ecx)
4519a0:	0f 45 c2             	cmovne %edx,%eax
4519a3:	0b 41 0c             	or     0xc(%ecx),%eax
4519a6:	0b 45 08             	or     0x8(%ebp),%eax
4519a9:	50                   	push   %eax
4519aa:	e8 11 8c fe ff       	call   0x43a5c0
4519af:	5d                   	pop    %ebp
4519b0:	c2 08 00             	ret    $0x8
4519b3:	cc                   	int3
4519b4:	cc                   	int3
4519b5:	cc                   	int3
4519b6:	cc                   	int3
4519b7:	cc                   	int3
4519b8:	cc                   	int3
4519b9:	cc                   	int3
4519ba:	cc                   	int3
4519bb:	cc                   	int3
4519bc:	cc                   	int3
4519bd:	cc                   	int3
4519be:	cc                   	int3
4519bf:	cc                   	int3
4519c0:	56                   	push   %esi
4519c1:	57                   	push   %edi
4519c2:	8b f9                	mov    %ecx,%edi
4519c4:	8b 07                	mov    (%edi),%eax
4519c6:	8b 70 18             	mov    0x18(%eax),%esi
4519c9:	8b ce                	mov    %esi,%ecx
4519cb:	ff 15 e0 24 68 00    	call   *0x6824e0
4519d1:	8b cf                	mov    %edi,%ecx
4519d3:	ff d6                	call   *%esi
4519d5:	83 f8 ff             	cmp    $0xffffffff,%eax
4519d8:	75 05                	jne    0x4519df
4519da:	5f                   	pop    %edi
4519db:	0b c0                	or     %eax,%eax
4519dd:	5e                   	pop    %esi
4519de:	c3                   	ret
4519df:	8b 47 2c             	mov    0x2c(%edi),%eax
4519e2:	ff 08                	decl   (%eax)
4519e4:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4519e7:	5f                   	pop    %edi
4519e8:	5e                   	pop    %esi
4519e9:	8b 11                	mov    (%ecx),%edx
4519eb:	8d 42 01             	lea    0x1(%edx),%eax
4519ee:	89 01                	mov    %eax,(%ecx)
4519f0:	0f b6 02             	movzbl (%edx),%eax
4519f3:	c3                   	ret
4519f4:	cc                   	int3
4519f5:	cc                   	int3
4519f6:	cc                   	int3
4519f7:	cc                   	int3
4519f8:	cc                   	int3
4519f9:	cc                   	int3
4519fa:	cc                   	int3
4519fb:	cc                   	int3
4519fc:	cc                   	int3
4519fd:	cc                   	int3
4519fe:	cc                   	int3
4519ff:	cc                   	int3
451a00:	83 c8 ff             	or     $0xffffffff,%eax
451a03:	c3                   	ret
451a04:	cc                   	int3
451a05:	cc                   	int3
451a06:	cc                   	int3
451a07:	cc                   	int3
451a08:	cc                   	int3
451a09:	cc                   	int3
451a0a:	cc                   	int3
451a0b:	cc                   	int3
451a0c:	cc                   	int3
451a0d:	cc                   	int3
451a0e:	cc                   	int3
451a0f:	cc                   	int3
451a10:	56                   	push   %esi
451a11:	57                   	push   %edi
451a12:	8b 79 1c             	mov    0x1c(%ecx),%edi
451a15:	8b 17                	mov    (%edi),%edx
451a17:	85 d2                	test   %edx,%edx
451a19:	74 45                	je     0x451a60
451a1b:	8b 41 2c             	mov    0x2c(%ecx),%eax
451a1e:	8b 00                	mov    (%eax),%eax
451a20:	03 c2                	add    %edx,%eax
451a22:	3b d0                	cmp    %eax,%edx
451a24:	73 06                	jae    0x451a2c
451a26:	0f b6 02             	movzbl (%edx),%eax
451a29:	5f                   	pop    %edi
451a2a:	5e                   	pop    %esi
451a2b:	c3                   	ret
451a2c:	8b 41 20             	mov    0x20(%ecx),%eax
451a2f:	8b 00                	mov    (%eax),%eax
451a31:	85 c0                	test   %eax,%eax
451a33:	74 2b                	je     0x451a60
451a35:	f6 41 3c 04          	testb  $0x4,0x3c(%ecx)
451a39:	75 25                	jne    0x451a60
451a3b:	8b 71 38             	mov    0x38(%ecx),%esi
451a3e:	3b f0                	cmp    %eax,%esi
451a40:	0f 42 f0             	cmovb  %eax,%esi
451a43:	3b f2                	cmp    %edx,%esi
451a45:	76 19                	jbe    0x451a60
451a47:	89 71 38             	mov    %esi,0x38(%ecx)
451a4a:	8b 07                	mov    (%edi),%eax
451a4c:	2b f0                	sub    %eax,%esi
451a4e:	89 07                	mov    %eax,(%edi)
451a50:	8b 41 2c             	mov    0x2c(%ecx),%eax
451a53:	5f                   	pop    %edi
451a54:	89 30                	mov    %esi,(%eax)
451a56:	8b 41 1c             	mov    0x1c(%ecx),%eax
451a59:	5e                   	pop    %esi
451a5a:	8b 00                	mov    (%eax),%eax
451a5c:	0f b6 00             	movzbl (%eax),%eax
451a5f:	c3                   	ret
451a60:	5f                   	pop    %edi
451a61:	83 c8 ff             	or     $0xffffffff,%eax
451a64:	5e                   	pop    %esi
451a65:	c3                   	ret
451a66:	cc                   	int3
451a67:	cc                   	int3
451a68:	cc                   	int3
451a69:	cc                   	int3
451a6a:	cc                   	int3
451a6b:	cc                   	int3