41ba61:	d3 e0                	shl    %cl,%eax
41ba63:	85 04 b2             	test   %eax,(%edx,%esi,4)
41ba66:	74 83                	je     0x41b9eb
41ba68:	8b 47 14             	mov    0x14(%edi),%eax
41ba6b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41ba6e:	8b 0f                	mov    (%edi),%ecx
41ba70:	8b 74 d0 04          	mov    0x4(%eax,%edx,8),%esi
41ba74:	39 34 d0             	cmp    %esi,(%eax,%edx,8)
41ba77:	74 20                	je     0x41ba99
41ba79:	ff 77 5c             	push   0x5c(%edi)
41ba7c:	ff 77 70             	push   0x70(%edi)
41ba7f:	56                   	push   %esi
41ba80:	ff 34 d0             	push   (%eax,%edx,8)
41ba83:	ff 77 50             	push   0x50(%edi)
41ba86:	51                   	push   %ecx
41ba87:	e8 f1 73 fe ff       	call   0x402e7d
41ba8c:	8b c8                	mov    %eax,%ecx
41ba8e:	83 c4 18             	add    $0x18,%esp
41ba91:	3b 0f                	cmp    (%edi),%ecx
41ba93:	0f 84 ab 00 00 00    	je     0x41bb44
41ba99:	89 0f                	mov    %ecx,(%edi)
41ba9b:	e9 4b ff ff ff       	jmp    0x41b9eb
41baa0:	56                   	push   %esi
41baa1:	8b cf                	mov    %edi,%ecx
41baa3:	e8 78 cd ff ff       	call   0x418820
41baa8:	84 c0                	test   %al,%al
41baaa:	0f b6 db             	movzbl %bl,%ebx
41baad:	6a 01                	push   $0x1
41baaf:	58                   	pop    %eax
41bab0:	0f 44 d8             	cmove  %eax,%ebx
41bab3:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bab6:	33 f6                	xor    %esi,%esi
41bab8:	e9 31 ff ff ff       	jmp    0x41b9ee
41babd:	8b 46 08             	mov    0x8(%esi),%eax
41bac0:	d1 e8                	shr    $1,%eax
41bac2:	22 c2                	and    %dl,%al
41bac4:	6a 00                	push   $0x0
41bac6:	0f b6 c0             	movzbl %al,%eax
41bac9:	50                   	push   %eax
41baca:	56                   	push   %esi
41bacb:	8b cf                	mov    %edi,%ecx
41bacd:	e8 07 d4 ff ff       	call   0x418ed9
41bad2:	eb d4                	jmp    0x41baa8
41bad4:	8b 4e 14             	mov    0x14(%esi),%ecx
41bad7:	8b 57 40             	mov    0x40(%edi),%edx
41bada:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
41bade:	8b 41 20             	mov    0x20(%ecx),%eax
41bae1:	75 d3                	jne    0x41bab6
41bae3:	ff 34 c2             	push   (%edx,%eax,8)
41bae6:	8b 41 08             	mov    0x8(%ecx),%eax
41bae9:	33 d2                	xor    %edx,%edx
41baeb:	d1 e8                	shr    $1,%eax
41baed:	42                   	inc    %edx
41baee:	22 c2                	and    %dl,%al
41baf0:	0f b6 c0             	movzbl %al,%eax
41baf3:	50                   	push   %eax
41baf4:	51                   	push   %ecx
41baf5:	eb d4                	jmp    0x41bacb
41baf7:	f7 47 60 20 20 00 00 	testl  $0x2020,0x60(%edi)
41bafe:	74 07                	je     0x41bb07
41bb00:	8b 47 4c             	mov    0x4c(%edi),%eax
41bb03:	3b 07                	cmp    (%edi),%eax
41bb05:	74 0d                	je     0x41bb14
41bb07:	80 7f 74 00          	cmpb   $0x0,0x74(%edi)
41bb0b:	74 0b                	je     0x41bb18
41bb0d:	8b 07                	mov    (%edi),%eax
41bb0f:	3b 47 50             	cmp    0x50(%edi),%eax
41bb12:	74 04                	je     0x41bb18
41bb14:	8a da                	mov    %dl,%bl
41bb16:	eb 9b                	jmp    0x41bab3
41bb18:	80 7f 64 00          	cmpb   $0x0,0x64(%edi)
41bb1c:	74 0b                	je     0x41bb29
41bb1e:	8b cf                	mov    %edi,%ecx
41bb20:	e8 0f ad ff ff       	call   0x416834
41bb25:	84 c0                	test   %al,%al
41bb27:	74 8d                	je     0x41bab6
41bb29:	57                   	push   %edi
41bb2a:	8d 4f 20             	lea    0x20(%edi),%ecx
41bb2d:	e8 ba 3a ff ff       	call   0x40f5ec
41bb32:	33 c0                	xor    %eax,%eax
41bb34:	40                   	inc    %eax
41bb35:	88 47 64             	mov    %al,0x64(%edi)
41bb38:	e9 79 ff ff ff       	jmp    0x41bab6
41bb3d:	33 d2                	xor    %edx,%edx
41bb3f:	42                   	inc    %edx
41bb40:	8a da                	mov    %dl,%bl
41bb42:	eb 05                	jmp    0x41bb49
41bb44:	33 c0                	xor    %eax,%eax
41bb46:	8d 58 01             	lea    0x1(%eax),%ebx
41bb49:	8b 4f 7c             	mov    0x7c(%edi),%ecx
41bb4c:	85 c9                	test   %ecx,%ecx
41bb4e:	7e 06                	jle    0x41bb56
41bb50:	8d 41 01             	lea    0x1(%ecx),%eax
41bb53:	89 47 7c             	mov    %eax,0x7c(%edi)
41bb56:	84 db                	test   %bl,%bl
41bb58:	0f 94 c0             	sete   %al
41bb5b:	e8 b3 3e 02 00       	call   0x43fa13
41bb60:	c2 04 00             	ret    $0x4
41bb63:	6a 0d                	push   $0xd
41bb65:	58                   	pop    %eax
41bb66:	50                   	push   %eax
41bb67:	eb 02                	jmp    0x41bb6b
41bb69:	6a 0c                	push   $0xc
41bb6b:	e8 d0 a1 00 00       	call   0x425d40
41bb70:	66 90                	xchg   %ax,%ax
41bb72:	ee                   	out    %al,(%dx)
41bb73:	b9 41 00 84 b8       	mov    $0xb8840041,%ecx
41bb78:	41                   	inc    %ecx
41bb79:	00 af b8 41 00 c5    	add    %ch,-0x3affbe48(%edi)
41bb7f:	b8 41 00 db b8       	mov    $0xb8db0041,%eax
41bb84:	41                   	inc    %ecx
41bb85:	00 ff                	add    %bh,%bh
41bb87:	b8 41 00 2b b9       	mov    $0xb92b0041,%eax
41bb8c:	41                   	inc    %ecx
41bb8d:	00 ee                	add    %ch,%dh
41bb8f:	b9 41 00 ee b9       	mov    $0xb9ee0041,%ecx
41bb94:	41                   	inc    %ecx
41bb95:	00 50 b9             	add    %dl,-0x47(%eax)
41bb98:	41                   	inc    %ecx
41bb99:	00 50 b9             	add    %dl,-0x47(%eax)
41bb9c:	41                   	inc    %ecx
41bb9d:	00 b6 ba 41 00 b0    	add    %dh,-0x4fffbe46(%esi)
41bba3:	b9 41 00 11 ba       	mov    $0xba110041,%ecx
41bba8:	41                   	inc    %ecx
41bba9:	00 4b ba             	add    %cl,-0x46(%ebx)
41bbac:	41                   	inc    %ecx
41bbad:	00 a0 ba 41 00 ee    	add    %ah,-0x11ffbe46(%eax)
41bbb3:	b9 41 00 bd ba       	mov    $0xbabd0041,%ecx
41bbb8:	41                   	inc    %ecx
41bbb9:	00 d4                	add    %dl,%ah
41bbbb:	ba 41 00 ee b9       	mov    $0xb9ee0041,%edx
41bbc0:	41                   	inc    %ecx
41bbc1:	00 f7                	add    %dh,%bh
41bbc3:	ba 41 00 6a 24       	mov    $0x246a0041,%edx
41bbc8:	b8 c0 f8 48 00       	mov    $0x48f8c0,%eax
41bbcd:	e8 78 3e 02 00       	call   0x43fa4a
41bbd2:	8b f9                	mov    %ecx,%edi
41bbd4:	8b 4f 7c             	mov    0x7c(%edi),%ecx
41bbd7:	85 c9                	test   %ecx,%ecx
41bbd9:	7e 10                	jle    0x41bbeb
41bbdb:	8d 41 ff             	lea    -0x1(%ecx),%eax
41bbde:	8b c8                	mov    %eax,%ecx
41bbe0:	89 47 7c             	mov    %eax,0x7c(%edi)
41bbe3:	85 c9                	test   %ecx,%ecx
41bbe5:	0f 8e 1e 03 00 00    	jle    0x41bf09
41bbeb:	8b 47 78             	mov    0x78(%edi),%eax
41bbee:	85 c0                	test   %eax,%eax
41bbf0:	7e 0f                	jle    0x41bc01
41bbf2:	48                   	dec    %eax
41bbf3:	89 47 78             	mov    %eax,0x78(%edi)
41bbf6:	85 c0                	test   %eax,%eax
41bbf8:	7f 07                	jg     0x41bc01
41bbfa:	6a 0b                	push   $0xb
41bbfc:	e9 0a 03 00 00       	jmp    0x41bf0b
41bc01:	8b 75 08             	mov    0x8(%ebp),%esi
41bc04:	32 db                	xor    %bl,%bl
41bc06:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bc09:	85 f6                	test   %esi,%esi
41bc0b:	0f 84 dd 02 00 00    	je     0x41beee
41bc11:	8b 4e 04             	mov    0x4(%esi),%ecx
41bc14:	33 d2                	xor    %edx,%edx
41bc16:	42                   	inc    %edx
41bc17:	8d 41 ff             	lea    -0x1(%ecx),%eax
41bc1a:	83 f8 14             	cmp    $0x14,%eax
41bc1d:	0f 87 e2 02 00 00    	ja     0x41bf05
41bc23:	ff 24 85 12 bf 41 00 	jmp    *0x41bf12(,%eax,4)
41bc2a:	f7 47 60 00 01 00 00 	testl  $0x100,0x60(%edi)
41bc31:	75 0e                	jne    0x41bc41
41bc33:	8b 07                	mov    (%edi),%eax
41bc35:	3b 47 4c             	cmp    0x4c(%edi),%eax
41bc38:	75 07                	jne    0x41bc41
41bc3a:	8a 5f 60             	mov    0x60(%edi),%bl
41bc3d:	22 da                	and    %dl,%bl
41bc3f:	eb 09                	jmp    0x41bc4a
41bc41:	8b 07                	mov    (%edi),%eax
41bc43:	80 78 ff 0a          	cmpb   $0xa,-0x1(%eax)
41bc47:	0f 95 c3             	setne  %bl
41bc4a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bc4d:	e9 f6 00 00 00       	jmp    0x41bd48
41bc52:	8b 07                	mov    (%edi),%eax
41bc54:	3b 47 50             	cmp    0x50(%edi),%eax
41bc57:	75 07                	jne    0x41bc60
41bc59:	8b 5f 60             	mov    0x60(%edi),%ebx
41bc5c:	d1 eb                	shr    $1,%ebx
41bc5e:	eb dd                	jmp    0x41bc3d
41bc60:	80 38 0a             	cmpb   $0xa,(%eax)
41bc63:	eb e2                	jmp    0x41bc47
41bc65:	8b cf                	mov    %edi,%ecx
41bc67:	e8 11 f9 ff ff       	call   0x41b57d
41bc6c:	8b 4e 08             	mov    0x8(%esi),%ecx
41bc6f:	33 d2                	xor    %edx,%edx
41bc71:	42                   	inc    %edx
41bc72:	23 ca                	and    %edx,%ecx
41bc74:	3a c1                	cmp    %cl,%al
41bc76:	0f 94 c3             	sete   %bl
41bc79:	eb cf                	jmp    0x41bc4a
41bc7b:	8b 07                	mov    (%edi),%eax
41bc7d:	3b 47 50             	cmp    0x50(%edi),%eax
41bc80:	74 14                	je     0x41bc96
41bc82:	8a 08                	mov    (%eax),%cl
41bc84:	80 f9 0a             	cmp    $0xa,%cl
41bc87:	74 0d                	je     0x41bc96
41bc89:	80 f9 0d             	cmp    $0xd,%cl
41bc8c:	74 08                	je     0x41bc96
41bc8e:	40                   	inc    %eax
41bc8f:	89 07                	mov    %eax,(%edi)
41bc91:	e9 b2 00 00 00       	jmp    0x41bd48
41bc96:	8a da                	mov    %dl,%bl
41bc98:	eb b0                	jmp    0x41bc4a
41bc9a:	ff 77 5c             	push   0x5c(%edi)
41bc9d:	8b 46 18             	mov    0x18(%esi),%eax
41bca0:	ff 77 70             	push   0x70(%edi)
41bca3:	8b 4e 1c             	mov    0x1c(%esi),%ecx
41bca6:	03 c1                	add    %ecx,%eax
41bca8:	50                   	push   %eax
41bca9:	51                   	push   %ecx
41bcaa:	ff 77 50             	push   0x50(%edi)
41bcad:	8d 45 e8             	lea    -0x18(%ebp),%eax
41bcb0:	ff 37                	push   (%edi)
41bcb2:	50                   	push   %eax
41bcb3:	e8 1f 72 fe ff       	call   0x402ed7
41bcb8:	83 c4 1c             	add    $0x1c,%esp
41bcbb:	8b 00                	mov    (%eax),%eax
41bcbd:	3b 07                	cmp    (%edi),%eax
41bcbf:	75 ce                	jne    0x41bc8f
41bcc1:	33 d2                	xor    %edx,%edx
41bcc3:	8d 5a 01             	lea    0x1(%edx),%ebx
41bcc6:	eb 82                	jmp    0x41bc4a
41bcc8:	8b 07                	mov    (%edi),%eax
41bcca:	3b 47 50             	cmp    0x50(%edi),%eax
41bccd:	0f 84 0f 02 00 00    	je     0x41bee2
41bcd3:	56                   	push   %esi
41bcd4:	8b cf                	mov    %edi,%ecx
41bcd6:	e8 9f c5 ff ff       	call   0x41827a
41bcdb:	84 c0                	test   %al,%al
41bcdd:	0f 84 fc 01 00 00    	je     0x41bedf
41bce3:	32 db                	xor    %bl,%bl
41bce5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bce8:	eb 66                	jmp    0x41bd50
41bcea:	8b 37                	mov    (%edi),%esi
41bcec:	83 f9 0b             	cmp    $0xb,%ecx
41bcef:	57                   	push   %edi
41bcf0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
41bcf3:	0f 94 c3             	sete   %bl
41bcf6:	e8 c5 ea fe ff       	call   0x40a7c0
41bcfb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41bcff:	8b cf                	mov    %edi,%ecx
41bd01:	8b 45 08             	mov    0x8(%ebp),%eax
41bd04:	ff 70 14             	push   0x14(%eax)
41bd07:	e8 ba fe ff ff       	call   0x41bbc6
41bd0c:	3a c3                	cmp    %bl,%al
41bd0e:	75 1b                	jne    0x41bd2b
41bd10:	8b 45 d0             	mov    -0x30(%ebp),%eax
41bd13:	8d 4f 04             	lea    0x4(%edi),%ecx
41bd16:	89 07                	mov    %eax,(%edi)
41bd18:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bd1b:	50                   	push   %eax
41bd1c:	e8 3e 3f ff ff       	call   0x40fc5f
41bd21:	33 d2                	xor    %edx,%edx
41bd23:	8d 5a 01             	lea    0x1(%edx),%ebx
41bd26:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41bd29:	eb 05                	jmp    0x41bd30
41bd2b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41bd2e:	89 37                	mov    %esi,(%edi)
41bd30:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41bd34:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41bd37:	89 45 ec             	mov    %eax,-0x14(%ebp)
41bd3a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41bd3e:	8b c8                	mov    %eax,%ecx
41bd40:	e8 53 13 00 00       	call   0x41d098
41bd45:	8b 75 08             	mov    0x8(%ebp),%esi
41bd48:	84 db                	test   %bl,%bl
41bd4a:	0f 85 9b 01 00 00    	jne    0x41beeb
41bd50:	85 f6                	test   %esi,%esi
41bd52:	0f 84 93 01 00 00    	je     0x41beeb
41bd58:	8b 76 0c             	mov    0xc(%esi),%esi
41bd5b:	89 75 08             	mov    %esi,0x8(%ebp)
41bd5e:	85 f6                	test   %esi,%esi
41bd60:	0f 84 85 01 00 00    	je     0x41beeb
41bd66:	e9 a6 fe ff ff       	jmp    0x41bc11
41bd6b:	8b 56 14             	mov    0x14(%esi),%edx
41bd6e:	8b 4f 14             	mov    0x14(%edi),%ecx
41bd71:	8b 07                	mov    (%edi),%eax
41bd73:	89 04 d1             	mov    %eax,(%ecx,%edx,8)
41bd76:	8b 47 10             	mov    0x10(%edi),%eax
41bd79:	39 46 14             	cmp    %eax,0x14(%esi)
41bd7c:	73 ca                	jae    0x41bd48
41bd7e:	8b 5d 08             	mov    0x8(%ebp),%ebx
41bd81:	8b 57 04             	mov    0x4(%edi),%edx
41bd84:	48                   	dec    %eax
41bd85:	8b f0                	mov    %eax,%esi
41bd87:	89 45 ec             	mov    %eax,-0x14(%ebp)
41bd8a:	c1 ee 05             	shr    $0x5,%esi
41bd8d:	8b c8                	mov    %eax,%ecx
41bd8f:	83 e1 1f             	and    $0x1f,%ecx
41bd92:	8b 04 b2             	mov    (%edx,%esi,4),%eax
41bd95:	0f b3 c8             	btr    %ecx,%eax
41bd98:	89 04 b2             	mov    %eax,(%edx,%esi,4)
41bd9b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41bd9e:	39 43 14             	cmp    %eax,0x14(%ebx)
41bda1:	72 de                	jb     0x41bd81
41bda3:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41bda6:	eb 9d                	jmp    0x41bd45
41bda8:	80 7f 65 00          	cmpb   $0x0,0x65(%edi)
41bdac:	8b 46 14             	mov    0x14(%esi),%eax
41bdaf:	89 45 ec             	mov    %eax,-0x14(%ebp)
41bdb2:	75 06                	jne    0x41bdba
41bdb4:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
41bdb8:	74 8e                	je     0x41bd48
41bdba:	8b 70 14             	mov    0x14(%eax),%esi
41bdbd:	8b d6                	mov    %esi,%edx
41bdbf:	8b 4f 04             	mov    0x4(%edi),%ecx
41bdc2:	83 e6 1f             	and    $0x1f,%esi
41bdc5:	c1 ea 05             	shr    $0x5,%edx
41bdc8:	8b 04 91             	mov    (%ecx,%edx,4),%eax
41bdcb:	0f ab f0             	bts    %esi,%eax
41bdce:	89 04 91             	mov    %eax,(%ecx,%edx,4)
41bdd1:	8b 55 ec             	mov    -0x14(%ebp),%edx
41bdd4:	8b 4f 14             	mov    0x14(%edi),%ecx
41bdd7:	8b 07                	mov    (%edi),%eax
41bdd9:	8b 52 14             	mov    0x14(%edx),%edx
41bddc:	89 44 d1 04          	mov    %eax,0x4(%ecx,%edx,8)
41bde0:	e9 60 ff ff ff       	jmp    0x41bd45
41bde5:	8b 46 14             	mov    0x14(%esi),%eax
41bde8:	8b f0                	mov    %eax,%esi
41bdea:	8b 57 04             	mov    0x4(%edi),%edx
41bded:	8b c8                	mov    %eax,%ecx
41bdef:	89 45 ec             	mov    %eax,-0x14(%ebp)
41bdf2:	83 e1 1f             	and    $0x1f,%ecx
41bdf5:	33 c0                	xor    %eax,%eax
41bdf7:	c1 ee 05             	shr    $0x5,%esi
41bdfa:	40                   	inc    %eax
41bdfb:	d3 e0                	shl    %cl,%eax
41bdfd:	85 04 b2             	test   %eax,(%edx,%esi,4)
41be00:	0f 84 3f ff ff ff    	je     0x41bd45
41be06:	8b 57 14             	mov    0x14(%edi),%edx
41be09:	8b 75 ec             	mov    -0x14(%ebp),%esi
41be0c:	8b 07                	mov    (%edi),%eax
41be0e:	8b 4c f2 04          	mov    0x4(%edx,%esi,8),%ecx
41be12:	39 0c f2             	cmp    %ecx,(%edx,%esi,8)
41be15:	74 24                	je     0x41be3b
41be17:	ff 77 5c             	push   0x5c(%edi)
41be1a:	ff 77 70             	push   0x70(%edi)
41be1d:	51                   	push   %ecx
41be1e:	ff 34 f2             	push   (%edx,%esi,8)
41be21:	ff 77 50             	push   0x50(%edi)
41be24:	50                   	push   %eax
41be25:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41be28:	50                   	push   %eax
41be29:	e8 1a 71 fe ff       	call   0x402f48