41aa07:	84 c0                	test   %al,%al
41aa09:	75 07                	jne    0x41aa12
41aa0b:	83 ea 02             	sub    $0x2,%edx
41aa0e:	3b d3                	cmp    %ebx,%edx
41aa10:	75 e6                	jne    0x41a9f8
41aa12:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
41aa18:	0f b7 32             	movzwl (%edx),%esi
41aa1b:	83 fe 3a             	cmp    $0x3a,%esi
41aa1e:	75 1a                	jne    0x41aa3a
41aa20:	8d 43 02             	lea    0x2(%ebx),%eax
41aa23:	3b d0                	cmp    %eax,%edx
41aa25:	74 13                	je     0x41aa3a
41aa27:	51                   	push   %ecx
41aa28:	33 ff                	xor    %edi,%edi
41aa2a:	57                   	push   %edi
41aa2b:	57                   	push   %edi
41aa2c:	53                   	push   %ebx
41aa2d:	e8 e7 fe ff ff       	call   0x41a919
41aa32:	83 c4 10             	add    $0x10,%esp
41aa35:	e9 f6 00 00 00       	jmp    0x41ab30
41aa3a:	56                   	push   %esi
41aa3b:	8d 8d ab fd ff ff    	lea    -0x255(%ebp),%ecx
41aa41:	e8 f9 00 00 00       	call   0x41ab3f
41aa46:	2b d3                	sub    %ebx,%edx
41aa48:	0f b6 c0             	movzbl %al,%eax
41aa4b:	d1 fa                	sar    $1,%edx
41aa4d:	42                   	inc    %edx
41aa4e:	f7 d8                	neg    %eax
41aa50:	1b c0                	sbb    %eax,%eax
41aa52:	33 ff                	xor    %edi,%edi
41aa54:	57                   	push   %edi
41aa55:	57                   	push   %edi
41aa56:	23 c2                	and    %edx,%eax
41aa58:	57                   	push   %edi
41aa59:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
41aa5f:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
41aa65:	50                   	push   %eax
41aa66:	57                   	push   %edi
41aa67:	53                   	push   %ebx
41aa68:	ff 15 18 41 42 00    	call   *0x424118
41aa6e:	8b f0                	mov    %eax,%esi
41aa70:	8b 85 a4 fd ff ff    	mov    -0x25c(%ebp),%eax
41aa76:	83 fe ff             	cmp    $0xffffffff,%esi
41aa79:	75 13                	jne    0x41aa8e
41aa7b:	50                   	push   %eax
41aa7c:	57                   	push   %edi
41aa7d:	57                   	push   %edi
41aa7e:	53                   	push   %ebx
41aa7f:	e8 95 fe ff ff       	call   0x41a919
41aa84:	83 c4 10             	add    $0x10,%esp
41aa87:	8b f8                	mov    %eax,%edi
41aa89:	e9 a0 00 00 00       	jmp    0x41ab2e
41aa8e:	8b 48 04             	mov    0x4(%eax),%ecx
41aa91:	2b 08                	sub    (%eax),%ecx
41aa93:	c1 f9 02             	sar    $0x2,%ecx
41aa96:	6a 2e                	push   $0x2e
41aa98:	89 8d 9c fd ff ff    	mov    %ecx,-0x264(%ebp)
41aa9e:	59                   	pop    %ecx
41aa9f:	66 39 8d d8 fd ff ff 	cmp    %cx,-0x228(%ebp)
41aaa6:	75 1b                	jne    0x41aac3
41aaa8:	66 39 bd da fd ff ff 	cmp    %di,-0x226(%ebp)
41aaaf:	74 2d                	je     0x41aade
41aab1:	66 39 8d da fd ff ff 	cmp    %cx,-0x226(%ebp)
41aab8:	75 09                	jne    0x41aac3
41aaba:	66 39 bd dc fd ff ff 	cmp    %di,-0x224(%ebp)
41aac1:	74 1b                	je     0x41aade
41aac3:	50                   	push   %eax
41aac4:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
41aaca:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
41aad0:	53                   	push   %ebx
41aad1:	50                   	push   %eax
41aad2:	e8 42 fe ff ff       	call   0x41a919
41aad7:	83 c4 10             	add    $0x10,%esp
41aada:	85 c0                	test   %eax,%eax
41aadc:	75 47                	jne    0x41ab25
41aade:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
41aae4:	50                   	push   %eax
41aae5:	56                   	push   %esi
41aae6:	ff 15 1c 41 42 00    	call   *0x42411c
41aaec:	6a 2e                	push   $0x2e
41aaee:	85 c0                	test   %eax,%eax
41aaf0:	8b 85 a4 fd ff ff    	mov    -0x25c(%ebp),%eax
41aaf6:	59                   	pop    %ecx
41aaf7:	75 a6                	jne    0x41aa9f
41aaf9:	8b 10                	mov    (%eax),%edx
41aafb:	8b 40 04             	mov    0x4(%eax),%eax
41aafe:	8b 8d 9c fd ff ff    	mov    -0x264(%ebp),%ecx
41ab04:	2b c2                	sub    %edx,%eax
41ab06:	c1 f8 02             	sar    $0x2,%eax
41ab09:	3b c8                	cmp    %eax,%ecx
41ab0b:	74 1a                	je     0x41ab27
41ab0d:	68 d9 a6 41 00       	push   $0x41a6d9
41ab12:	2b c1                	sub    %ecx,%eax
41ab14:	6a 04                	push   $0x4
41ab16:	50                   	push   %eax
41ab17:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
41ab1a:	50                   	push   %eax
41ab1b:	e8 60 66 00 00       	call   0x421180
41ab20:	83 c4 10             	add    $0x10,%esp
41ab23:	eb 02                	jmp    0x41ab27
41ab25:	8b f8                	mov    %eax,%edi
41ab27:	56                   	push   %esi
41ab28:	ff 15 14 41 42 00    	call   *0x424114
41ab2e:	8b c7                	mov    %edi,%eax
41ab30:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ab33:	5f                   	pop    %edi
41ab34:	5e                   	pop    %esi
41ab35:	33 cd                	xor    %ebp,%ecx
41ab37:	5b                   	pop    %ebx
41ab38:	e8 cf c8 fe ff       	call   0x40740c
41ab3d:	c9                   	leave
41ab3e:	c3                   	ret
41ab3f:	8b ff                	mov    %edi,%edi
41ab41:	55                   	push   %ebp
41ab42:	8b ec                	mov    %esp,%ebp
41ab44:	66 83 7d 08 2f       	cmpw   $0x2f,0x8(%ebp)
41ab49:	74 12                	je     0x41ab5d
41ab4b:	66 83 7d 08 5c       	cmpw   $0x5c,0x8(%ebp)
41ab50:	74 0b                	je     0x41ab5d
41ab52:	66 83 7d 08 3a       	cmpw   $0x3a,0x8(%ebp)
41ab57:	74 04                	je     0x41ab5d
41ab59:	32 c0                	xor    %al,%al
41ab5b:	eb 02                	jmp    0x41ab5f
41ab5d:	b0 01                	mov    $0x1,%al
41ab5f:	5d                   	pop    %ebp
41ab60:	c2 04 00             	ret    $0x4
41ab63:	8b ff                	mov    %edi,%edi
41ab65:	56                   	push   %esi
41ab66:	8b f1                	mov    %ecx,%esi
41ab68:	57                   	push   %edi
41ab69:	8b 7e 08             	mov    0x8(%esi),%edi
41ab6c:	39 7e 04             	cmp    %edi,0x4(%esi)
41ab6f:	74 04                	je     0x41ab75
41ab71:	33 c0                	xor    %eax,%eax
41ab73:	eb 72                	jmp    0x41abe7
41ab75:	83 3e 00             	cmpl   $0x0,(%esi)
41ab78:	75 26                	jne    0x41aba0
41ab7a:	6a 04                	push   $0x4
41ab7c:	6a 04                	push   $0x4
41ab7e:	e8 2b 85 ff ff       	call   0x4130ae
41ab83:	6a 00                	push   $0x0
41ab85:	89 06                	mov    %eax,(%esi)
41ab87:	e8 7f 85 ff ff       	call   0x41310b
41ab8c:	8b 06                	mov    (%esi),%eax
41ab8e:	83 c4 0c             	add    $0xc,%esp
41ab91:	85 c0                	test   %eax,%eax
41ab93:	74 18                	je     0x41abad
41ab95:	89 46 04             	mov    %eax,0x4(%esi)
41ab98:	83 c0 10             	add    $0x10,%eax
41ab9b:	89 46 08             	mov    %eax,0x8(%esi)
41ab9e:	eb d1                	jmp    0x41ab71
41aba0:	2b 3e                	sub    (%esi),%edi
41aba2:	c1 ff 02             	sar    $0x2,%edi
41aba5:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
41abab:	76 05                	jbe    0x41abb2
41abad:	6a 0c                	push   $0xc
41abaf:	58                   	pop    %eax
41abb0:	eb 35                	jmp    0x41abe7
41abb2:	53                   	push   %ebx
41abb3:	6a 04                	push   $0x4
41abb5:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
41abb8:	53                   	push   %ebx
41abb9:	ff 36                	push   (%esi)
41abbb:	e8 79 2f 00 00       	call   0x41db39
41abc0:	83 c4 0c             	add    $0xc,%esp
41abc3:	85 c0                	test   %eax,%eax
41abc5:	75 05                	jne    0x41abcc
41abc7:	6a 0c                	push   $0xc
41abc9:	5e                   	pop    %esi
41abca:	eb 10                	jmp    0x41abdc
41abcc:	89 06                	mov    %eax,(%esi)
41abce:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
41abd1:	8d 04 98             	lea    (%eax,%ebx,4),%eax
41abd4:	89 4e 04             	mov    %ecx,0x4(%esi)
41abd7:	89 46 08             	mov    %eax,0x8(%esi)
41abda:	33 f6                	xor    %esi,%esi
41abdc:	6a 00                	push   $0x0
41abde:	e8 28 85 ff ff       	call   0x41310b
41abe3:	59                   	pop    %ecx
41abe4:	8b c6                	mov    %esi,%eax
41abe6:	5b                   	pop    %ebx
41abe7:	5f                   	pop    %edi
41abe8:	5e                   	pop    %esi
41abe9:	c3                   	ret
41abea:	8b ff                	mov    %edi,%edi
41abec:	55                   	push   %ebp
41abed:	8b ec                	mov    %esp,%ebp
41abef:	5d                   	pop    %ebp
41abf0:	e9 fc fa ff ff       	jmp    0x41a6f1
41abf5:	6a 08                	push   $0x8
41abf7:	68 a0 19 43 00       	push   $0x4319a0
41abfc:	e8 bf d3 fe ff       	call   0x407fc0
41ac01:	8b 45 08             	mov    0x8(%ebp),%eax
41ac04:	ff 30                	push   (%eax)
41ac06:	e8 18 25 ff ff       	call   0x40d123
41ac0b:	59                   	pop    %ecx
41ac0c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ac10:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ac13:	e8 2a 00 00 00       	call   0x41ac42
41ac18:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41ac1f:	e8 12 00 00 00       	call   0x41ac36
41ac24:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41ac27:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41ac2e:	59                   	pop    %ecx
41ac2f:	5f                   	pop    %edi
41ac30:	5e                   	pop    %esi
41ac31:	5b                   	pop    %ebx
41ac32:	c9                   	leave
41ac33:	c2 0c 00             	ret    $0xc
41ac36:	8b 45 10             	mov    0x10(%ebp),%eax
41ac39:	ff 30                	push   (%eax)
41ac3b:	e8 2b 25 ff ff       	call   0x40d16b
41ac40:	59                   	pop    %ecx
41ac41:	c3                   	ret
41ac42:	8b ff                	mov    %edi,%edi
41ac44:	56                   	push   %esi
41ac45:	8b f1                	mov    %ecx,%esi
41ac47:	b9 01 01 00 00       	mov    $0x101,%ecx
41ac4c:	51                   	push   %ecx
41ac4d:	8b 06                	mov    (%esi),%eax
41ac4f:	8b 00                	mov    (%eax),%eax
41ac51:	8b 40 48             	mov    0x48(%eax),%eax
41ac54:	83 c0 18             	add    $0x18,%eax
41ac57:	50                   	push   %eax
41ac58:	51                   	push   %ecx
41ac59:	ff 35 bc 4d 43 00    	push   0x434dbc
41ac5f:	e8 ea 2e ff ff       	call   0x40db4e
41ac64:	8b 06                	mov    (%esi),%eax
41ac66:	b9 00 01 00 00       	mov    $0x100,%ecx
41ac6b:	51                   	push   %ecx
41ac6c:	8b 00                	mov    (%eax),%eax
41ac6e:	8b 40 48             	mov    0x48(%eax),%eax
41ac71:	05 19 01 00 00       	add    $0x119,%eax
41ac76:	50                   	push   %eax
41ac77:	51                   	push   %ecx
41ac78:	ff 35 c0 4d 43 00    	push   0x434dc0
41ac7e:	e8 cb 2e ff ff       	call   0x40db4e
41ac83:	8b 46 04             	mov    0x4(%esi),%eax
41ac86:	83 c4 20             	add    $0x20,%esp
41ac89:	83 c9 ff             	or     $0xffffffff,%ecx
41ac8c:	8b 00                	mov    (%eax),%eax
41ac8e:	8b 00                	mov    (%eax),%eax
41ac90:	f0 0f c1 08          	lock xadd %ecx,(%eax)
41ac94:	75 15                	jne    0x41acab
41ac96:	8b 46 04             	mov    0x4(%esi),%eax
41ac99:	8b 00                	mov    (%eax),%eax
41ac9b:	81 38 40 35 43 00    	cmpl   $0x433540,(%eax)
41aca1:	74 08                	je     0x41acab
41aca3:	ff 30                	push   (%eax)
41aca5:	e8 61 84 ff ff       	call   0x41310b
41acaa:	59                   	pop    %ecx
41acab:	8b 06                	mov    (%esi),%eax
41acad:	8b 10                	mov    (%eax),%edx
41acaf:	8b 46 04             	mov    0x4(%esi),%eax
41acb2:	8b 08                	mov    (%eax),%ecx
41acb4:	8b 42 48             	mov    0x48(%edx),%eax
41acb7:	89 01                	mov    %eax,(%ecx)
41acb9:	8b 06                	mov    (%esi),%eax
41acbb:	8b 00                	mov    (%eax),%eax
41acbd:	8b 40 48             	mov    0x48(%eax),%eax
41acc0:	f0 ff 00             	lock incl (%eax)
41acc3:	5e                   	pop    %esi
41acc4:	c3                   	ret
41acc5:	8b ff                	mov    %edi,%edi
41acc7:	55                   	push   %ebp
41acc8:	8b ec                	mov    %esp,%ebp
41acca:	8b 45 08             	mov    0x8(%ebp),%eax
41accd:	2d a4 03 00 00       	sub    $0x3a4,%eax
41acd2:	74 28                	je     0x41acfc
41acd4:	83 e8 04             	sub    $0x4,%eax
41acd7:	74 1c                	je     0x41acf5
41acd9:	83 e8 0d             	sub    $0xd,%eax
41acdc:	74 10                	je     0x41acee
41acde:	83 e8 01             	sub    $0x1,%eax
41ace1:	74 04                	je     0x41ace7
41ace3:	33 c0                	xor    %eax,%eax
41ace5:	5d                   	pop    %ebp
41ace6:	c3                   	ret
41ace7:	a1 dc 85 42 00       	mov    0x4285dc,%eax
41acec:	5d                   	pop    %ebp
41aced:	c3                   	ret
41acee:	a1 d8 85 42 00       	mov    0x4285d8,%eax
41acf3:	5d                   	pop    %ebp
41acf4:	c3                   	ret
41acf5:	a1 d4 85 42 00       	mov    0x4285d4,%eax
41acfa:	5d                   	pop    %ebp
41acfb:	c3                   	ret
41acfc:	a1 d0 85 42 00       	mov    0x4285d0,%eax
41ad01:	5d                   	pop    %ebp
41ad02:	c3                   	ret
41ad03:	8b ff                	mov    %edi,%edi
41ad05:	55                   	push   %ebp
41ad06:	8b ec                	mov    %esp,%ebp
41ad08:	83 ec 10             	sub    $0x10,%esp
41ad0b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41ad0e:	6a 00                	push   $0x0
41ad10:	e8 69 0f ff ff       	call   0x40bc7e
41ad15:	83 25 c8 4d 43 00 00 	andl   $0x0,0x434dc8
41ad1c:	8b 45 08             	mov    0x8(%ebp),%eax
41ad1f:	83 f8 fe             	cmp    $0xfffffffe,%eax
41ad22:	75 12                	jne    0x41ad36
41ad24:	c7 05 c8 4d 43 00 01 	movl   $0x1,0x434dc8
41ad2b:	00 00 00
41ad2e:	ff 15 30 40 42 00    	call   *0x424030
41ad34:	eb 2c                	jmp    0x41ad62
41ad36:	83 f8 fd             	cmp    $0xfffffffd,%eax
41ad39:	75 12                	jne    0x41ad4d
41ad3b:	c7 05 c8 4d 43 00 01 	movl   $0x1,0x434dc8
41ad42:	00 00 00
41ad45:	ff 15 24 41 42 00    	call   *0x424124
41ad4b:	eb 15                	jmp    0x41ad62
41ad4d:	83 f8 fc             	cmp    $0xfffffffc,%eax
41ad50:	75 10                	jne    0x41ad62
41ad52:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ad55:	c7 05 c8 4d 43 00 01 	movl   $0x1,0x434dc8
41ad5c:	00 00 00
41ad5f:	8b 40 08             	mov    0x8(%eax),%eax
41ad62:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41ad66:	74 0a                	je     0x41ad72
41ad68:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41ad6b:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41ad72:	c9                   	leave
41ad73:	c3                   	ret
41ad74:	8b ff                	mov    %edi,%edi
41ad76:	55                   	push   %ebp
41ad77:	8b ec                	mov    %esp,%ebp
41ad79:	53                   	push   %ebx
41ad7a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ad7d:	56                   	push   %esi
41ad7e:	57                   	push   %edi
41ad7f:	68 01 01 00 00       	push   $0x101
41ad84:	33 ff                	xor    %edi,%edi
41ad86:	8d 73 18             	lea    0x18(%ebx),%esi
41ad89:	57                   	push   %edi
41ad8a:	56                   	push   %esi
41ad8b:	e8 60 e1 fe ff       	call   0x408ef0
41ad90:	89 7b 04             	mov    %edi,0x4(%ebx)
41ad93:	33 c0                	xor    %eax,%eax
41ad95:	89 7b 08             	mov    %edi,0x8(%ebx)
41ad98:	83 c4 0c             	add    $0xc,%esp
41ad9b:	89 bb 1c 02 00 00    	mov    %edi,0x21c(%ebx)
41ada1:	b9 01 01 00 00       	mov    $0x101,%ecx
41ada6:	8d 7b 0c             	lea    0xc(%ebx),%edi
41ada9:	ab                   	stos   %eax,%es:(%edi)
41adaa:	ab                   	stos   %eax,%es:(%edi)
41adab:	ab                   	stos   %eax,%es:(%edi)
41adac:	bf 40 35 43 00       	mov    $0x433540,%edi
41adb1:	2b fb                	sub    %ebx,%edi
41adb3:	8a 04 37             	mov    (%edi,%esi,1),%al
41adb6:	88 06                	mov    %al,(%esi)