41ea8c:	8b ce                	mov    %esi,%ecx
41ea8e:	e8 43 ff ff ff       	call   0x41e9d6
41ea93:	57                   	push   %edi
41ea94:	8b ce                	mov    %esi,%ecx
41ea96:	e8 01 ff ff ff       	call   0x41e99c
41ea9b:	5f                   	pop    %edi
41ea9c:	5e                   	pop    %esi
41ea9d:	c2 04 00             	ret    $0x4
41eaa0:	56                   	push   %esi
41eaa1:	8b f1                	mov    %ecx,%esi
41eaa3:	8b 06                	mov    (%esi),%eax
41eaa5:	83 c0 f4             	add    $0xfffffff4,%eax
41eaa8:	3b 05 f8 16 43 00    	cmp    0x4316f8,%eax
41eaae:	74 17                	je     0x41eac7
41eab0:	50                   	push   %eax
41eab1:	ff 15 18 97 43 00    	call   *0x439718
41eab7:	85 c0                	test   %eax,%eax
41eab9:	7f 0c                	jg     0x41eac7
41eabb:	8b 06                	mov    (%esi),%eax
41eabd:	83 e8 0c             	sub    $0xc,%eax
41eac0:	50                   	push   %eax
41eac1:	e8 77 e2 ff ff       	call   0x41cd3d
41eac6:	59                   	pop    %ecx
41eac7:	5e                   	pop    %esi
41eac8:	c3                   	ret
41eac9:	56                   	push   %esi
41eaca:	57                   	push   %edi
41eacb:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41eacf:	8b f1                	mov    %ecx,%esi
41ead1:	57                   	push   %edi
41ead2:	e8 a0 ff ff ff       	call   0x41ea77
41ead7:	57                   	push   %edi
41ead8:	ff 74 24 14          	push   0x14(%esp)
41eadc:	ff 36                	push   (%esi)
41eade:	e8 8d d2 fe ff       	call   0x40bd70
41eae3:	8b 06                	mov    (%esi),%eax
41eae5:	83 c4 0c             	add    $0xc,%esp
41eae8:	89 78 f8             	mov    %edi,-0x8(%eax)
41eaeb:	8b 06                	mov    (%esi),%eax
41eaed:	80 24 38 00          	andb   $0x0,(%eax,%edi,1)
41eaf1:	5f                   	pop    %edi
41eaf2:	5e                   	pop    %esi
41eaf3:	c2 08 00             	ret    $0x8
41eaf6:	56                   	push   %esi
41eaf7:	57                   	push   %edi
41eaf8:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41eafc:	8b f1                	mov    %ecx,%esi
41eafe:	85 ff                	test   %edi,%edi
41eb00:	75 04                	jne    0x41eb06
41eb02:	33 c0                	xor    %eax,%eax
41eb04:	eb 07                	jmp    0x41eb0d
41eb06:	57                   	push   %edi
41eb07:	ff 15 40 97 43 00    	call   *0x439740
41eb0d:	57                   	push   %edi
41eb0e:	50                   	push   %eax
41eb0f:	8b ce                	mov    %esi,%ecx
41eb11:	e8 b3 ff ff ff       	call   0x41eac9
41eb16:	8b c6                	mov    %esi,%eax
41eb18:	5f                   	pop    %edi
41eb19:	5e                   	pop    %esi
41eb1a:	c2 04 00             	ret    $0x4
41eb1d:	53                   	push   %ebx
41eb1e:	56                   	push   %esi
41eb1f:	8b f1                	mov    %ecx,%esi
41eb21:	57                   	push   %edi
41eb22:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41eb26:	8b 06                	mov    (%esi),%eax
41eb28:	83 78 f4 01          	cmpl   $0x1,-0xc(%eax)
41eb2c:	8d 58 f4             	lea    -0xc(%eax),%ebx
41eb2f:	7f 05                	jg     0x41eb36
41eb31:	3b 48 fc             	cmp    -0x4(%eax),%ecx
41eb34:	7e 2e                	jle    0x41eb64
41eb36:	8b 78 f8             	mov    -0x8(%eax),%edi
41eb39:	3b cf                	cmp    %edi,%ecx
41eb3b:	7d 02                	jge    0x41eb3f
41eb3d:	8b cf                	mov    %edi,%ecx
41eb3f:	51                   	push   %ecx
41eb40:	8b ce                	mov    %esi,%ecx
41eb42:	e8 55 fe ff ff       	call   0x41e99c
41eb47:	8d 47 01             	lea    0x1(%edi),%eax
41eb4a:	50                   	push   %eax
41eb4b:	8d 43 0c             	lea    0xc(%ebx),%eax
41eb4e:	50                   	push   %eax
41eb4f:	ff 36                	push   (%esi)
41eb51:	e8 1a d2 fe ff       	call   0x40bd70
41eb56:	8b 06                	mov    (%esi),%eax
41eb58:	83 c4 0c             	add    $0xc,%esp
41eb5b:	53                   	push   %ebx
41eb5c:	89 78 f8             	mov    %edi,-0x8(%eax)
41eb5f:	e8 a4 fe ff ff       	call   0x41ea08
41eb64:	8b 06                	mov    (%esi),%eax
41eb66:	5f                   	pop    %edi
41eb67:	5e                   	pop    %esi
41eb68:	5b                   	pop    %ebx
41eb69:	c2 04 00             	ret    $0x4
41eb6c:	56                   	push   %esi
41eb6d:	8b f1                	mov    %ecx,%esi
41eb6f:	e8 d5 fe ff ff       	call   0x41ea49
41eb74:	8b 44 24 08          	mov    0x8(%esp),%eax
41eb78:	83 f8 ff             	cmp    $0xffffffff,%eax
41eb7b:	75 08                	jne    0x41eb85
41eb7d:	ff 36                	push   (%esi)
41eb7f:	ff 15 40 97 43 00    	call   *0x439740
41eb85:	8b 0e                	mov    (%esi),%ecx
41eb87:	89 41 f8             	mov    %eax,-0x8(%ecx)
41eb8a:	8b 0e                	mov    (%esi),%ecx
41eb8c:	5e                   	pop    %esi
41eb8d:	80 24 01 00          	andb   $0x0,(%ecx,%eax,1)
41eb91:	c2 04 00             	ret    $0x4
41eb94:	56                   	push   %esi
41eb95:	57                   	push   %edi
41eb96:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41eb9a:	8b f1                	mov    %ecx,%esi
41eb9c:	57                   	push   %edi
41eb9d:	e8 7b ff ff ff       	call   0x41eb1d
41eba2:	8b 06                	mov    (%esi),%eax
41eba4:	89 78 f8             	mov    %edi,-0x8(%eax)
41eba7:	8b 06                	mov    (%esi),%eax
41eba9:	80 24 38 00          	andb   $0x0,(%eax,%edi,1)
41ebad:	8b 06                	mov    (%esi),%eax
41ebaf:	5f                   	pop    %edi
41ebb0:	5e                   	pop    %esi
41ebb1:	c2 04 00             	ret    $0x4
41ebb4:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
41ebb9:	56                   	push   %esi
41ebba:	8b 74 24 08          	mov    0x8(%esp),%esi
41ebbe:	75 08                	jne    0x41ebc8
41ebc0:	85 f6                	test   %esi,%esi
41ebc2:	74 04                	je     0x41ebc8
41ebc4:	33 c0                	xor    %eax,%eax
41ebc6:	5e                   	pop    %esi
41ebc7:	c3                   	ret
41ebc8:	ff 74 24 10          	push   0x10(%esp)
41ebcc:	56                   	push   %esi
41ebcd:	6a ff                	push   $0xffffffff
41ebcf:	ff 74 24 18          	push   0x18(%esp)
41ebd3:	6a 00                	push   $0x0
41ebd5:	6a 00                	push   $0x0
41ebd7:	ff 15 f4 96 43 00    	call   *0x4396f4
41ebdd:	85 c0                	test   %eax,%eax
41ebdf:	7e 06                	jle    0x41ebe7
41ebe1:	66 83 64 46 fe 00    	andw   $0x0,-0x2(%esi,%eax,2)
41ebe7:	5e                   	pop    %esi
41ebe8:	c3                   	ret
41ebe9:	55                   	push   %ebp
41ebea:	8b ec                	mov    %esp,%ebp
41ebec:	81 ec 04 01 00 00    	sub    $0x104,%esp
41ebf2:	56                   	push   %esi
41ebf3:	be 00 01 00 00       	mov    $0x100,%esi
41ebf8:	57                   	push   %edi
41ebf9:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
41ebff:	56                   	push   %esi
41ec00:	50                   	push   %eax
41ec01:	ff 75 08             	push   0x8(%ebp)
41ec04:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ec07:	e8 61 00 00 00       	call   0x41ec6d
41ec0c:	8b f8                	mov    %eax,%edi
41ec0e:	8b c6                	mov    %esi,%eax
41ec10:	2b c7                	sub    %edi,%eax
41ec12:	83 f8 02             	cmp    $0x2,%eax
41ec15:	76 18                	jbe    0x41ec2f
41ec17:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ec1a:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
41ec20:	50                   	push   %eax
41ec21:	e8 d0 fe ff ff       	call   0x41eaf6
41ec26:	33 c0                	xor    %eax,%eax
41ec28:	85 ff                	test   %edi,%edi
41ec2a:	0f 9f c0             	setg   %al
41ec2d:	eb 38                	jmp    0x41ec67
41ec2f:	53                   	push   %ebx
41ec30:	8b fe                	mov    %esi,%edi
41ec32:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ec35:	03 fe                	add    %esi,%edi
41ec37:	57                   	push   %edi
41ec38:	8d 47 ff             	lea    -0x1(%edi),%eax
41ec3b:	50                   	push   %eax
41ec3c:	e8 dc fe ff ff       	call   0x41eb1d
41ec41:	50                   	push   %eax
41ec42:	ff 75 08             	push   0x8(%ebp)
41ec45:	e8 23 00 00 00       	call   0x41ec6d
41ec4a:	8b d8                	mov    %eax,%ebx
41ec4c:	8b c7                	mov    %edi,%eax
41ec4e:	2b c3                	sub    %ebx,%eax
41ec50:	83 f8 02             	cmp    $0x2,%eax
41ec53:	7e dd                	jle    0x41ec32
41ec55:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ec58:	6a ff                	push   $0xffffffff
41ec5a:	e8 0d ff ff ff       	call   0x41eb6c
41ec5f:	33 c0                	xor    %eax,%eax
41ec61:	85 db                	test   %ebx,%ebx
41ec63:	0f 9f c0             	setg   %al
41ec66:	5b                   	pop    %ebx
41ec67:	5f                   	pop    %edi
41ec68:	5e                   	pop    %esi
41ec69:	c9                   	leave
41ec6a:	c2 04 00             	ret    $0x4
41ec6d:	56                   	push   %esi
41ec6e:	e8 d4 5a 00 00       	call   0x424747
41ec73:	ff 74 24 10          	push   0x10(%esp)
41ec77:	8b 74 24 10          	mov    0x10(%esp),%esi
41ec7b:	8b 40 0c             	mov    0xc(%eax),%eax
41ec7e:	56                   	push   %esi
41ec7f:	ff 74 24 10          	push   0x10(%esp)
41ec83:	50                   	push   %eax
41ec84:	ff 15 e0 97 43 00    	call   *0x4397e0
41ec8a:	85 c0                	test   %eax,%eax
41ec8c:	75 02                	jne    0x41ec90
41ec8e:	20 06                	and    %al,(%esi)
41ec90:	5e                   	pop    %esi
41ec91:	c2 0c 00             	ret    $0xc
41ec94:	55                   	push   %ebp
41ec95:	8b ec                	mov    %esp,%ebp
41ec97:	53                   	push   %ebx
41ec98:	56                   	push   %esi
41ec99:	8b 75 0c             	mov    0xc(%ebp),%esi
41ec9c:	57                   	push   %edi
41ec9d:	85 f6                	test   %esi,%esi
41ec9f:	74 67                	je     0x41ed08
41eca1:	8b 5d 10             	mov    0x10(%ebp),%ebx
41eca4:	8b c3                	mov    %ebx,%eax
41eca6:	4b                   	dec    %ebx
41eca7:	85 c0                	test   %eax,%eax
41eca9:	74 1b                	je     0x41ecc6
41ecab:	0f be 7d 14          	movsbl 0x14(%ebp),%edi
41ecaf:	57                   	push   %edi
41ecb0:	56                   	push   %esi
41ecb1:	e8 4a d9 fe ff       	call   0x40c600
41ecb6:	8b f0                	mov    %eax,%esi
41ecb8:	59                   	pop    %ecx
41ecb9:	85 f6                	test   %esi,%esi
41ecbb:	59                   	pop    %ecx
41ecbc:	74 42                	je     0x41ed00
41ecbe:	46                   	inc    %esi
41ecbf:	8b c3                	mov    %ebx,%eax
41ecc1:	4b                   	dec    %ebx
41ecc2:	85 c0                	test   %eax,%eax
41ecc4:	75 e9                	jne    0x41ecaf
41ecc6:	0f be 45 14          	movsbl 0x14(%ebp),%eax
41ecca:	50                   	push   %eax
41eccb:	56                   	push   %esi
41eccc:	e8 2f d9 fe ff       	call   0x40c600
41ecd1:	59                   	pop    %ecx
41ecd2:	85 c0                	test   %eax,%eax
41ecd4:	59                   	pop    %ecx
41ecd5:	75 09                	jne    0x41ece0
41ecd7:	56                   	push   %esi
41ecd8:	ff 15 40 97 43 00    	call   *0x439740
41ecde:	eb 02                	jmp    0x41ece2
41ece0:	2b c6                	sub    %esi,%eax
41ece2:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ece5:	50                   	push   %eax
41ece6:	56                   	push   %esi
41ece7:	50                   	push   %eax
41ece8:	e8 a7 fe ff ff       	call   0x41eb94
41eced:	50                   	push   %eax
41ecee:	e8 7d d0 fe ff       	call   0x40bd70
41ecf3:	83 c4 0c             	add    $0xc,%esp
41ecf6:	6a 01                	push   $0x1
41ecf8:	58                   	pop    %eax
41ecf9:	5f                   	pop    %edi
41ecfa:	5e                   	pop    %esi
41ecfb:	5b                   	pop    %ebx
41ecfc:	5d                   	pop    %ebp
41ecfd:	c2 10 00             	ret    $0x10
41ed00:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ed03:	e8 23 fd ff ff       	call   0x41ea2b
41ed08:	33 c0                	xor    %eax,%eax
41ed0a:	eb ed                	jmp    0x41ecf9
41ed0c:	8b c1                	mov    %ecx,%eax
41ed0e:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41ed12:	c7 00 ac b4 42 00    	movl   $0x42b4ac,(%eax)
41ed18:	89 48 04             	mov    %ecx,0x4(%eax)
41ed1b:	c2 04 00             	ret    $0x4
41ed1e:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
41ed22:	7e 0b                	jle    0x41ed2f
41ed24:	85 c9                	test   %ecx,%ecx
41ed26:	74 07                	je     0x41ed2f
41ed28:	8b 01                	mov    (%ecx),%eax
41ed2a:	6a 01                	push   $0x1
41ed2c:	ff 50 04             	call   *0x4(%eax)
41ed2f:	c3                   	ret
41ed30:	8b 44 24 0c          	mov    0xc(%esp),%eax
41ed34:	33 c9                	xor    %ecx,%ecx
41ed36:	3b c1                	cmp    %ecx,%eax
41ed38:	74 02                	je     0x41ed3c
41ed3a:	89 08                	mov    %ecx,(%eax)
41ed3c:	39 4c 24 08          	cmp    %ecx,0x8(%esp)
41ed40:	74 0a                	je     0x41ed4c
41ed42:	8b 44 24 04          	mov    0x4(%esp),%eax
41ed46:	3b c1                	cmp    %ecx,%eax
41ed48:	74 02                	je     0x41ed4c
41ed4a:	88 08                	mov    %cl,(%eax)
41ed4c:	33 c0                	xor    %eax,%eax
41ed4e:	c2 0c 00             	ret    $0xc
41ed51:	55                   	push   %ebp
41ed52:	8b ec                	mov    %esp,%ebp
41ed54:	81 ec 04 02 00 00    	sub    $0x204,%esp
41ed5a:	8b 01                	mov    (%ecx),%eax
41ed5c:	8d 55 fc             	lea    -0x4(%ebp),%edx
41ed5f:	52                   	push   %edx
41ed60:	8d 95 fc fd ff ff    	lea    -0x204(%ebp),%edx
41ed66:	68 00 02 00 00       	push   $0x200
41ed6b:	52                   	push   %edx
41ed6c:	ff 50 14             	call   *0x14(%eax)
41ed6f:	85 c0                	test   %eax,%eax
41ed71:	74 14                	je     0x41ed87
41ed73:	ff 75 fc             	push   -0x4(%ebp)
41ed76:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
41ed7c:	ff 75 08             	push   0x8(%ebp)
41ed7f:	50                   	push   %eax
41ed80:	e8 30 20 00 00       	call   0x420db5
41ed85:	eb 1b                	jmp    0x41eda2
41ed87:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41ed8b:	75 07                	jne    0x41ed94
41ed8d:	c7 45 0c 20 f0 00 00 	movl   $0xf020,0xc(%ebp)
41ed94:	ff 75 fc             	push   -0x4(%ebp)
41ed97:	ff 75 08             	push   0x8(%ebp)
41ed9a:	ff 75 0c             	push   0xc(%ebp)
41ed9d:	e8 34 20 00 00       	call   0x420dd6
41eda2:	c9                   	leave
41eda3:	c2 08 00             	ret    $0x8
41eda6:	e8 c2 59 00 00       	call   0x42476d
41edab:	ff 40 10             	incl   0x10(%eax)
41edae:	c3                   	ret
41edaf:	55                   	push   %ebp
41edb0:	8b ec                	mov    %esp,%ebp
41edb2:	51                   	push   %ecx
41edb3:	53                   	push   %ebx
41edb4:	56                   	push   %esi
41edb5:	57                   	push   %edi
41edb6:	e8 b2 59 00 00       	call   0x42476d
41edbb:	8b d8                	mov    %eax,%ebx
41edbd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41edc0:	8b 43 10             	mov    0x10(%ebx),%eax
41edc3:	85 c0                	test   %eax,%eax
41edc5:	0f 84 c3 00 00 00    	je     0x41ee8e
41edcb:	48                   	dec    %eax
41edcc:	85 c0                	test   %eax,%eax
41edce:	89 43 10             	mov    %eax,0x10(%ebx)
41edd1:	0f 85 b7 00 00 00    	jne    0x41ee8e
41edd7:	e8 e0 f1 ff ff       	call   0x41dfbc
41eddc:	8b f0                	mov    %eax,%esi
41edde:	e8 64 59 00 00       	call   0x424747
41ede3:	8b 78 04             	mov    0x4(%eax),%edi
41ede6:	33 c9                	xor    %ecx,%ecx
41ede8:	39 4d 08             	cmp    %ecx,0x8(%ebp)
41edeb:	74 2e                	je     0x41ee1b
41eded:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
41edf1:	74 0f                	je     0x41ee02
41edf3:	3b f1                	cmp    %ecx,%esi