438bb0:	8d 85 fc fa ff ff    	lea    -0x504(%ebp),%eax
438bb6:	ff 76 04             	push   0x4(%esi)
438bb9:	50                   	push   %eax
438bba:	57                   	push   %edi
438bbb:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
438bc1:	50                   	push   %eax
438bc2:	6a 01                	push   $0x1
438bc4:	6a 00                	push   $0x0
438bc6:	e8 37 98 00 00       	call   0x442402
438bcb:	33 db                	xor    %ebx,%ebx
438bcd:	53                   	push   %ebx
438bce:	ff 76 04             	push   0x4(%esi)
438bd1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
438bd7:	57                   	push   %edi
438bd8:	50                   	push   %eax
438bd9:	57                   	push   %edi
438bda:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
438be0:	50                   	push   %eax
438be1:	57                   	push   %edi
438be2:	ff 76 0c             	push   0xc(%esi)
438be5:	53                   	push   %ebx
438be6:	e8 ea 96 00 00       	call   0x4422d5
438beb:	83 c4 44             	add    $0x44,%esp
438bee:	53                   	push   %ebx
438bef:	ff 76 04             	push   0x4(%esi)
438bf2:	8d 85 fc fc ff ff    	lea    -0x304(%ebp),%eax
438bf8:	57                   	push   %edi
438bf9:	50                   	push   %eax
438bfa:	57                   	push   %edi
438bfb:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
438c01:	50                   	push   %eax
438c02:	68 00 02 00 00       	push   $0x200
438c07:	ff 76 0c             	push   0xc(%esi)
438c0a:	53                   	push   %ebx
438c0b:	e8 c5 96 00 00       	call   0x4422d5
438c10:	83 c4 24             	add    $0x24,%esp
438c13:	33 c0                	xor    %eax,%eax
438c15:	0f b7 8c 45 fc fa ff 	movzwl -0x504(%ebp,%eax,2),%ecx
438c1c:	ff
438c1d:	f6 c1 01             	test   $0x1,%cl
438c20:	74 0e                	je     0x438c30
438c22:	80 4c 06 1d 10       	orb    $0x10,0x1d(%esi,%eax,1)
438c27:	8a 8c 05 fc fd ff ff 	mov    -0x204(%ebp,%eax,1),%cl
438c2e:	eb 11                	jmp    0x438c41
438c30:	f6 c1 02             	test   $0x2,%cl
438c33:	74 15                	je     0x438c4a
438c35:	80 4c 06 1d 20       	orb    $0x20,0x1d(%esi,%eax,1)
438c3a:	8a 8c 05 fc fc ff ff 	mov    -0x304(%ebp,%eax,1),%cl
438c41:	88 8c 06 1d 01 00 00 	mov    %cl,0x11d(%esi,%eax,1)
438c48:	eb 07                	jmp    0x438c51
438c4a:	88 9c 06 1d 01 00 00 	mov    %bl,0x11d(%esi,%eax,1)
438c51:	40                   	inc    %eax
438c52:	3b c7                	cmp    %edi,%eax
438c54:	72 bf                	jb     0x438c15
438c56:	eb 52                	jmp    0x438caa
438c58:	8d 86 1d 01 00 00    	lea    0x11d(%esi),%eax
438c5e:	c7 85 e4 fa ff ff 9f 	movl   $0xffffff9f,-0x51c(%ebp)
438c65:	ff ff ff
438c68:	33 c9                	xor    %ecx,%ecx
438c6a:	29 85 e4 fa ff ff    	sub    %eax,-0x51c(%ebp)
438c70:	8b 95 e4 fa ff ff    	mov    -0x51c(%ebp),%edx
438c76:	8d 84 0e 1d 01 00 00 	lea    0x11d(%esi,%ecx,1),%eax
438c7d:	03 d0                	add    %eax,%edx
438c7f:	8d 5a 20             	lea    0x20(%edx),%ebx
438c82:	83 fb 19             	cmp    $0x19,%ebx
438c85:	77 0a                	ja     0x438c91
438c87:	80 4c 0e 1d 10       	orb    $0x10,0x1d(%esi,%ecx,1)
438c8c:	8d 51 20             	lea    0x20(%ecx),%edx
438c8f:	eb 0d                	jmp    0x438c9e
438c91:	83 fa 19             	cmp    $0x19,%edx
438c94:	77 0c                	ja     0x438ca2
438c96:	80 4c 0e 1d 20       	orb    $0x20,0x1d(%esi,%ecx,1)
438c9b:	8d 51 e0             	lea    -0x20(%ecx),%edx
438c9e:	88 10                	mov    %dl,(%eax)
438ca0:	eb 03                	jmp    0x438ca5
438ca2:	c6 00 00             	movb   $0x0,(%eax)
438ca5:	41                   	inc    %ecx
438ca6:	3b cf                	cmp    %edi,%ecx
438ca8:	72 c6                	jb     0x438c70
438caa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438cad:	5f                   	pop    %edi
438cae:	33 cd                	xor    %ebp,%ecx
438cb0:	5b                   	pop    %ebx
438cb1:	e8 db 5c 00 00       	call   0x43e991
438cb6:	c9                   	leave
438cb7:	c3                   	ret
438cb8:	6a 0c                	push   $0xc
438cba:	68 e8 de 46 00       	push   $0x46dee8
438cbf:	e8 bc c0 ff ff       	call   0x434d80
438cc4:	e8 5f b9 ff ff       	call   0x434628
438cc9:	8b f8                	mov    %eax,%edi
438ccb:	a1 d0 fb 46 00       	mov    0x46fbd0,%eax
438cd0:	85 47 70             	test   %eax,0x70(%edi)
438cd3:	74 1d                	je     0x438cf2
438cd5:	83 7f 6c 00          	cmpl   $0x0,0x6c(%edi)
438cd9:	74 17                	je     0x438cf2
438cdb:	8b 77 68             	mov    0x68(%edi),%esi
438cde:	85 f6                	test   %esi,%esi
438ce0:	75 08                	jne    0x438cea
438ce2:	6a 20                	push   $0x20
438ce4:	e8 ab 74 ff ff       	call   0x430194
438ce9:	59                   	pop    %ecx
438cea:	8b c6                	mov    %esi,%eax
438cec:	e8 d4 c0 ff ff       	call   0x434dc5
438cf1:	c3                   	ret
438cf2:	6a 0d                	push   $0xd
438cf4:	e8 28 ac ff ff       	call   0x433921
438cf9:	59                   	pop    %ecx
438cfa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
438cfe:	8b 77 68             	mov    0x68(%edi),%esi
438d01:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438d04:	3b 35 d8 fa 46 00    	cmp    0x46fad8,%esi
438d0a:	74 36                	je     0x438d42
438d0c:	85 f6                	test   %esi,%esi
438d0e:	74 1a                	je     0x438d2a
438d10:	56                   	push   %esi
438d11:	ff 15 44 35 47 00    	call   *0x473544
438d17:	85 c0                	test   %eax,%eax
438d19:	75 0f                	jne    0x438d2a
438d1b:	81 fe b0 f6 46 00    	cmp    $0x46f6b0,%esi
438d21:	74 07                	je     0x438d2a
438d23:	56                   	push   %esi
438d24:	e8 74 7c ff ff       	call   0x43099d
438d29:	59                   	pop    %ecx
438d2a:	a1 d8 fa 46 00       	mov    0x46fad8,%eax
438d2f:	89 47 68             	mov    %eax,0x68(%edi)
438d32:	8b 35 d8 fa 46 00    	mov    0x46fad8,%esi
438d38:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438d3b:	56                   	push   %esi
438d3c:	ff 15 38 35 47 00    	call   *0x473538
438d42:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
438d49:	e8 05 00 00 00       	call   0x438d53
438d4e:	eb 8e                	jmp    0x438cde
438d50:	8b 75 e4             	mov    -0x1c(%ebp),%esi
438d53:	6a 0d                	push   $0xd
438d55:	e8 d6 aa ff ff       	call   0x433830
438d5a:	59                   	pop    %ecx
438d5b:	c3                   	ret
438d5c:	8b ff                	mov    %edi,%edi
438d5e:	55                   	push   %ebp
438d5f:	8b ec                	mov    %esp,%ebp
438d61:	83 ec 10             	sub    $0x10,%esp
438d64:	53                   	push   %ebx
438d65:	33 db                	xor    %ebx,%ebx
438d67:	53                   	push   %ebx
438d68:	8d 4d f0             	lea    -0x10(%ebp),%ecx
438d6b:	e8 7a 7e ff ff       	call   0x430bea
438d70:	89 1d a8 10 47 00    	mov    %ebx,0x4710a8
438d76:	83 fe fe             	cmp    $0xfffffffe,%esi
438d79:	75 1e                	jne    0x438d99
438d7b:	c7 05 a8 10 47 00 01 	movl   $0x1,0x4710a8
438d82:	00 00 00
438d85:	ff 15 90 35 47 00    	call   *0x473590
438d8b:	38 5d fc             	cmp    %bl,-0x4(%ebp)
438d8e:	74 45                	je     0x438dd5
438d90:	8b 4d f8             	mov    -0x8(%ebp),%ecx
438d93:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
438d97:	eb 3c                	jmp    0x438dd5
438d99:	83 fe fd             	cmp    $0xfffffffd,%esi
438d9c:	75 12                	jne    0x438db0
438d9e:	c7 05 a8 10 47 00 01 	movl   $0x1,0x4710a8
438da5:	00 00 00
438da8:	ff 15 8c 35 47 00    	call   *0x47358c
438dae:	eb db                	jmp    0x438d8b
438db0:	83 fe fc             	cmp    $0xfffffffc,%esi
438db3:	75 12                	jne    0x438dc7
438db5:	8b 45 f0             	mov    -0x10(%ebp),%eax
438db8:	8b 40 04             	mov    0x4(%eax),%eax
438dbb:	c7 05 a8 10 47 00 01 	movl   $0x1,0x4710a8
438dc2:	00 00 00
438dc5:	eb c4                	jmp    0x438d8b
438dc7:	38 5d fc             	cmp    %bl,-0x4(%ebp)
438dca:	74 07                	je     0x438dd3
438dcc:	8b 45 f8             	mov    -0x8(%ebp),%eax
438dcf:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
438dd3:	8b c6                	mov    %esi,%eax
438dd5:	5b                   	pop    %ebx
438dd6:	c9                   	leave
438dd7:	c3                   	ret
438dd8:	8b ff                	mov    %edi,%edi
438dda:	55                   	push   %ebp
438ddb:	8b ec                	mov    %esp,%ebp
438ddd:	83 ec 20             	sub    $0x20,%esp
438de0:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
438de5:	33 c5                	xor    %ebp,%eax
438de7:	89 45 fc             	mov    %eax,-0x4(%ebp)
438dea:	53                   	push   %ebx
438deb:	8b 5d 0c             	mov    0xc(%ebp),%ebx
438dee:	56                   	push   %esi
438def:	8b 75 08             	mov    0x8(%ebp),%esi
438df2:	57                   	push   %edi
438df3:	e8 64 ff ff ff       	call   0x438d5c
438df8:	8b f8                	mov    %eax,%edi
438dfa:	33 f6                	xor    %esi,%esi
438dfc:	89 7d 08             	mov    %edi,0x8(%ebp)
438dff:	3b fe                	cmp    %esi,%edi
438e01:	75 0e                	jne    0x438e11
438e03:	8b c3                	mov    %ebx,%eax
438e05:	e8 ba fc ff ff       	call   0x438ac4
438e0a:	33 c0                	xor    %eax,%eax
438e0c:	e9 a1 01 00 00       	jmp    0x438fb2
438e11:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438e14:	33 c0                	xor    %eax,%eax
438e16:	39 b8 e0 fa 46 00    	cmp    %edi,0x46fae0(%eax)
438e1c:	0f 84 91 00 00 00    	je     0x438eb3
438e22:	ff 45 e4             	incl   -0x1c(%ebp)
438e25:	83 c0 30             	add    $0x30,%eax
438e28:	3d f0 00 00 00       	cmp    $0xf0,%eax
438e2d:	72 e7                	jb     0x438e16
438e2f:	81 ff e8 fd 00 00    	cmp    $0xfde8,%edi
438e35:	0f 84 74 01 00 00    	je     0x438faf
438e3b:	81 ff e9 fd 00 00    	cmp    $0xfde9,%edi
438e41:	0f 84 68 01 00 00    	je     0x438faf
438e47:	0f b7 c7             	movzwl %di,%eax
438e4a:	50                   	push   %eax
438e4b:	ff 15 94 35 47 00    	call   *0x473594
438e51:	85 c0                	test   %eax,%eax
438e53:	0f 84 56 01 00 00    	je     0x438faf
438e59:	8d 45 e8             	lea    -0x18(%ebp),%eax
438e5c:	50                   	push   %eax
438e5d:	57                   	push   %edi
438e5e:	ff 15 88 35 47 00    	call   *0x473588
438e64:	85 c0                	test   %eax,%eax
438e66:	0f 84 37 01 00 00    	je     0x438fa3
438e6c:	68 01 01 00 00       	push   $0x101
438e71:	8d 43 1c             	lea    0x1c(%ebx),%eax
438e74:	56                   	push   %esi
438e75:	50                   	push   %eax
438e76:	e8 f5 7c ff ff       	call   0x430b70
438e7b:	33 d2                	xor    %edx,%edx
438e7d:	42                   	inc    %edx
438e7e:	83 c4 0c             	add    $0xc,%esp
438e81:	89 7b 04             	mov    %edi,0x4(%ebx)
438e84:	89 73 0c             	mov    %esi,0xc(%ebx)
438e87:	39 55 e8             	cmp    %edx,-0x18(%ebp)
438e8a:	0f 86 fc 00 00 00    	jbe    0x438f8c
438e90:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
438e94:	0f 84 d3 00 00 00    	je     0x438f6d
438e9a:	8d 75 ef             	lea    -0x11(%ebp),%esi
438e9d:	8a 0e                	mov    (%esi),%cl
438e9f:	84 c9                	test   %cl,%cl
438ea1:	0f 84 c6 00 00 00    	je     0x438f6d
438ea7:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
438eab:	0f b6 c9             	movzbl %cl,%ecx
438eae:	e9 a9 00 00 00       	jmp    0x438f5c
438eb3:	68 01 01 00 00       	push   $0x101
438eb8:	8d 43 1c             	lea    0x1c(%ebx),%eax
438ebb:	56                   	push   %esi
438ebc:	50                   	push   %eax
438ebd:	e8 ae 7c ff ff       	call   0x430b70
438ec2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
438ec5:	83 c4 0c             	add    $0xc,%esp
438ec8:	6b c9 30             	imul   $0x30,%ecx,%ecx
438ecb:	89 75 e0             	mov    %esi,-0x20(%ebp)
438ece:	8d b1 f0 fa 46 00    	lea    0x46faf0(%ecx),%esi
438ed4:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438ed7:	eb 2b                	jmp    0x438f04
438ed9:	8a 46 01             	mov    0x1(%esi),%al
438edc:	84 c0                	test   %al,%al
438ede:	74 29                	je     0x438f09
438ee0:	0f b6 3e             	movzbl (%esi),%edi
438ee3:	0f b6 c0             	movzbl %al,%eax
438ee6:	eb 12                	jmp    0x438efa
438ee8:	8b 45 e0             	mov    -0x20(%ebp),%eax
438eeb:	8a 80 dc fa 46 00    	mov    0x46fadc(%eax),%al
438ef1:	08 44 3b 1d          	or     %al,0x1d(%ebx,%edi,1)
438ef5:	0f b6 46 01          	movzbl 0x1(%esi),%eax
438ef9:	47                   	inc    %edi
438efa:	3b f8                	cmp    %eax,%edi
438efc:	76 ea                	jbe    0x438ee8
438efe:	8b 7d 08             	mov    0x8(%ebp),%edi
438f01:	83 c6 02             	add    $0x2,%esi
438f04:	80 3e 00             	cmpb   $0x0,(%esi)
438f07:	75 d0                	jne    0x438ed9
438f09:	8b 75 e4             	mov    -0x1c(%ebp),%esi
438f0c:	ff 45 e0             	incl   -0x20(%ebp)
438f0f:	83 c6 08             	add    $0x8,%esi
438f12:	83 7d e0 04          	cmpl   $0x4,-0x20(%ebp)
438f16:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438f19:	72 e9                	jb     0x438f04
438f1b:	8b c7                	mov    %edi,%eax
438f1d:	89 7b 04             	mov    %edi,0x4(%ebx)
438f20:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%ebx)
438f27:	e8 69 fb ff ff       	call   0x438a95
438f2c:	6a 06                	push   $0x6
438f2e:	89 43 0c             	mov    %eax,0xc(%ebx)
438f31:	8d 43 10             	lea    0x10(%ebx),%eax
438f34:	8d 89 e4 fa 46 00    	lea    0x46fae4(%ecx),%ecx
438f3a:	5a                   	pop    %edx
438f3b:	66 8b 31             	mov    (%ecx),%si
438f3e:	66 89 30             	mov    %si,(%eax)
438f41:	83 c1 02             	add    $0x2,%ecx
438f44:	83 c0 02             	add    $0x2,%eax
438f47:	4a                   	dec    %edx
438f48:	75 f1                	jne    0x438f3b
438f4a:	8b f3                	mov    %ebx,%esi
438f4c:	e8 d7 fb ff ff       	call   0x438b28
438f51:	e9 b4 fe ff ff       	jmp    0x438e0a
438f56:	80 4c 03 1d 04       	orb    $0x4,0x1d(%ebx,%eax,1)
438f5b:	40                   	inc    %eax
438f5c:	3b c1                	cmp    %ecx,%eax
438f5e:	76 f6                	jbe    0x438f56
438f60:	83 c6 02             	add    $0x2,%esi
438f63:	80 7e ff 00          	cmpb   $0x0,-0x1(%esi)
438f67:	0f 85 30 ff ff ff    	jne    0x438e9d
438f6d:	8d 43 1e             	lea    0x1e(%ebx),%eax
438f70:	b9 fe 00 00 00       	mov    $0xfe,%ecx
438f75:	80 08 08             	orb    $0x8,(%eax)
438f78:	40                   	inc    %eax
438f79:	49                   	dec    %ecx
438f7a:	75 f9                	jne    0x438f75
438f7c:	8b 43 04             	mov    0x4(%ebx),%eax
438f7f:	e8 11 fb ff ff       	call   0x438a95
438f84:	89 43 0c             	mov    %eax,0xc(%ebx)
438f87:	89 53 08             	mov    %edx,0x8(%ebx)
438f8a:	eb 03                	jmp    0x438f8f
438f8c:	89 73 08             	mov    %esi,0x8(%ebx)
438f8f:	33 c0                	xor    %eax,%eax
438f91:	0f b7 c8             	movzwl %ax,%ecx
438f94:	8b c1                	mov    %ecx,%eax
438f96:	c1 e1 10             	shl    $0x10,%ecx
438f99:	0b c1                	or     %ecx,%eax
438f9b:	8d 7b 10             	lea    0x10(%ebx),%edi
438f9e:	ab                   	stos   %eax,%es:(%edi)
438f9f:	ab                   	stos   %eax,%es:(%edi)
438fa0:	ab                   	stos   %eax,%es:(%edi)
438fa1:	eb a7                	jmp    0x438f4a
438fa3:	39 35 a8 10 47 00    	cmp    %esi,0x4710a8
438fa9:	0f 85 54 fe ff ff    	jne    0x438e03
438faf:	83 c8 ff             	or     $0xffffffff,%eax
438fb2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438fb5:	5f                   	pop    %edi
438fb6:	5e                   	pop    %esi
438fb7:	33 cd                	xor    %ebp,%ecx
438fb9:	5b                   	pop    %ebx
438fba:	e8 d2 59 00 00       	call   0x43e991
438fbf:	c9                   	leave
438fc0:	c3                   	ret
438fc1:	8b ff                	mov    %edi,%edi
438fc3:	55                   	push   %ebp
438fc4:	8b ec                	mov    %esp,%ebp
438fc6:	83 ec 10             	sub    $0x10,%esp
438fc9:	6a 00                	push   $0x0
438fcb:	8d 4d f0             	lea    -0x10(%ebp),%ecx
438fce:	e8 17 7c ff ff       	call   0x430bea
438fd3:	8b 45 f4             	mov    -0xc(%ebp),%eax
438fd6:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
438fda:	74 12                	je     0x438fee
438fdc:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
438fe0:	8b 40 04             	mov    0x4(%eax),%eax