4227a8:	83 c4 40             	add    $0x40,%esp
4227ab:	8d 85 fc fc ff ff    	lea    -0x304(%ebp),%eax
4227b1:	53                   	push   %ebx
4227b2:	ff 77 04             	push   0x4(%edi)
4227b5:	56                   	push   %esi
4227b6:	50                   	push   %eax
4227b7:	56                   	push   %esi
4227b8:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
4227be:	50                   	push   %eax
4227bf:	68 00 02 00 00       	push   $0x200
4227c4:	ff b7 1c 02 00 00    	push   0x21c(%edi)
4227ca:	53                   	push   %ebx
4227cb:	e8 77 f4 ff ff       	call   0x421c47
4227d0:	83 c4 24             	add    $0x24,%esp
4227d3:	8d 47 19             	lea    0x19(%edi),%eax
4227d6:	8b cb                	mov    %ebx,%ecx
4227d8:	0f b7 94 4d fc f8 ff 	movzwl -0x704(%ebp,%ecx,2),%edx
4227df:	ff
4227e0:	f6 c2 01             	test   $0x1,%dl
4227e3:	74 0c                	je     0x4227f1
4227e5:	80 08 10             	orb    $0x10,(%eax)
4227e8:	8a 94 0d fc fd ff ff 	mov    -0x204(%ebp,%ecx,1),%dl
4227ef:	eb 13                	jmp    0x422804
4227f1:	f6 c2 02             	test   $0x2,%dl
4227f4:	74 0c                	je     0x422802
4227f6:	80 08 20             	orb    $0x20,(%eax)
4227f9:	8a 94 0d fc fc ff ff 	mov    -0x304(%ebp,%ecx,1),%dl
422800:	eb 02                	jmp    0x422804
422802:	8a d3                	mov    %bl,%dl
422804:	41                   	inc    %ecx
422805:	88 90 00 01 00 00    	mov    %dl,0x100(%eax)
42280b:	40                   	inc    %eax
42280c:	83 ee 01             	sub    $0x1,%esi
42280f:	75 c7                	jne    0x4227d8
422811:	eb 62                	jmp    0x422875
422813:	6a a6                	push   $0xffffffa6
422815:	58                   	pop    %eax
422816:	6a 86                	push   $0xffffff86
422818:	5a                   	pop    %edx
422819:	2b d7                	sub    %edi,%edx
42281b:	8d 4f 19             	lea    0x19(%edi),%ecx
42281e:	89 95 e4 f8 ff ff    	mov    %edx,-0x71c(%ebp)
422824:	2b c7                	sub    %edi,%eax
422826:	6a e7                	push   $0xffffffe7
422828:	5a                   	pop    %edx
422829:	2b d7                	sub    %edi,%edx
42282b:	89 85 e0 f8 ff ff    	mov    %eax,-0x720(%ebp)
422831:	8b bd e4 f8 ff ff    	mov    -0x71c(%ebp),%edi
422837:	33 db                	xor    %ebx,%ebx
422839:	be 00 01 00 00       	mov    $0x100,%esi
42283e:	03 c1                	add    %ecx,%eax
422840:	83 f8 19             	cmp    $0x19,%eax
422843:	77 08                	ja     0x42284d
422845:	80 09 10             	orb    $0x10,(%ecx)
422848:	8d 41 20             	lea    0x20(%ecx),%eax
42284b:	eb 0e                	jmp    0x42285b
42284d:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
422850:	83 f8 19             	cmp    $0x19,%eax
422853:	77 0a                	ja     0x42285f
422855:	80 09 20             	orb    $0x20,(%ecx)
422858:	8d 41 e0             	lea    -0x20(%ecx),%eax
42285b:	02 c2                	add    %dl,%al
42285d:	eb 02                	jmp    0x422861
42285f:	8a c3                	mov    %bl,%al
422861:	88 81 00 01 00 00    	mov    %al,0x100(%ecx)
422867:	41                   	inc    %ecx
422868:	8d 04 11             	lea    (%ecx,%edx,1),%eax
42286b:	3b c6                	cmp    %esi,%eax
42286d:	8b 85 e0 f8 ff ff    	mov    -0x720(%ebp),%eax
422873:	72 c9                	jb     0x42283e
422875:	8b 4d fc             	mov    -0x4(%ebp),%ecx
422878:	5f                   	pop    %edi
422879:	5e                   	pop    %esi
42287a:	33 cd                	xor    %ebp,%ecx
42287c:	5b                   	pop    %ebx
42287d:	e8 25 74 fe ff       	call   0x409ca7
422882:	c9                   	leave
422883:	c3                   	ret
422884:	8b ff                	mov    %edi,%edi
422886:	53                   	push   %ebx
422887:	8b dc                	mov    %esp,%ebx
422889:	51                   	push   %ecx
42288a:	51                   	push   %ecx
42288b:	83 e4 f8             	and    $0xfffffff8,%esp
42288e:	83 c4 04             	add    $0x4,%esp
422891:	55                   	push   %ebp
422892:	8b 6b 04             	mov    0x4(%ebx),%ebp
422895:	89 6c 24 04          	mov    %ebp,0x4(%esp)
422899:	8b ec                	mov    %esp,%ebp
42289b:	81 ec 38 02 00 00    	sub    $0x238,%esp
4228a1:	56                   	push   %esi
4228a2:	57                   	push   %edi
4228a3:	ff 73 14             	push   0x14(%ebx)
4228a6:	ff 73 10             	push   0x10(%ebx)
4228a9:	e8 2b 01 00 00       	call   0x4229d9
4228ae:	ff 73 08             	push   0x8(%ebx)
4228b1:	e8 55 fd ff ff       	call   0x42260b
4228b6:	8b 4b 10             	mov    0x10(%ebx),%ecx
4228b9:	83 c4 0c             	add    $0xc,%esp
4228bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4228bf:	8b 49 48             	mov    0x48(%ecx),%ecx
4228c2:	3b 41 04             	cmp    0x4(%ecx),%eax
4228c5:	75 07                	jne    0x4228ce
4228c7:	33 c0                	xor    %eax,%eax
4228c9:	e9 02 01 00 00       	jmp    0x4229d0
4228ce:	68 20 02 00 00       	push   $0x220
4228d3:	e8 58 43 fe ff       	call   0x406c30
4228d8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4228db:	59                   	pop    %ecx
4228dc:	85 c0                	test   %eax,%eax
4228de:	75 0e                	jne    0x4228ee
4228e0:	50                   	push   %eax
4228e1:	e8 2a 43 fe ff       	call   0x406c10
4228e6:	83 c8 ff             	or     $0xffffffff,%eax
4228e9:	e9 e1 00 00 00       	jmp    0x4229cf
4228ee:	8b 73 10             	mov    0x10(%ebx),%esi
4228f1:	8d bd c8 fd ff ff    	lea    -0x238(%ebp),%edi
4228f7:	ba 88 00 00 00       	mov    $0x88,%edx
4228fc:	8b ca                	mov    %edx,%ecx
4228fe:	50                   	push   %eax
4228ff:	8b 76 48             	mov    0x48(%esi),%esi
422902:	ff 75 f4             	push   -0xc(%ebp)
422905:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
422907:	8b ca                	mov    %edx,%ecx
422909:	8d b5 c8 fd ff ff    	lea    -0x238(%ebp),%esi
42290f:	8b f8                	mov    %eax,%edi
422911:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
422913:	83 20 00             	andl   $0x0,(%eax)
422916:	e8 b9 01 00 00       	call   0x422ad4
42291b:	8b f8                	mov    %eax,%edi
42291d:	83 ce ff             	or     $0xffffffff,%esi
422920:	59                   	pop    %ecx
422921:	59                   	pop    %ecx
422922:	3b fe                	cmp    %esi,%edi
422924:	75 1b                	jne    0x422941
422926:	e8 46 9d ff ff       	call   0x41c671
42292b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422931:	8b 45 fc             	mov    -0x4(%ebp),%eax
422934:	50                   	push   %eax
422935:	e8 d6 42 fe ff       	call   0x406c10
42293a:	8b c6                	mov    %esi,%eax
42293c:	e9 8e 00 00 00       	jmp    0x4229cf
422941:	80 7b 0c 00          	cmpb   $0x0,0xc(%ebx)
422945:	75 05                	jne    0x42294c
422947:	e8 8a 7c ff ff       	call   0x41a5d6
42294c:	8b 43 10             	mov    0x10(%ebx),%eax
42294f:	8b 40 48             	mov    0x48(%eax),%eax
422952:	f0 0f c1 30          	lock xadd %esi,(%eax)
422956:	4e                   	dec    %esi
422957:	75 15                	jne    0x42296e
422959:	8b 43 10             	mov    0x10(%ebx),%eax
42295c:	81 78 48 b8 d5 43 00 	cmpl   $0x43d5b8,0x48(%eax)
422963:	74 09                	je     0x42296e
422965:	ff 70 48             	push   0x48(%eax)
422968:	e8 a3 42 fe ff       	call   0x406c10
42296d:	59                   	pop    %ecx
42296e:	8b 45 fc             	mov    -0x4(%ebp),%eax
422971:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
422977:	8b 4b 10             	mov    0x10(%ebx),%ecx
42297a:	89 41 48             	mov    %eax,0x48(%ecx)
42297d:	8b 4b 10             	mov    0x10(%ebx),%ecx
422980:	a1 34 db 43 00       	mov    0x43db34,%eax
422985:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
42298b:	75 39                	jne    0x4229c6
42298d:	8d 43 10             	lea    0x10(%ebx),%eax
422990:	89 45 ec             	mov    %eax,-0x14(%ebp)
422993:	8d 4d fb             	lea    -0x5(%ebp),%ecx
422996:	6a 05                	push   $0x5
422998:	8d 43 14             	lea    0x14(%ebx),%eax
42299b:	89 45 f0             	mov    %eax,-0x10(%ebp)
42299e:	58                   	pop    %eax
42299f:	89 45 f4             	mov    %eax,-0xc(%ebp)
4229a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4229a5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4229a8:	50                   	push   %eax
4229a9:	8d 45 ec             	lea    -0x14(%ebp),%eax
4229ac:	50                   	push   %eax
4229ad:	8d 45 fc             	lea    -0x4(%ebp),%eax
4229b0:	50                   	push   %eax
4229b1:	e8 47 fb ff ff       	call   0x4224fd
4229b6:	80 7b 0c 00          	cmpb   $0x0,0xc(%ebx)
4229ba:	74 0a                	je     0x4229c6
4229bc:	8b 43 14             	mov    0x14(%ebx),%eax
4229bf:	8b 00                	mov    (%eax),%eax
4229c1:	a3 14 d2 43 00       	mov    %eax,0x43d214
4229c6:	6a 00                	push   $0x0
4229c8:	e8 43 42 fe ff       	call   0x406c10
4229cd:	8b c7                	mov    %edi,%eax
4229cf:	59                   	pop    %ecx
4229d0:	5f                   	pop    %edi
4229d1:	5e                   	pop    %esi
4229d2:	8b e5                	mov    %ebp,%esp
4229d4:	5d                   	pop    %ebp
4229d5:	8b e3                	mov    %ebx,%esp
4229d7:	5b                   	pop    %ebx
4229d8:	c3                   	ret
4229d9:	6a 0c                	push   $0xc
4229db:	68 40 b0 43 00       	push   $0x43b040
4229e0:	e8 eb 7a fe ff       	call   0x40a4d0
4229e5:	33 f6                	xor    %esi,%esi
4229e7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4229ea:	8b 7d 08             	mov    0x8(%ebp),%edi
4229ed:	a1 34 db 43 00       	mov    0x43db34,%eax
4229f2:	85 87 50 03 00 00    	test   %eax,0x350(%edi)
4229f8:	74 0e                	je     0x422a08
4229fa:	39 77 4c             	cmp    %esi,0x4c(%edi)
4229fd:	74 09                	je     0x422a08
4229ff:	8b 77 48             	mov    0x48(%edi),%esi
422a02:	85 f6                	test   %esi,%esi
422a04:	74 6d                	je     0x422a73
422a06:	eb 59                	jmp    0x422a61
422a08:	6a 05                	push   $0x5
422a0a:	e8 73 09 00 00       	call   0x423382
422a0f:	59                   	pop    %ecx
422a10:	89 75 fc             	mov    %esi,-0x4(%ebp)
422a13:	8b 77 48             	mov    0x48(%edi),%esi
422a16:	89 75 e4             	mov    %esi,-0x1c(%ebp)
422a19:	8b 5d 0c             	mov    0xc(%ebp),%ebx
422a1c:	3b 33                	cmp    (%ebx),%esi
422a1e:	74 27                	je     0x422a47
422a20:	85 f6                	test   %esi,%esi
422a22:	74 18                	je     0x422a3c
422a24:	83 c8 ff             	or     $0xffffffff,%eax
422a27:	f0 0f c1 06          	lock xadd %eax,(%esi)
422a2b:	75 0f                	jne    0x422a3c
422a2d:	81 fe b8 d5 43 00    	cmp    $0x43d5b8,%esi
422a33:	74 07                	je     0x422a3c
422a35:	56                   	push   %esi
422a36:	e8 d5 41 fe ff       	call   0x406c10
422a3b:	59                   	pop    %ecx
422a3c:	8b 33                	mov    (%ebx),%esi
422a3e:	89 77 48             	mov    %esi,0x48(%edi)
422a41:	89 75 e4             	mov    %esi,-0x1c(%ebp)
422a44:	f0 ff 06             	lock incl (%esi)
422a47:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
422a4e:	e8 05 00 00 00       	call   0x422a58
422a53:	eb ad                	jmp    0x422a02
422a55:	8b 75 e4             	mov    -0x1c(%ebp),%esi
422a58:	6a 05                	push   $0x5
422a5a:	e8 6b 09 00 00       	call   0x4233ca
422a5f:	59                   	pop    %ecx
422a60:	c3                   	ret
422a61:	8b c6                	mov    %esi,%eax
422a63:	8b 4d f0             	mov    -0x10(%ebp),%ecx
422a66:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
422a6d:	59                   	pop    %ecx
422a6e:	5f                   	pop    %edi
422a6f:	5e                   	pop    %esi
422a70:	5b                   	pop    %ebx
422a71:	c9                   	leave
422a72:	c3                   	ret
422a73:	e8 19 94 ff ff       	call   0x41be91
422a78:	cc                   	int3
422a79:	80 3d cc fb 43 00 00 	cmpb   $0x0,0x43fbcc
422a80:	75 3c                	jne    0x422abe
422a82:	c7 05 c4 fb 43 00 b8 	movl   $0x43d5b8,0x43fbc4
422a89:	d5 43 00
422a8c:	c7 05 c0 fb 43 00 e0 	movl   $0x43d8e0,0x43fbc0
422a93:	d8 43 00
422a96:	c7 05 bc fb 43 00 d8 	movl   $0x43d7d8,0x43fbbc
422a9d:	d7 43 00
422aa0:	e8 ff 98 ff ff       	call   0x41c3a4
422aa5:	68 c4 fb 43 00       	push   $0x43fbc4
422aaa:	50                   	push   %eax
422aab:	6a 01                	push   $0x1
422aad:	6a fd                	push   $0xfffffffd
422aaf:	e8 d0 fd ff ff       	call   0x422884
422ab4:	83 c4 10             	add    $0x10,%esp
422ab7:	c6 05 cc fb 43 00 01 	movb   $0x1,0x43fbcc
422abe:	b0 01                	mov    $0x1,%al
422ac0:	c3                   	ret
422ac1:	e8 23 98 ff ff       	call   0x41c2e9
422ac6:	68 c4 fb 43 00       	push   $0x43fbc4
422acb:	50                   	push   %eax
422acc:	e8 08 ff ff ff       	call   0x4229d9
422ad1:	59                   	pop    %ecx
422ad2:	59                   	pop    %ecx
422ad3:	c3                   	ret
422ad4:	8b ff                	mov    %edi,%edi
422ad6:	55                   	push   %ebp
422ad7:	8b ec                	mov    %esp,%ebp
422ad9:	83 ec 24             	sub    $0x24,%esp
422adc:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
422ae1:	33 c5                	xor    %ebp,%eax
422ae3:	89 45 fc             	mov    %eax,-0x4(%ebp)
422ae6:	53                   	push   %ebx
422ae7:	56                   	push   %esi
422ae8:	8b 75 0c             	mov    0xc(%ebp),%esi
422aeb:	57                   	push   %edi
422aec:	ff 75 08             	push   0x8(%ebp)
422aef:	e8 17 fb ff ff       	call   0x42260b
422af4:	8b d8                	mov    %eax,%ebx
422af6:	89 5d e0             	mov    %ebx,-0x20(%ebp)
422af9:	59                   	pop    %ecx
422afa:	85 db                	test   %ebx,%ebx
422afc:	0f 84 bf 01 00 00    	je     0x422cc1
422b02:	33 ff                	xor    %edi,%edi
422b04:	8b cf                	mov    %edi,%ecx
422b06:	8b c7                	mov    %edi,%eax
422b08:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
422b0b:	39 98 e8 d9 43 00    	cmp    %ebx,0x43d9e8(%eax)
422b11:	0f 84 f6 00 00 00    	je     0x422c0d
422b17:	41                   	inc    %ecx
422b18:	83 c0 30             	add    $0x30,%eax
422b1b:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
422b1e:	3d f0 00 00 00       	cmp    $0xf0,%eax
422b23:	72 e6                	jb     0x422b0b
422b25:	81 fb e8 fd 00 00    	cmp    $0xfde8,%ebx
422b2b:	0f 84 d4 00 00 00    	je     0x422c05
422b31:	0f b7 c3             	movzwl %bx,%eax
422b34:	50                   	push   %eax
422b35:	ff 15 70 10 43 00    	call   *0x431070
422b3b:	85 c0                	test   %eax,%eax
422b3d:	0f 84 c2 00 00 00    	je     0x422c05
422b43:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
422b48:	3b d8                	cmp    %eax,%ebx
422b4a:	75 20                	jne    0x422b6c
422b4c:	89 46 04             	mov    %eax,0x4(%esi)
422b4f:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
422b55:	89 7e 18             	mov    %edi,0x18(%esi)
422b58:	66 89 7e 1c          	mov    %di,0x1c(%esi)
422b5c:	89 7e 08             	mov    %edi,0x8(%esi)
422b5f:	33 c0                	xor    %eax,%eax
422b61:	8d 7e 0c             	lea    0xc(%esi),%edi
422b64:	ab                   	stos   %eax,%es:(%edi)
422b65:	ab                   	stos   %eax,%es:(%edi)
422b66:	ab                   	stos   %eax,%es:(%edi)
422b67:	e9 4d 01 00 00       	jmp    0x422cb9
422b6c:	8d 45 e8             	lea    -0x18(%ebp),%eax
422b6f:	50                   	push   %eax
422b70:	53                   	push   %ebx
422b71:	ff 15 64 10 43 00    	call   *0x431064
422b77:	85 c0                	test   %eax,%eax
422b79:	74 7e                	je     0x422bf9
422b7b:	68 01 01 00 00       	push   $0x101
422b80:	8d 46 18             	lea    0x18(%esi),%eax
422b83:	57                   	push   %edi
422b84:	50                   	push   %eax
422b85:	e8 36 88 fe ff       	call   0x40b3c0
422b8a:	83 c4 0c             	add    $0xc,%esp
422b8d:	89 5e 04             	mov    %ebx,0x4(%esi)
422b90:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
422b94:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
422b9a:	75 c0                	jne    0x422b5c
422b9c:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
422ba0:	8d 45 ee             	lea    -0x12(%ebp),%eax
422ba3:	74 2a                	je     0x422bcf
422ba5:	8a 48 01             	mov    0x1(%eax),%cl
422ba8:	84 c9                	test   %cl,%cl
422baa:	74 23                	je     0x422bcf