414689:	85 c9                	test   %ecx,%ecx
41468b:	0f 84 14 03 00 00    	je     0x4149a5
414691:	8d 46 08             	lea    0x8(%esi),%eax
414694:	89 5d d8             	mov    %ebx,-0x28(%ebp)
414697:	39 18                	cmp    %ebx,(%eax)
414699:	75 1c                	jne    0x4146b7
41469b:	50                   	push   %eax
41469c:	68 04 10 00 00       	push   $0x1004
4146a1:	51                   	push   %ecx
4146a2:	8d 45 b8             	lea    -0x48(%ebp),%eax
4146a5:	53                   	push   %ebx
4146a6:	50                   	push   %eax
4146a7:	e8 f3 78 00 00       	call   0x41bf9f
4146ac:	83 c4 14             	add    $0x14,%esp
4146af:	85 c0                	test   %eax,%eax
4146b1:	0f 85 bb 02 00 00    	jne    0x414972
4146b7:	6a 04                	push   $0x4
4146b9:	6a 01                	push   $0x1
4146bb:	e8 6f fd ff ff       	call   0x41442f
4146c0:	53                   	push   %ebx
4146c1:	89 45 d8             	mov    %eax,-0x28(%ebp)
4146c4:	e8 47 06 00 00       	call   0x414d10
4146c9:	6a 02                	push   $0x2
4146cb:	bf 80 01 00 00       	mov    $0x180,%edi
4146d0:	57                   	push   %edi
4146d1:	e8 59 fd ff ff       	call   0x41442f
4146d6:	53                   	push   %ebx
4146d7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4146da:	e8 31 06 00 00       	call   0x414d10
4146df:	6a 01                	push   $0x1
4146e1:	57                   	push   %edi
4146e2:	e8 48 fd ff ff       	call   0x41442f
4146e7:	53                   	push   %ebx
4146e8:	89 45 e0             	mov    %eax,-0x20(%ebp)
4146eb:	e8 20 06 00 00       	call   0x414d10
4146f0:	6a 01                	push   $0x1
4146f2:	57                   	push   %edi
4146f3:	e8 37 fd ff ff       	call   0x41442f
4146f8:	53                   	push   %ebx
4146f9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4146fc:	e8 0f 06 00 00       	call   0x414d10
414701:	6a 01                	push   $0x1
414703:	68 01 01 00 00       	push   $0x101
414708:	e8 22 fd ff ff       	call   0x41442f
41470d:	8b f8                	mov    %eax,%edi
41470f:	53                   	push   %ebx
414710:	89 7d d0             	mov    %edi,-0x30(%ebp)
414713:	e8 f8 05 00 00       	call   0x414d10
414718:	83 c4 3c             	add    $0x3c,%esp
41471b:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
41471e:	0f 84 4e 02 00 00    	je     0x414972
414724:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
414727:	0f 84 45 02 00 00    	je     0x414972
41472d:	85 ff                	test   %edi,%edi
41472f:	0f 84 3d 02 00 00    	je     0x414972
414735:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
414738:	0f 84 34 02 00 00    	je     0x414972
41473e:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
414741:	0f 84 2b 02 00 00    	je     0x414972
414747:	8b c3                	mov    %ebx,%eax
414749:	88 04 38             	mov    %al,(%eax,%edi,1)
41474c:	40                   	inc    %eax
41474d:	3d 00 01 00 00       	cmp    $0x100,%eax
414752:	7c f5                	jl     0x414749
414754:	8d 45 e8             	lea    -0x18(%ebp),%eax
414757:	50                   	push   %eax
414758:	ff 76 08             	push   0x8(%esi)
41475b:	ff 15 7c 71 42 00    	call   *0x42717c
414761:	85 c0                	test   %eax,%eax
414763:	0f 84 09 02 00 00    	je     0x414972
414769:	8b 45 e8             	mov    -0x18(%ebp),%eax
41476c:	83 f8 05             	cmp    $0x5,%eax
41476f:	0f 87 fd 01 00 00    	ja     0x414972
414775:	53                   	push   %ebx
414776:	ff 76 08             	push   0x8(%esi)
414779:	0f b7 c0             	movzwl %ax,%eax
41477c:	8d 4f 01             	lea    0x1(%edi),%ecx
41477f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
414782:	ba ff 00 00 00       	mov    $0xff,%edx
414787:	8b 45 e0             	mov    -0x20(%ebp),%eax
41478a:	52                   	push   %edx
41478b:	05 81 00 00 00       	add    $0x81,%eax
414790:	50                   	push   %eax
414791:	52                   	push   %edx
414792:	51                   	push   %ecx
414793:	68 00 01 00 00       	push   $0x100
414798:	ff b6 a8 00 00 00    	push   0xa8(%esi)
41479e:	53                   	push   %ebx
41479f:	e8 e7 7c 00 00       	call   0x41c48b
4147a4:	83 c4 24             	add    $0x24,%esp
4147a7:	85 c0                	test   %eax,%eax
4147a9:	0f 84 c3 01 00 00    	je     0x414972
4147af:	8b 45 dc             	mov    -0x24(%ebp),%eax
4147b2:	b9 ff 00 00 00       	mov    $0xff,%ecx
4147b7:	53                   	push   %ebx
4147b8:	ff 76 08             	push   0x8(%esi)
4147bb:	05 81 00 00 00       	add    $0x81,%eax
4147c0:	51                   	push   %ecx
4147c1:	50                   	push   %eax
4147c2:	51                   	push   %ecx
4147c3:	8d 47 01             	lea    0x1(%edi),%eax
4147c6:	50                   	push   %eax
4147c7:	68 00 02 00 00       	push   $0x200
4147cc:	ff b6 a8 00 00 00    	push   0xa8(%esi)
4147d2:	53                   	push   %ebx
4147d3:	e8 b3 7c 00 00       	call   0x41c48b
4147d8:	83 c4 24             	add    $0x24,%esp
4147db:	85 c0                	test   %eax,%eax
4147dd:	0f 84 8f 01 00 00    	je     0x414972
4147e3:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
4147e7:	7e 2b                	jle    0x414814
4147e9:	38 5d ee             	cmp    %bl,-0x12(%ebp)
4147ec:	74 26                	je     0x414814
4147ee:	8d 4d ef             	lea    -0x11(%ebp),%ecx
4147f1:	8a 01                	mov    (%ecx),%al
4147f3:	84 c0                	test   %al,%al
4147f5:	74 1d                	je     0x414814
4147f7:	0f b6 51 ff          	movzbl -0x1(%ecx),%edx
4147fb:	0f b6 c0             	movzbl %al,%eax
4147fe:	eb 08                	jmp    0x414808
414800:	c6 04 3a 20          	movb   $0x20,(%edx,%edi,1)
414804:	42                   	inc    %edx
414805:	0f b6 01             	movzbl (%ecx),%eax
414808:	3b d0                	cmp    %eax,%edx
41480a:	7e f4                	jle    0x414800
41480c:	83 c1 02             	add    $0x2,%ecx
41480f:	38 59 ff             	cmp    %bl,-0x1(%ecx)
414812:	75 dd                	jne    0x4147f1
414814:	8b 45 e4             	mov    -0x1c(%ebp),%eax
414817:	53                   	push   %ebx
414818:	ff 76 08             	push   0x8(%esi)
41481b:	05 00 01 00 00       	add    $0x100,%eax
414820:	50                   	push   %eax
414821:	68 00 01 00 00       	push   $0x100
414826:	57                   	push   %edi
414827:	6a 01                	push   $0x1
414829:	53                   	push   %ebx
41482a:	89 45 c8             	mov    %eax,-0x38(%ebp)
41482d:	e8 1f 79 00 00       	call   0x41c151
414832:	83 c4 1c             	add    $0x1c,%esp
414835:	85 c0                	test   %eax,%eax
414837:	0f 84 35 01 00 00    	je     0x414972
41483d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
414840:	33 c9                	xor    %ecx,%ecx
414842:	8d 82 fe 00 00 00    	lea    0xfe(%edx),%eax
414848:	66 89 08             	mov    %cx,(%eax)
41484b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41484e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
414851:	8b 45 dc             	mov    -0x24(%ebp),%eax
414854:	88 59 7f             	mov    %bl,0x7f(%ecx)
414857:	83 e9 80             	sub    $0xffffff80,%ecx
41485a:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
41485e:	88 58 7f             	mov    %bl,0x7f(%eax)
414861:	89 4d c0             	mov    %ecx,-0x40(%ebp)
414864:	88 19                	mov    %bl,(%ecx)
414866:	8d 88 80 00 00 00    	lea    0x80(%eax),%ecx
41486c:	89 4d cc             	mov    %ecx,-0x34(%ebp)
41486f:	88 19                	mov    %bl,(%ecx)
414871:	7e 40                	jle    0x4148b3
414873:	38 5d ee             	cmp    %bl,-0x12(%ebp)
414876:	74 3b                	je     0x4148b3
414878:	8d 4d ef             	lea    -0x11(%ebp),%ecx
41487b:	8a 01                	mov    (%ecx),%al
41487d:	84 c0                	test   %al,%al
41487f:	74 2f                	je     0x4148b0
414881:	0f b6 71 ff          	movzbl -0x1(%ecx),%esi
414885:	0f b6 c0             	movzbl %al,%eax
414888:	3b f0                	cmp    %eax,%esi
41488a:	7f 1c                	jg     0x4148a8
41488c:	8d ba 00 01 00 00    	lea    0x100(%edx),%edi
414892:	8d 3c 77             	lea    (%edi,%esi,2),%edi
414895:	b8 00 80 00 00       	mov    $0x8000,%eax
41489a:	46                   	inc    %esi
41489b:	66 89 07             	mov    %ax,(%edi)
41489e:	8d 7f 02             	lea    0x2(%edi),%edi
4148a1:	0f b6 01             	movzbl (%ecx),%eax
4148a4:	3b f0                	cmp    %eax,%esi
4148a6:	7e ed                	jle    0x414895
4148a8:	83 c1 02             	add    $0x2,%ecx
4148ab:	38 59 ff             	cmp    %bl,-0x1(%ecx)
4148ae:	75 cb                	jne    0x41487b
4148b0:	8b 45 dc             	mov    -0x24(%ebp),%eax
4148b3:	6a 3f                	push   $0x3f
4148b5:	59                   	pop    %ecx
4148b6:	8d b2 00 02 00 00    	lea    0x200(%edx),%esi
4148bc:	8b fa                	mov    %edx,%edi
4148be:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4148c0:	8b 55 e0             	mov    -0x20(%ebp),%edx
4148c3:	6a 1f                	push   $0x1f
4148c5:	59                   	pop    %ecx
4148c6:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4148c8:	8d b2 00 01 00 00    	lea    0x100(%edx),%esi
4148ce:	8b fa                	mov    %edx,%edi
4148d0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4148d2:	6a 1f                	push   $0x1f
4148d4:	59                   	pop    %ecx
4148d5:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4148d7:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4148d8:	8d b0 00 01 00 00    	lea    0x100(%eax),%esi
4148de:	8b f8                	mov    %eax,%edi
4148e0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4148e2:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4148e4:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4148e5:	8b 75 c4             	mov    -0x3c(%ebp),%esi
4148e8:	8b 8e 8c 00 00 00    	mov    0x8c(%esi),%ecx
4148ee:	85 c9                	test   %ecx,%ecx
4148f0:	74 49                	je     0x41493b
4148f2:	83 c8 ff             	or     $0xffffffff,%eax
4148f5:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4148f9:	75 40                	jne    0x41493b
4148fb:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
414901:	2d fe 00 00 00       	sub    $0xfe,%eax
414906:	50                   	push   %eax
414907:	e8 04 04 00 00       	call   0x414d10
41490c:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
414912:	bf 80 00 00 00       	mov    $0x80,%edi
414917:	2b c7                	sub    %edi,%eax
414919:	50                   	push   %eax
41491a:	e8 f1 03 00 00       	call   0x414d10
41491f:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
414925:	2b c7                	sub    %edi,%eax
414927:	50                   	push   %eax
414928:	e8 e3 03 00 00       	call   0x414d10
41492d:	ff b6 8c 00 00 00    	push   0x8c(%esi)
414933:	e8 d8 03 00 00       	call   0x414d10
414938:	83 c4 10             	add    $0x10,%esp
41493b:	8b 45 d8             	mov    -0x28(%ebp),%eax
41493e:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
414944:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
41494a:	8b 45 c8             	mov    -0x38(%ebp),%eax
41494d:	89 06                	mov    %eax,(%esi)
41494f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
414952:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
414958:	8b 45 c0             	mov    -0x40(%ebp),%eax
41495b:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
414961:	8b 45 cc             	mov    -0x34(%ebp),%eax
414964:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
41496a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41496d:	89 46 04             	mov    %eax,0x4(%esi)
414970:	eb 26                	jmp    0x414998
414972:	ff 75 d8             	push   -0x28(%ebp)
414975:	e8 96 03 00 00       	call   0x414d10
41497a:	ff 75 e4             	push   -0x1c(%ebp)
41497d:	e8 8e 03 00 00       	call   0x414d10
414982:	ff 75 e0             	push   -0x20(%ebp)
414985:	e8 86 03 00 00       	call   0x414d10
41498a:	ff 75 dc             	push   -0x24(%ebp)
41498d:	e8 7e 03 00 00       	call   0x414d10
414992:	33 db                	xor    %ebx,%ebx
414994:	83 c4 10             	add    $0x10,%esp
414997:	43                   	inc    %ebx
414998:	ff 75 d0             	push   -0x30(%ebp)
41499b:	e8 70 03 00 00       	call   0x414d10
4149a0:	59                   	pop    %ecx
4149a1:	8b c3                	mov    %ebx,%eax
4149a3:	eb 3c                	jmp    0x4149e1
4149a5:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
4149ab:	85 c0                	test   %eax,%eax
4149ad:	74 03                	je     0x4149b2
4149af:	f0 ff 08             	lock decl (%eax)
4149b2:	89 9e 8c 00 00 00    	mov    %ebx,0x8c(%esi)
4149b8:	33 c0                	xor    %eax,%eax
4149ba:	89 9e 90 00 00 00    	mov    %ebx,0x90(%esi)
4149c0:	c7 06 80 be 42 00    	movl   $0x42be80,(%esi)
4149c6:	c7 86 94 00 00 00 00 	movl   $0x42c100,0x94(%esi)
4149cd:	c1 42 00
4149d0:	c7 86 98 00 00 00 80 	movl   $0x42c280,0x98(%esi)
4149d7:	c2 42 00
4149da:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
4149e1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4149e4:	5f                   	pop    %edi
4149e5:	5e                   	pop    %esi
4149e6:	33 cd                	xor    %ebp,%ecx
4149e8:	5b                   	pop    %ebx
4149e9:	e8 72 26 ff ff       	call   0x407060
4149ee:	8b e5                	mov    %ebp,%esp
4149f0:	5d                   	pop    %ebp
4149f1:	c3                   	ret
4149f2:	8b ff                	mov    %edi,%edi
4149f4:	55                   	push   %ebp
4149f5:	8b ec                	mov    %esp,%ebp
4149f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4149fa:	33 c0                	xor    %eax,%eax
4149fc:	3b 0c c5 80 c3 42 00 	cmp    0x42c380(,%eax,8),%ecx
414a03:	74 27                	je     0x414a2c
414a05:	40                   	inc    %eax
414a06:	83 f8 2d             	cmp    $0x2d,%eax
414a09:	72 f1                	jb     0x4149fc
414a0b:	8d 41 ed             	lea    -0x13(%ecx),%eax
414a0e:	83 f8 11             	cmp    $0x11,%eax
414a11:	77 05                	ja     0x414a18
414a13:	6a 0d                	push   $0xd
414a15:	58                   	pop    %eax
414a16:	5d                   	pop    %ebp
414a17:	c3                   	ret
414a18:	8d 81 44 ff ff ff    	lea    -0xbc(%ecx),%eax
414a1e:	6a 0e                	push   $0xe
414a20:	59                   	pop    %ecx
414a21:	3b c8                	cmp    %eax,%ecx
414a23:	1b c0                	sbb    %eax,%eax
414a25:	23 c1                	and    %ecx,%eax
414a27:	83 c0 08             	add    $0x8,%eax
414a2a:	5d                   	pop    %ebp
414a2b:	c3                   	ret
414a2c:	8b 04 c5 84 c3 42 00 	mov    0x42c384(,%eax,8),%eax
414a33:	5d                   	pop    %ebp
414a34:	c3                   	ret
414a35:	8b ff                	mov    %edi,%edi
414a37:	55                   	push   %ebp
414a38:	8b ec                	mov    %esp,%ebp
414a3a:	56                   	push   %esi
414a3b:	e8 18 00 00 00       	call   0x414a58
414a40:	8b 4d 08             	mov    0x8(%ebp),%ecx
414a43:	51                   	push   %ecx
414a44:	89 08                	mov    %ecx,(%eax)
414a46:	e8 a7 ff ff ff       	call   0x4149f2
414a4b:	59                   	pop    %ecx
414a4c:	8b f0                	mov    %eax,%esi
414a4e:	e8 18 00 00 00       	call   0x414a6b
414a53:	89 30                	mov    %esi,(%eax)
414a55:	5e                   	pop    %esi
414a56:	5d                   	pop    %ebp
414a57:	c3                   	ret
414a58:	e8 83 41 00 00       	call   0x418be0
414a5d:	85 c0                	test   %eax,%eax
414a5f:	75 06                	jne    0x414a67
414a61:	b8 2c bb 43 00       	mov    $0x43bb2c,%eax
414a66:	c3                   	ret
414a67:	83 c0 14             	add    $0x14,%eax
414a6a:	c3                   	ret
414a6b:	e8 70 41 00 00       	call   0x418be0
414a70:	85 c0                	test   %eax,%eax
414a72:	75 06                	jne    0x414a7a
414a74:	b8 28 bb 43 00       	mov    $0x43bb28,%eax
414a79:	c3                   	ret
414a7a:	83 c0 10             	add    $0x10,%eax
414a7d:	c3                   	ret
414a7e:	8b ff                	mov    %edi,%edi
414a80:	55                   	push   %ebp
414a81:	8b ec                	mov    %esp,%ebp
414a83:	83 ec 10             	sub    $0x10,%esp
414a86:	56                   	push   %esi
414a87:	ff 75 08             	push   0x8(%ebp)
414a8a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
414a8d:	e8 36 7d ff ff       	call   0x40c7c8
414a92:	0f b6 75 0c          	movzbl 0xc(%ebp),%esi
414a96:	8b 45 f8             	mov    -0x8(%ebp),%eax
414a99:	8a 4d 14             	mov    0x14(%ebp),%cl
414a9c:	84 4c 30 19          	test   %cl,0x19(%eax,%esi,1)
414aa0:	75 1b                	jne    0x414abd