410748:	74 0c                	je     0x410756
41074a:	3b f7                	cmp    %edi,%esi
41074c:	75 0e                	jne    0x41075c
41074e:	81 c9 00 00 01 00    	or     $0x10000,%ecx
410754:	eb 06                	jmp    0x41075c
410756:	81 c9 00 00 02 00    	or     $0x20000,%ecx
41075c:	0f b7 c0             	movzwl %ax,%eax
41075f:	ba 00 10 00 00       	mov    $0x1000,%edx
410764:	85 c2                	test   %eax,%edx
410766:	74 06                	je     0x41076e
410768:	81 c9 00 00 04 00    	or     $0x40000,%ecx
41076e:	8b 7d 0c             	mov    0xc(%ebp),%edi
410771:	8b f7                	mov    %edi,%esi
410773:	8b 45 08             	mov    0x8(%ebp),%eax
410776:	f7 d6                	not    %esi
410778:	23 f1                	and    %ecx,%esi
41077a:	23 c7                	and    %edi,%eax
41077c:	0b f0                	or     %eax,%esi
41077e:	3b f1                	cmp    %ecx,%esi
410780:	0f 84 a8 00 00 00    	je     0x41082e
410786:	56                   	push   %esi
410787:	e8 3c 02 00 00       	call   0x4109c8
41078c:	59                   	pop    %ecx
41078d:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
410791:	d9 6d fc             	fldcw  -0x4(%ebp)
410794:	9b d9 7d fc          	fstcw  -0x4(%ebp)
410798:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
41079c:	0f b7 f0             	movzwl %ax,%esi
41079f:	83 e6 01             	and    $0x1,%esi
4107a2:	c1 e6 04             	shl    $0x4,%esi
4107a5:	a8 04                	test   $0x4,%al
4107a7:	74 03                	je     0x4107ac
4107a9:	83 ce 08             	or     $0x8,%esi
4107ac:	a8 08                	test   $0x8,%al
4107ae:	74 03                	je     0x4107b3
4107b0:	83 ce 04             	or     $0x4,%esi
4107b3:	a8 10                	test   $0x10,%al
4107b5:	74 03                	je     0x4107ba
4107b7:	83 ce 02             	or     $0x2,%esi
4107ba:	a8 20                	test   $0x20,%al
4107bc:	74 03                	je     0x4107c1
4107be:	83 ce 01             	or     $0x1,%esi
4107c1:	a8 02                	test   $0x2,%al
4107c3:	74 06                	je     0x4107cb
4107c5:	81 ce 00 00 08 00    	or     $0x80000,%esi
4107cb:	0f b7 d0             	movzwl %ax,%edx
4107ce:	8b ca                	mov    %edx,%ecx
4107d0:	23 cb                	and    %ebx,%ecx
4107d2:	74 2a                	je     0x4107fe
4107d4:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
4107da:	74 1c                	je     0x4107f8
4107dc:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4107e2:	74 0c                	je     0x4107f0
4107e4:	3b cb                	cmp    %ebx,%ecx
4107e6:	75 16                	jne    0x4107fe
4107e8:	81 ce 00 03 00 00    	or     $0x300,%esi
4107ee:	eb 0e                	jmp    0x4107fe
4107f0:	81 ce 00 02 00 00    	or     $0x200,%esi
4107f6:	eb 06                	jmp    0x4107fe
4107f8:	81 ce 00 01 00 00    	or     $0x100,%esi
4107fe:	81 e2 00 03 00 00    	and    $0x300,%edx
410804:	74 10                	je     0x410816
410806:	81 fa 00 02 00 00    	cmp    $0x200,%edx
41080c:	75 0e                	jne    0x41081c
41080e:	81 ce 00 00 01 00    	or     $0x10000,%esi
410814:	eb 06                	jmp    0x41081c
410816:	81 ce 00 00 02 00    	or     $0x20000,%esi
41081c:	0f b7 c0             	movzwl %ax,%eax
41081f:	ba 00 10 00 00       	mov    $0x1000,%edx
410824:	85 c2                	test   %eax,%edx
410826:	74 06                	je     0x41082e
410828:	81 ce 00 00 04 00    	or     $0x40000,%esi
41082e:	83 3d 6c 1a 42 00 01 	cmpl   $0x1,0x421a6c
410835:	0f 8c 86 01 00 00    	jl     0x4109c1
41083b:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
410841:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
410845:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410848:	8b c1                	mov    %ecx,%eax
41084a:	c1 e8 03             	shr    $0x3,%eax
41084d:	83 e0 10             	and    $0x10,%eax
410850:	f7 c1 00 02 00 00    	test   $0x200,%ecx
410856:	74 03                	je     0x41085b
410858:	83 c8 08             	or     $0x8,%eax
41085b:	f7 c1 00 04 00 00    	test   $0x400,%ecx
410861:	74 03                	je     0x410866
410863:	83 c8 04             	or     $0x4,%eax
410866:	f7 c1 00 08 00 00    	test   $0x800,%ecx
41086c:	74 03                	je     0x410871
41086e:	83 c8 02             	or     $0x2,%eax
410871:	85 ca                	test   %ecx,%edx
410873:	74 03                	je     0x410878
410875:	83 c8 01             	or     $0x1,%eax
410878:	f7 c1 00 01 00 00    	test   $0x100,%ecx
41087e:	74 05                	je     0x410885
410880:	0d 00 00 08 00       	or     $0x80000,%eax
410885:	8b d1                	mov    %ecx,%edx
410887:	bb 00 60 00 00       	mov    $0x6000,%ebx
41088c:	23 d3                	and    %ebx,%edx
41088e:	74 27                	je     0x4108b7
410890:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
410896:	74 1a                	je     0x4108b2
410898:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
41089e:	74 0b                	je     0x4108ab
4108a0:	3b d3                	cmp    %ebx,%edx
4108a2:	75 13                	jne    0x4108b7
4108a4:	0d 00 03 00 00       	or     $0x300,%eax
4108a9:	eb 0c                	jmp    0x4108b7
4108ab:	0d 00 02 00 00       	or     $0x200,%eax
4108b0:	eb 05                	jmp    0x4108b7
4108b2:	0d 00 01 00 00       	or     $0x100,%eax
4108b7:	6a 40                	push   $0x40
4108b9:	81 e1 40 80 00 00    	and    $0x8040,%ecx
4108bf:	5b                   	pop    %ebx
4108c0:	2b cb                	sub    %ebx,%ecx
4108c2:	74 1a                	je     0x4108de
4108c4:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
4108ca:	74 0b                	je     0x4108d7
4108cc:	2b cb                	sub    %ebx,%ecx
4108ce:	75 13                	jne    0x4108e3
4108d0:	0d 00 00 00 01       	or     $0x1000000,%eax
4108d5:	eb 0c                	jmp    0x4108e3
4108d7:	0d 00 00 00 03       	or     $0x3000000,%eax
4108dc:	eb 05                	jmp    0x4108e3
4108de:	0d 00 00 00 02       	or     $0x2000000,%eax
4108e3:	8b cf                	mov    %edi,%ecx
4108e5:	23 7d 08             	and    0x8(%ebp),%edi
4108e8:	f7 d1                	not    %ecx
4108ea:	23 c8                	and    %eax,%ecx
4108ec:	0b cf                	or     %edi,%ecx
4108ee:	3b c8                	cmp    %eax,%ecx
4108f0:	0f 84 b4 00 00 00    	je     0x4109aa
4108f6:	51                   	push   %ecx
4108f7:	e8 46 fc ff ff       	call   0x410542
4108fc:	50                   	push   %eax
4108fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
410900:	e8 1b 47 00 00       	call   0x415020
410905:	59                   	pop    %ecx
410906:	59                   	pop    %ecx
410907:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
41090b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41090e:	8b c1                	mov    %ecx,%eax
410910:	c1 e8 03             	shr    $0x3,%eax
410913:	83 e0 10             	and    $0x10,%eax
410916:	f7 c1 00 02 00 00    	test   $0x200,%ecx
41091c:	74 03                	je     0x410921
41091e:	83 c8 08             	or     $0x8,%eax
410921:	f7 c1 00 04 00 00    	test   $0x400,%ecx
410927:	74 03                	je     0x41092c
410929:	83 c8 04             	or     $0x4,%eax
41092c:	f7 c1 00 08 00 00    	test   $0x800,%ecx
410932:	74 03                	je     0x410937
410934:	83 c8 02             	or     $0x2,%eax
410937:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
41093d:	74 03                	je     0x410942
41093f:	83 c8 01             	or     $0x1,%eax
410942:	f7 c1 00 01 00 00    	test   $0x100,%ecx
410948:	74 05                	je     0x41094f
41094a:	0d 00 00 08 00       	or     $0x80000,%eax
41094f:	8b d1                	mov    %ecx,%edx
410951:	bf 00 60 00 00       	mov    $0x6000,%edi
410956:	23 d7                	and    %edi,%edx
410958:	74 27                	je     0x410981
41095a:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
410960:	74 1a                	je     0x41097c
410962:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
410968:	74 0b                	je     0x410975
41096a:	3b d7                	cmp    %edi,%edx
41096c:	75 13                	jne    0x410981
41096e:	0d 00 03 00 00       	or     $0x300,%eax
410973:	eb 0c                	jmp    0x410981
410975:	0d 00 02 00 00       	or     $0x200,%eax
41097a:	eb 05                	jmp    0x410981
41097c:	0d 00 01 00 00       	or     $0x100,%eax
410981:	81 e1 40 80 00 00    	and    $0x8040,%ecx
410987:	2b cb                	sub    %ebx,%ecx
410989:	74 1a                	je     0x4109a5
41098b:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
410991:	74 0b                	je     0x41099e
410993:	2b cb                	sub    %ebx,%ecx
410995:	75 13                	jne    0x4109aa
410997:	0d 00 00 00 01       	or     $0x1000000,%eax
41099c:	eb 0c                	jmp    0x4109aa
41099e:	0d 00 00 00 03       	or     $0x3000000,%eax
4109a3:	eb 05                	jmp    0x4109aa
4109a5:	0d 00 00 00 02       	or     $0x2000000,%eax
4109aa:	8b c8                	mov    %eax,%ecx
4109ac:	33 c6                	xor    %esi,%eax
4109ae:	0b ce                	or     %esi,%ecx
4109b0:	a9 1f 03 08 00       	test   $0x8031f,%eax
4109b5:	74 06                	je     0x4109bd
4109b7:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
4109bd:	8b c1                	mov    %ecx,%eax
4109bf:	eb 02                	jmp    0x4109c3
4109c1:	8b c6                	mov    %esi,%eax
4109c3:	5f                   	pop    %edi
4109c4:	5e                   	pop    %esi
4109c5:	5b                   	pop    %ebx
4109c6:	c9                   	leave
4109c7:	c3                   	ret
4109c8:	8b ff                	mov    %edi,%edi
4109ca:	55                   	push   %ebp
4109cb:	8b ec                	mov    %esp,%ebp
4109cd:	8b 4d 08             	mov    0x8(%ebp),%ecx
4109d0:	8b d1                	mov    %ecx,%edx
4109d2:	c1 ea 04             	shr    $0x4,%edx
4109d5:	83 e2 01             	and    $0x1,%edx
4109d8:	8b c2                	mov    %edx,%eax
4109da:	f6 c1 08             	test   $0x8,%cl
4109dd:	74 06                	je     0x4109e5
4109df:	83 ca 04             	or     $0x4,%edx
4109e2:	0f b7 c2             	movzwl %dx,%eax
4109e5:	f6 c1 04             	test   $0x4,%cl
4109e8:	74 03                	je     0x4109ed
4109ea:	83 c8 08             	or     $0x8,%eax
4109ed:	f6 c1 02             	test   $0x2,%cl
4109f0:	74 03                	je     0x4109f5
4109f2:	83 c8 10             	or     $0x10,%eax
4109f5:	f6 c1 01             	test   $0x1,%cl
4109f8:	74 03                	je     0x4109fd
4109fa:	83 c8 20             	or     $0x20,%eax
4109fd:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
410a03:	74 03                	je     0x410a08
410a05:	83 c8 02             	or     $0x2,%eax
410a08:	56                   	push   %esi
410a09:	8b d1                	mov    %ecx,%edx
410a0b:	be 00 03 00 00       	mov    $0x300,%esi
410a10:	57                   	push   %edi
410a11:	bf 00 02 00 00       	mov    $0x200,%edi
410a16:	23 d6                	and    %esi,%edx
410a18:	74 23                	je     0x410a3d
410a1a:	81 fa 00 01 00 00    	cmp    $0x100,%edx
410a20:	74 16                	je     0x410a38
410a22:	3b d7                	cmp    %edi,%edx
410a24:	74 0b                	je     0x410a31
410a26:	3b d6                	cmp    %esi,%edx
410a28:	75 13                	jne    0x410a3d
410a2a:	0d 00 0c 00 00       	or     $0xc00,%eax
410a2f:	eb 0c                	jmp    0x410a3d
410a31:	0d 00 08 00 00       	or     $0x800,%eax
410a36:	eb 05                	jmp    0x410a3d
410a38:	0d 00 04 00 00       	or     $0x400,%eax
410a3d:	8b d1                	mov    %ecx,%edx
410a3f:	81 e2 00 00 03 00    	and    $0x30000,%edx
410a45:	74 0c                	je     0x410a53
410a47:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
410a4d:	75 06                	jne    0x410a55
410a4f:	0b c7                	or     %edi,%eax
410a51:	eb 02                	jmp    0x410a55
410a53:	0b c6                	or     %esi,%eax
410a55:	5f                   	pop    %edi
410a56:	5e                   	pop    %esi
410a57:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
410a5d:	74 05                	je     0x410a64
410a5f:	0d 00 10 00 00       	or     $0x1000,%eax
410a64:	5d                   	pop    %ebp
410a65:	c3                   	ret
410a66:	8b ff                	mov    %edi,%edi
410a68:	55                   	push   %ebp
410a69:	8b ec                	mov    %esp,%ebp
410a6b:	53                   	push   %ebx
410a6c:	56                   	push   %esi
410a6d:	57                   	push   %edi
410a6e:	33 ff                	xor    %edi,%edi
410a70:	bb e3 00 00 00       	mov    $0xe3,%ebx
410a75:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
410a78:	99                   	cltd
410a79:	2b c2                	sub    %edx,%eax
410a7b:	8b f0                	mov    %eax,%esi
410a7d:	d1 fe                	sar    $1,%esi
410a7f:	6a 55                	push   $0x55
410a81:	ff 34 f5 20 c9 41 00 	push   0x41c920(,%esi,8)
410a88:	ff 75 08             	push   0x8(%ebp)
410a8b:	e8 92 0f 00 00       	call   0x411a22
410a90:	83 c4 0c             	add    $0xc,%esp
410a93:	85 c0                	test   %eax,%eax
410a95:	74 13                	je     0x410aaa
410a97:	79 05                	jns    0x410a9e
410a99:	8d 5e ff             	lea    -0x1(%esi),%ebx
410a9c:	eb 03                	jmp    0x410aa1
410a9e:	8d 7e 01             	lea    0x1(%esi),%edi
410aa1:	3b fb                	cmp    %ebx,%edi
410aa3:	7e d0                	jle    0x410a75
410aa5:	83 c8 ff             	or     $0xffffffff,%eax
410aa8:	eb 07                	jmp    0x410ab1
410aaa:	8b 04 f5 24 c9 41 00 	mov    0x41c924(,%esi,8),%eax
410ab1:	5f                   	pop    %edi
410ab2:	5e                   	pop    %esi
410ab3:	5b                   	pop    %ebx
410ab4:	5d                   	pop    %ebp
410ab5:	c3                   	ret
410ab6:	8b ff                	mov    %edi,%edi
410ab8:	55                   	push   %ebp
410ab9:	8b ec                	mov    %esp,%ebp
410abb:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410abf:	74 1d                	je     0x410ade
410ac1:	ff 75 08             	push   0x8(%ebp)
410ac4:	e8 9d ff ff ff       	call   0x410a66
410ac9:	59                   	pop    %ecx
410aca:	85 c0                	test   %eax,%eax
410acc:	78 10                	js     0x410ade
410ace:	3d e4 00 00 00       	cmp    $0xe4,%eax
410ad3:	73 09                	jae    0x410ade
410ad5:	8b 04 c5 00 b8 41 00 	mov    0x41b800(,%eax,8),%eax
410adc:	5d                   	pop    %ebp
410add:	c3                   	ret
410ade:	33 c0                	xor    %eax,%eax
410ae0:	5d                   	pop    %ebp
410ae1:	c3                   	ret
410ae2:	6a 0c                	push   $0xc
410ae4:	68 88 02 42 00       	push   $0x420288
410ae9:	e8 b2 33 ff ff       	call   0x403ea0
410aee:	33 f6                	xor    %esi,%esi
410af0:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410af3:	8b 45 08             	mov    0x8(%ebp),%eax
410af6:	ff 30                	push   (%eax)
410af8:	e8 82 eb ff ff       	call   0x40f67f
410afd:	59                   	pop    %ecx
410afe:	89 75 fc             	mov    %esi,-0x4(%ebp)
410b01:	8b 45 0c             	mov    0xc(%ebp),%eax
410b04:	8b 00                	mov    (%eax),%eax
410b06:	8b 38                	mov    (%eax),%edi
410b08:	8b d7                	mov    %edi,%edx
410b0a:	c1 fa 06             	sar    $0x6,%edx
410b0d:	8b c7                	mov    %edi,%eax
410b0f:	83 e0 3f             	and    $0x3f,%eax
410b12:	6b c8 38             	imul   $0x38,%eax,%ecx
410b15:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
410b1c:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
410b21:	74 21                	je     0x410b44
410b23:	57                   	push   %edi
410b24:	e8 d2 ed ff ff       	call   0x40f8fb
410b29:	59                   	pop    %ecx
410b2a:	50                   	push   %eax
410b2b:	ff 15 30 91 41 00    	call   *0x419130
410b31:	85 c0                	test   %eax,%eax
410b33:	75 1d                	jne    0x410b52
410b35:	ff 15 28 90 41 00    	call   *0x419028
410b3b:	8b f0                	mov    %eax,%esi
410b3d:	e8 da 9b ff ff       	call   0x40a71c
410b42:	89 30                	mov    %esi,(%eax)
410b44:	e8 e6 9b ff ff       	call   0x40a72f
410b49:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
410b4f:	83 ce ff             	or     $0xffffffff,%esi
410b52:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410b55:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
410b5c:	e8 17 00 00 00       	call   0x410b78
410b61:	8b c6                	mov    %esi,%eax
410b63:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410b66:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410b6d:	59                   	pop    %ecx