4e8856:	7c 04                	jl     0x4e885c
4e8858:	85 ff                	test   %edi,%edi
4e885a:	73 13                	jae    0x4e886f
4e885c:	0f 57 c0             	xorps  %xmm0,%xmm0
4e885f:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
4e8864:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4e8867:	8b 7d f0             	mov    -0x10(%ebp),%edi
4e886a:	eb 03                	jmp    0x4e886f
4e886c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4e886f:	03 c6                	add    %esi,%eax
4e8871:	85 db                	test   %ebx,%ebx
4e8873:	75 1f                	jne    0x4e8894
4e8875:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
4e887b:	77 17                	ja     0x4e8894
4e887d:	6a ff                	push   $0xffffffff
4e887f:	53                   	push   %ebx
4e8880:	57                   	push   %edi
4e8881:	50                   	push   %eax
4e8882:	ff 75 08             	push   0x8(%ebp)
4e8885:	e8 26 ea 02 00       	call   0x5172b0
4e888a:	83 c4 14             	add    $0x14,%esp
4e888d:	5f                   	pop    %edi
4e888e:	5b                   	pop    %ebx
4e888f:	5e                   	pop    %esi
4e8890:	8b e5                	mov    %ebp,%esp
4e8892:	5d                   	pop    %ebp
4e8893:	c3                   	ret
4e8894:	8b 45 08             	mov    0x8(%ebp),%eax
4e8897:	85 c0                	test   %eax,%eax
4e8899:	74 45                	je     0x4e88e0
4e889b:	8b 30                	mov    (%eax),%esi
4e889d:	c7 40 14 12 00 00 00 	movl   $0x12,0x14(%eax)
4e88a4:	b8 00 24 00 00       	mov    $0x2400,%eax
4e88a9:	66 85 46 08          	test   %ax,0x8(%esi)
4e88ad:	75 06                	jne    0x4e88b5
4e88af:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
4e88b3:	74 09                	je     0x4e88be
4e88b5:	56                   	push   %esi
4e88b6:	e8 55 25 07 00       	call   0x55ae10
4e88bb:	83 c4 04             	add    $0x4,%esp
4e88be:	c6 46 0a 01          	movb   $0x1,0xa(%esi)
4e88c2:	b8 02 0a 00 00       	mov    $0xa02,%eax
4e88c7:	66 89 46 08          	mov    %ax,0x8(%esi)
4e88cb:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
4e88d2:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
4e88d9:	c7 46 10 00 88 6b 00 	movl   $0x6b8800,0x10(%esi)
4e88e0:	5f                   	pop    %edi
4e88e1:	5b                   	pop    %ebx
4e88e2:	5e                   	pop    %esi
4e88e3:	8b e5                	mov    %ebp,%esp
4e88e5:	5d                   	pop    %ebp
4e88e6:	c3                   	ret
4e88e7:	cc                   	int3
4e88e8:	cc                   	int3
4e88e9:	cc                   	int3
4e88ea:	cc                   	int3
4e88eb:	cc                   	int3
4e88ec:	cc                   	int3
4e88ed:	cc                   	int3
4e88ee:	cc                   	int3
4e88ef:	cc                   	int3
4e88f0:	55                   	push   %ebp
4e88f1:	8b ec                	mov    %esp,%ebp
4e88f3:	83 ec 1c             	sub    $0x1c,%esp
4e88f6:	8b 45 10             	mov    0x10(%ebp),%eax
4e88f9:	8b 4d 18             	mov    0x18(%ebp),%ecx
4e88fc:	99                   	cltd
4e88fd:	53                   	push   %ebx
4e88fe:	8b d8                	mov    %eax,%ebx
4e8900:	8b 45 14             	mov    0x14(%ebp),%eax
4e8903:	03 d8                	add    %eax,%ebx
4e8905:	56                   	push   %esi
4e8906:	8b 75 08             	mov    0x8(%ebp),%esi
4e8909:	13 d1                	adc    %ecx,%edx
4e890b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4e890e:	89 55 ec             	mov    %edx,-0x14(%ebp)
4e8911:	3b 56 1c             	cmp    0x1c(%esi),%edx
4e8914:	7c 12                	jl     0x4e8928
4e8916:	7f 05                	jg     0x4e891d
4e8918:	3b 5e 18             	cmp    0x18(%esi),%ebx
4e891b:	76 0b                	jbe    0x4e8928
4e891d:	5e                   	pop    %esi
4e891e:	b8 0a 02 00 00       	mov    $0x20a,%eax
4e8923:	5b                   	pop    %ebx
4e8924:	8b e5                	mov    %ebp,%esp
4e8926:	5d                   	pop    %ebp
4e8927:	c3                   	ret
4e8928:	57                   	push   %edi
4e8929:	39 46 28             	cmp    %eax,0x28(%esi)
4e892c:	75 0e                	jne    0x4e893c
4e892e:	39 4e 2c             	cmp    %ecx,0x2c(%esi)
4e8931:	75 09                	jne    0x4e893c
4e8933:	0b c1                	or     %ecx,%eax
4e8935:	74 05                	je     0x4e893c
4e8937:	8b 5e 30             	mov    0x30(%esi),%ebx
4e893a:	eb 4e                	jmp    0x4e898a
4e893c:	8b 5e 10             	mov    0x10(%esi),%ebx
4e893f:	0f 57 c0             	xorps  %xmm0,%xmm0
4e8942:	66 0f 13 45 e4       	movlpd %xmm0,-0x1c(%ebp)
4e8947:	85 db                	test   %ebx,%ebx
4e8949:	74 3f                	je     0x4e898a
4e894b:	8b 46 04             	mov    0x4(%esi),%eax
4e894e:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4e8951:	8b 75 18             	mov    0x18(%ebp),%esi
4e8954:	99                   	cltd
4e8955:	8b c8                	mov    %eax,%ecx
4e8957:	89 55 f8             	mov    %edx,-0x8(%ebp)
4e895a:	8b 45 e8             	mov    -0x18(%ebp),%eax
4e895d:	8b 55 14             	mov    0x14(%ebp),%edx
4e8960:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4e8963:	89 45 fc             	mov    %eax,-0x4(%ebp)
4e8966:	8b 45 f8             	mov    -0x8(%ebp),%eax
4e8969:	03 f9                	add    %ecx,%edi
4e896b:	13 45 fc             	adc    -0x4(%ebp),%eax
4e896e:	89 45 fc             	mov    %eax,-0x4(%ebp)
4e8971:	3b c6                	cmp    %esi,%eax
4e8973:	7f 0f                	jg     0x4e8984
4e8975:	7c 04                	jl     0x4e897b
4e8977:	3b fa                	cmp    %edx,%edi
4e8979:	77 09                	ja     0x4e8984
4e897b:	8b 1b                	mov    (%ebx),%ebx
4e897d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4e8980:	85 db                	test   %ebx,%ebx
4e8982:	75 e2                	jne    0x4e8966
4e8984:	8b 75 08             	mov    0x8(%ebp),%esi
4e8987:	8b 4d 18             	mov    0x18(%ebp),%ecx
4e898a:	8b 46 04             	mov    0x4(%esi),%eax
4e898d:	99                   	cltd
4e898e:	52                   	push   %edx
4e898f:	50                   	push   %eax
4e8990:	51                   	push   %ecx
4e8991:	ff 75 14             	push   0x14(%ebp)
4e8994:	e8 37 98 0f 00       	call   0x5e21d0
4e8999:	8b c8                	mov    %eax,%ecx
4e899b:	8b 45 10             	mov    0x10(%ebp),%eax
4e899e:	66 90                	xchg   %ax,%ax
4e89a0:	8b 7e 04             	mov    0x4(%esi),%edi
4e89a3:	2b f9                	sub    %ecx,%edi
4e89a5:	3b c7                	cmp    %edi,%eax
4e89a7:	8b f7                	mov    %edi,%esi
4e89a9:	0f 4c f0             	cmovl  %eax,%esi
4e89ac:	8d 41 04             	lea    0x4(%ecx),%eax
4e89af:	56                   	push   %esi
4e89b0:	03 c3                	add    %ebx,%eax
4e89b2:	50                   	push   %eax
4e89b3:	ff 75 0c             	push   0xc(%ebp)
4e89b6:	e8 45 a5 0f 00       	call   0x5e2f00
4e89bb:	8b 45 10             	mov    0x10(%ebp),%eax
4e89be:	83 c4 0c             	add    $0xc,%esp
4e89c1:	01 75 0c             	add    %esi,0xc(%ebp)
4e89c4:	b9 00 00 00 00       	mov    $0x0,%ecx
4e89c9:	2b c7                	sub    %edi,%eax
4e89cb:	89 45 10             	mov    %eax,0x10(%ebp)
4e89ce:	78 0d                	js     0x4e89dd
4e89d0:	8b 1b                	mov    (%ebx),%ebx
4e89d2:	85 db                	test   %ebx,%ebx
4e89d4:	74 13                	je     0x4e89e9
4e89d6:	8b 75 08             	mov    0x8(%ebp),%esi
4e89d9:	85 c0                	test   %eax,%eax
4e89db:	7f c3                	jg     0x4e89a0
4e89dd:	85 db                	test   %ebx,%ebx
4e89df:	74 08                	je     0x4e89e9
4e89e1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4e89e4:	8b 55 ec             	mov    -0x14(%ebp),%edx
4e89e7:	eb 0e                	jmp    0x4e89f7
4e89e9:	0f 57 c0             	xorps  %xmm0,%xmm0
4e89ec:	66 0f 13 45 14       	movlpd %xmm0,0x14(%ebp)
4e89f1:	8b 55 18             	mov    0x18(%ebp),%edx
4e89f4:	8b 4d 14             	mov    0x14(%ebp),%ecx
4e89f7:	8b 45 08             	mov    0x8(%ebp),%eax
4e89fa:	5f                   	pop    %edi
4e89fb:	5e                   	pop    %esi
4e89fc:	89 58 30             	mov    %ebx,0x30(%eax)
4e89ff:	89 48 28             	mov    %ecx,0x28(%eax)
4e8a02:	89 50 2c             	mov    %edx,0x2c(%eax)
4e8a05:	33 c0                	xor    %eax,%eax
4e8a07:	5b                   	pop    %ebx
4e8a08:	8b e5                	mov    %ebp,%esp
4e8a0a:	5d                   	pop    %ebp
4e8a0b:	c3                   	ret
4e8a0c:	cc                   	int3
4e8a0d:	cc                   	int3
4e8a0e:	cc                   	int3
4e8a0f:	cc                   	int3
4e8a10:	55                   	push   %ebp
4e8a11:	8b ec                	mov    %esp,%ebp
4e8a13:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4e8a16:	8b c1                	mov    %ecx,%eax
4e8a18:	56                   	push   %esi
4e8a19:	8b 75 08             	mov    0x8(%ebp),%esi
4e8a1c:	2d e8 03 00 00       	sub    $0x3e8,%eax
4e8a21:	0f 84 cb 00 00 00    	je     0x4e8af2
4e8a27:	83 e8 01             	sub    $0x1,%eax
4e8a2a:	0f 84 ad 00 00 00    	je     0x4e8add
4e8a30:	33 d2                	xor    %edx,%edx
4e8a32:	39 0c d5 50 1c 6b 00 	cmp    %ecx,0x6b1c50(,%edx,8)
4e8a39:	74 0e                	je     0x4e8a49
4e8a3b:	42                   	inc    %edx
4e8a3c:	83 fa 10             	cmp    $0x10,%edx
4e8a3f:	72 f1                	jb     0x4e8a32
4e8a41:	b8 01 00 00 00       	mov    $0x1,%eax
4e8a46:	5e                   	pop    %esi
4e8a47:	5d                   	pop    %ebp
4e8a48:	c3                   	ret
4e8a49:	8b 45 10             	mov    0x10(%ebp),%eax
4e8a4c:	53                   	push   %ebx
4e8a4d:	8b 5e 20             	mov    0x20(%esi),%ebx
4e8a50:	57                   	push   %edi
4e8a51:	8b 7e 24             	mov    0x24(%esi),%edi
4e8a54:	85 c0                	test   %eax,%eax
4e8a56:	7e 0f                	jle    0x4e8a67
4e8a58:	8b 04 d5 54 1c 6b 00 	mov    0x6b1c54(,%edx,8),%eax
4e8a5f:	33 c9                	xor    %ecx,%ecx
4e8a61:	0b c3                	or     %ebx,%eax
4e8a63:	0b cf                	or     %edi,%ecx
4e8a65:	eb 13                	jmp    0x4e8a7a
4e8a67:	75 17                	jne    0x4e8a80
4e8a69:	8b 04 d5 54 1c 6b 00 	mov    0x6b1c54(,%edx,8),%eax
4e8a70:	33 c9                	xor    %ecx,%ecx
4e8a72:	f7 d0                	not    %eax
4e8a74:	f7 d1                	not    %ecx
4e8a76:	23 c3                	and    %ebx,%eax
4e8a78:	23 cf                	and    %edi,%ecx
4e8a7a:	89 4e 24             	mov    %ecx,0x24(%esi)
4e8a7d:	89 46 20             	mov    %eax,0x20(%esi)
4e8a80:	3b 5e 20             	cmp    0x20(%esi),%ebx
4e8a83:	75 05                	jne    0x4e8a8a
4e8a85:	3b 7e 24             	cmp    0x24(%esi),%edi
4e8a88:	74 20                	je     0x4e8aaa
4e8a8a:	8b 4e 04             	mov    0x4(%esi),%ecx
4e8a8d:	85 c9                	test   %ecx,%ecx
4e8a8f:	74 19                	je     0x4e8aaa
4e8a91:	8b 81 98 00 00 00    	mov    0x98(%ecx),%eax
4e8a97:	83 e0 fd             	and    $0xfffffffd,%eax
4e8a9a:	83 c8 01             	or     $0x1,%eax
4e8a9d:	89 81 98 00 00 00    	mov    %eax,0x98(%ecx)
4e8aa3:	8b 49 08             	mov    0x8(%ecx),%ecx
4e8aa6:	85 c9                	test   %ecx,%ecx
4e8aa8:	75 e7                	jne    0x4e8a91
4e8aaa:	8b 7d 14             	mov    0x14(%ebp),%edi
4e8aad:	85 ff                	test   %edi,%edi
4e8aaf:	74 25                	je     0x4e8ad6
4e8ab1:	8b 0c d5 54 1c 6b 00 	mov    0x6b1c54(,%edx,8),%ecx
4e8ab8:	33 c0                	xor    %eax,%eax
4e8aba:	23 4e 20             	and    0x20(%esi),%ecx
4e8abd:	23 46 24             	and    0x24(%esi),%eax
4e8ac0:	0b c8                	or     %eax,%ecx
4e8ac2:	74 0e                	je     0x4e8ad2
4e8ac4:	b8 01 00 00 00       	mov    $0x1,%eax
4e8ac9:	89 07                	mov    %eax,(%edi)
4e8acb:	33 c0                	xor    %eax,%eax
4e8acd:	5f                   	pop    %edi
4e8ace:	5b                   	pop    %ebx
4e8acf:	5e                   	pop    %esi
4e8ad0:	5d                   	pop    %ebp
4e8ad1:	c3                   	ret
4e8ad2:	33 c0                	xor    %eax,%eax
4e8ad4:	89 07                	mov    %eax,(%edi)
4e8ad6:	5f                   	pop    %edi
4e8ad7:	5b                   	pop    %ebx
4e8ad8:	33 c0                	xor    %eax,%eax
4e8ada:	5e                   	pop    %esi
4e8adb:	5d                   	pop    %ebp
4e8adc:	c3                   	ret
4e8add:	ff 75 18             	push   0x18(%ebp)
4e8ae0:	ff 75 14             	push   0x14(%ebp)
4e8ae3:	ff 75 10             	push   0x10(%ebp)
4e8ae6:	56                   	push   %esi
4e8ae7:	e8 d4 e9 02 00       	call   0x5174c0
4e8aec:	83 c4 10             	add    $0x10,%esp
4e8aef:	5e                   	pop    %esi
4e8af0:	5d                   	pop    %ebp
4e8af1:	c3                   	ret
4e8af2:	8b 4e 10             	mov    0x10(%esi),%ecx
4e8af5:	8b 45 10             	mov    0x10(%ebp),%eax
4e8af8:	5e                   	pop    %esi
4e8af9:	89 01                	mov    %eax,(%ecx)
4e8afb:	33 c0                	xor    %eax,%eax
4e8afd:	5d                   	pop    %ebp
4e8afe:	c3                   	ret
4e8aff:	cc                   	int3
4e8b00:	55                   	push   %ebp
4e8b01:	8b ec                	mov    %esp,%ebp
4e8b03:	83 ec 34             	sub    $0x34,%esp
4e8b06:	53                   	push   %ebx
4e8b07:	56                   	push   %esi
4e8b08:	57                   	push   %edi
4e8b09:	8b 7d 14             	mov    0x14(%ebp),%edi
4e8b0c:	0f 1f 40 00          	nopl   0x0(%eax)
4e8b10:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4e8b13:	8b c7                	mov    %edi,%eax
4e8b15:	83 e0 10             	and    $0x10,%eax
4e8b18:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4e8b1b:	8b 4d 10             	mov    0x10(%ebp),%ecx
4e8b1e:	8b df                	mov    %edi,%ebx
4e8b20:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4e8b23:	8b f7                	mov    %edi,%esi
4e8b25:	8b c7                	mov    %edi,%eax
4e8b27:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4e8b2e:	83 e0 01             	and    $0x1,%eax
4e8b31:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4e8b38:	89 45 cc             	mov    %eax,-0x34(%ebp)
4e8b3b:	83 e3 08             	and    $0x8,%ebx
4e8b3e:	6a 40                	push   $0x40
4e8b40:	8b c7                	mov    %edi,%eax
4e8b42:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4e8b49:	83 e0 02             	and    $0x2,%eax
4e8b4c:	83 e6 04             	and    $0x4,%esi
4e8b4f:	6a 00                	push   $0x0
4e8b51:	51                   	push   %ecx
4e8b52:	89 45 f4             	mov    %eax,-0xc(%ebp)
4e8b55:	e8 a6 ae 0f 00       	call   0x5e3a00
4e8b5a:	8b 45 10             	mov    0x10(%ebp),%eax
4e8b5d:	83 c4 0c             	add    $0xc,%esp
4e8b60:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4e8b64:	c7 40 08 ff ff ff ff 	movl   $0xffffffff,0x8(%eax)
4e8b6b:	75 1f                	jne    0x4e8b8c
4e8b6d:	8d 45 fc             	lea    -0x4(%ebp),%eax
4e8b70:	50                   	push   %eax
4e8b71:	ff 75 08             	push   0x8(%ebp)
4e8b74:	e8 67 c4 07 00       	call   0x564fe0
4e8b79:	83 c4 08             	add    $0x8,%esp
4e8b7c:	85 c0                	test   %eax,%eax
4e8b7e:	0f 85 87 02 00 00    	jne    0x4e8e0b
4e8b84:	8b 45 fc             	mov    -0x4(%ebp),%eax
4e8b87:	89 45 dc             	mov    %eax,-0x24(%ebp)
4e8b8a:	eb 03                	jmp    0x4e8b8f
4e8b8c:	8b 45 0c             	mov    0xc(%ebp),%eax
4e8b8f:	50                   	push   %eax
4e8b90:	e8 ab d3 07 00       	call   0x565f40
4e8b95:	83 c4 04             	add    $0x4,%esp
4e8b98:	89 45 f8             	mov    %eax,-0x8(%ebp)
4e8b9b:	85 c0                	test   %eax,%eax
4e8b9d:	0f 84 58 02 00 00    	je     0x4e8dfb
4e8ba3:	50                   	push   %eax
4e8ba4:	e8 e7 c6 07 00       	call   0x565290
4e8ba9:	83 c4 04             	add    $0x4,%esp
4e8bac:	85 c0                	test   %eax,%eax
4e8bae:	0f 85 28 02 00 00    	jne    0x4e8ddc
4e8bb4:	8b 7d f4             	mov    -0xc(%ebp),%edi
4e8bb7:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
4e8bbc:	85 ff                	test   %edi,%edi
4e8bbe:	b8 00 00 00 80       	mov    $0x80000000,%eax
4e8bc3:	0f 44 d0             	cmove  %eax,%edx
4e8bc6:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4e8bca:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4e8bcd:	74 07                	je     0x4e8bd6
4e8bcf:	b8 01 00 00 00       	mov    $0x1,%eax
4e8bd4:	eb 0a                	jmp    0x4e8be0
4e8bd6:	33 c0                	xor    %eax,%eax