4049ac:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
4049b2:	8b ce                	mov    %esi,%ecx
4049b4:	50                   	push   %eax
4049b5:	52                   	push   %edx
4049b6:	ff 15 50 c2 41 00    	call   *0x41c250
4049bc:	ff d6                	call   *%esi
4049be:	85 c0                	test   %eax,%eax
4049c0:	0f 88 ef 01 00 00    	js     0x404bb5
4049c6:	81 7d f0 00 02 00 00 	cmpl   $0x200,-0x10(%ebp)
4049cd:	0f 85 e2 01 00 00    	jne    0x404bb5
4049d3:	6a 04                	push   $0x4
4049d5:	8d 85 dd fe ff ff    	lea    -0x123(%ebp),%eax
4049db:	68 b8 30 42 00       	push   $0x4230b8
4049e0:	50                   	push   %eax
4049e1:	e8 5a 4e 01 00       	call   0x419840
4049e6:	83 c4 0c             	add    $0xc,%esp
4049e9:	85 c0                	test   %eax,%eax
4049eb:	75 0c                	jne    0x4049f9
4049ed:	33 db                	xor    %ebx,%ebx
4049ef:	43                   	inc    %ebx
4049f0:	88 1f                	mov    %bl,(%edi)
4049f2:	8a c3                	mov    %bl,%al
4049f4:	e9 be 01 00 00       	jmp    0x404bb7
4049f9:	6a 05                	push   $0x5
4049fb:	8d 85 dd fe ff ff    	lea    -0x123(%ebp),%eax
404a01:	68 b0 30 42 00       	push   $0x4230b0
404a06:	50                   	push   %eax
404a07:	e8 34 4e 01 00       	call   0x419840
404a0c:	83 c4 0c             	add    $0xc,%esp
404a0f:	85 c0                	test   %eax,%eax
404a11:	0f 85 9e 01 00 00    	jne    0x404bb5
404a17:	6a 08                	push   $0x8
404a19:	50                   	push   %eax
404a1a:	8d 85 58 fe ff ff    	lea    -0x1a8(%ebp),%eax
404a20:	50                   	push   %eax
404a21:	e8 dd d9 00 00       	call   0x412403
404a26:	8b 53 04             	mov    0x4(%ebx),%edx
404a29:	83 c4 0c             	add    $0xc,%esp
404a2c:	8b f8                	mov    %eax,%edi
404a2e:	33 db                	xor    %ebx,%ebx
404a30:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404a33:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
404a39:	43                   	inc    %ebx
404a3a:	8b 0a                	mov    (%edx),%ecx
404a3c:	50                   	push   %eax
404a3d:	53                   	push   %ebx
404a3e:	6a 00                	push   $0x0
404a40:	8b 71 14             	mov    0x14(%ecx),%esi
404a43:	8b ce                	mov    %esi,%ecx
404a45:	6a 00                	push   $0x0
404a47:	52                   	push   %edx
404a48:	ff 15 50 c2 41 00    	call   *0x41c250
404a4e:	ff d6                	call   *%esi
404a50:	85 c0                	test   %eax,%eax
404a52:	0f 88 5d 01 00 00    	js     0x404bb5
404a58:	8b c7                	mov    %edi,%eax
404a5a:	33 c9                	xor    %ecx,%ecx
404a5c:	f7 d8                	neg    %eax
404a5e:	25 ff 01 00 00       	and    $0x1ff,%eax
404a63:	03 c7                	add    %edi,%eax
404a65:	03 45 e4             	add    -0x1c(%ebp),%eax
404a68:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
404a6e:	13 4d e8             	adc    -0x18(%ebp),%ecx
404a71:	89 8d cc fd ff ff    	mov    %ecx,-0x234(%ebp)
404a77:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
404a7d:	8b 09                	mov    (%ecx),%ecx
404a7f:	83 e9 10             	sub    $0x10,%ecx
404a82:	e8 ae f0 ff ff       	call   0x403b35
404a87:	83 c0 10             	add    $0x10,%eax
404a8a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404a8d:	68 7c 34 42 00       	push   $0x42347c
404a92:	89 45 f4             	mov    %eax,-0xc(%ebp)
404a95:	e8 2e 01 00 00       	call   0x404bc8
404a9a:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
404aa0:	50                   	push   %eax
404aa1:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404aa4:	e8 1f 01 00 00       	call   0x404bc8
404aa9:	8b 75 f4             	mov    -0xc(%ebp),%esi
404aac:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
404ab2:	50                   	push   %eax
404ab3:	6a 00                	push   $0x0
404ab5:	53                   	push   %ebx
404ab6:	68 80 00 00 00       	push   $0x80
404abb:	6a 02                	push   $0x2
404abd:	56                   	push   %esi
404abe:	ff 15 00 80 42 00    	call   *0x428000
404ac4:	85 c0                	test   %eax,%eax
404ac6:	0f 88 da 00 00 00    	js     0x404ba6
404acc:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
404ad2:	85 d2                	test   %edx,%edx
404ad4:	0f 84 cc 00 00 00    	je     0x404ba6
404ada:	85 ff                	test   %edi,%edi
404adc:	74 62                	je     0x404b40
404ade:	c7 45 f4 00 00 80 00 	movl   $0x800000,-0xc(%ebp)
404ae5:	81 ff 00 00 80 00    	cmp    $0x800000,%edi
404aeb:	77 03                	ja     0x404af0
404aed:	89 7d f4             	mov    %edi,-0xc(%ebp)
404af0:	8b 85 d4 fd ff ff    	mov    -0x22c(%ebp),%eax
404af6:	8b 48 04             	mov    0x4(%eax),%ecx
404af9:	8b 01                	mov    (%ecx),%eax
404afb:	8b 78 1c             	mov    0x1c(%eax),%edi
404afe:	8d 45 dc             	lea    -0x24(%ebp),%eax
404b01:	50                   	push   %eax
404b02:	6a 00                	push   $0x0
404b04:	6a 00                	push   $0x0
404b06:	ff 75 f4             	push   -0xc(%ebp)
404b09:	52                   	push   %edx
404b0a:	51                   	push   %ecx
404b0b:	8b cf                	mov    %edi,%ecx
404b0d:	ff 15 50 c2 41 00    	call   *0x41c250
404b13:	ff d7                	call   *%edi
404b15:	85 c0                	test   %eax,%eax
404b17:	78 1f                	js     0x404b38
404b19:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
404b1d:	77 19                	ja     0x404b38
404b1f:	8b bd d0 fd ff ff    	mov    -0x230(%ebp),%edi
404b25:	2b 7d dc             	sub    -0x24(%ebp),%edi
404b28:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
404b2e:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
404b34:	75 a8                	jne    0x404ade
404b36:	eb 08                	jmp    0x404b40
404b38:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
404b3e:	32 db                	xor    %bl,%bl
404b40:	8b 02                	mov    (%edx),%eax
404b42:	52                   	push   %edx
404b43:	8b 78 08             	mov    0x8(%eax),%edi
404b46:	8b cf                	mov    %edi,%ecx
404b48:	ff 15 50 c2 41 00    	call   *0x41c250
404b4e:	ff d7                	call   *%edi
404b50:	83 a5 d8 fd ff ff 00 	andl   $0x0,-0x228(%ebp)
404b57:	8b bd d4 fd ff ff    	mov    -0x22c(%ebp),%edi
404b5d:	84 db                	test   %bl,%bl
404b5f:	74 21                	je     0x404b82
404b61:	8b 47 08             	mov    0x8(%edi),%eax
404b64:	89 85 d0 fd ff ff    	mov    %eax,-0x230(%ebp)
404b6a:	85 c0                	test   %eax,%eax
404b6c:	74 14                	je     0x404b82
404b6e:	56                   	push   %esi
404b6f:	ff 77 0c             	push   0xc(%edi)
404b72:	8b c8                	mov    %eax,%ecx
404b74:	ff 15 50 c2 41 00    	call   *0x41c250
404b7a:	ff 95 d0 fd ff ff    	call   *-0x230(%ebp)
404b80:	59                   	pop    %ecx
404b81:	59                   	pop    %ecx
404b82:	8b 47 04             	mov    0x4(%edi),%eax
404b85:	6a 00                	push   $0x0
404b87:	6a 00                	push   $0x0
404b89:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
404b8f:	8b 38                	mov    (%eax),%edi
404b91:	ff b5 c8 fd ff ff    	push   -0x238(%ebp)
404b97:	50                   	push   %eax
404b98:	8b 4f 14             	mov    0x14(%edi),%ecx
404b9b:	ff 15 50 c2 41 00    	call   *0x41c250
404ba1:	ff 57 14             	call   *0x14(%edi)
404ba4:	eb 02                	jmp    0x404ba8
404ba6:	32 db                	xor    %bl,%bl
404ba8:	8d 4e f0             	lea    -0x10(%esi),%ecx
404bab:	e8 52 c7 ff ff       	call   0x401302
404bb0:	e9 3d fe ff ff       	jmp    0x4049f2
404bb5:	32 c0                	xor    %al,%al
404bb7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
404bba:	5f                   	pop    %edi
404bbb:	5e                   	pop    %esi
404bbc:	33 cd                	xor    %ebp,%ecx
404bbe:	5b                   	pop    %ebx
404bbf:	e8 31 40 00 00       	call   0x408bf5
404bc4:	c9                   	leave
404bc5:	c2 04 00             	ret    $0x4
404bc8:	55                   	push   %ebp
404bc9:	8b ec                	mov    %esp,%ebp
404bcb:	51                   	push   %ecx
404bcc:	51                   	push   %ecx
404bcd:	a1 18 60 42 00       	mov    0x426018,%eax
404bd2:	33 c5                	xor    %ebp,%eax
404bd4:	89 45 fc             	mov    %eax,-0x4(%ebp)
404bd7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404bdb:	56                   	push   %esi
404bdc:	8b 75 08             	mov    0x8(%ebp),%esi
404bdf:	57                   	push   %edi
404be0:	8b f9                	mov    %ecx,%edi
404be2:	e8 93 ec ff ff       	call   0x40387a
404be7:	50                   	push   %eax
404be8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404beb:	e8 0c ef ff ff       	call   0x403afc
404bf0:	85 f6                	test   %esi,%esi
404bf2:	74 16                	je     0x404c0a
404bf4:	f7 c6 00 00 ff ff    	test   $0xffff0000,%esi
404bfa:	75 0e                	jne    0x404c0a
404bfc:	0f b7 c6             	movzwl %si,%eax
404bff:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404c02:	50                   	push   %eax
404c03:	e8 6f e8 ff ff       	call   0x403477
404c08:	eb 09                	jmp    0x404c13
404c0a:	56                   	push   %esi
404c0b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404c0e:	e8 a2 ec ff ff       	call   0x4038b5
404c13:	8b 75 f8             	mov    -0x8(%ebp),%esi
404c16:	8b cf                	mov    %edi,%ecx
404c18:	ff 76 f4             	push   -0xc(%esi)
404c1b:	56                   	push   %esi
404c1c:	e8 4b ee ff ff       	call   0x403a6c
404c21:	8d 4e f0             	lea    -0x10(%esi),%ecx
404c24:	e8 d9 c6 ff ff       	call   0x401302
404c29:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404c2c:	8b c7                	mov    %edi,%eax
404c2e:	5f                   	pop    %edi
404c2f:	33 cd                	xor    %ebp,%ecx
404c31:	5e                   	pop    %esi
404c32:	e8 be 3f 00 00       	call   0x408bf5
404c37:	c9                   	leave
404c38:	c2 04 00             	ret    $0x4
404c3b:	56                   	push   %esi
404c3c:	8b f1                	mov    %ecx,%esi
404c3e:	ff 36                	push   (%esi)
404c40:	e8 ac 48 01 00       	call   0x4194f1
404c45:	83 26 00             	andl   $0x0,(%esi)
404c48:	83 66 04 00          	andl   $0x0,0x4(%esi)
404c4c:	59                   	pop    %ecx
404c4d:	5e                   	pop    %esi
404c4e:	c3                   	ret
404c4f:	55                   	push   %ebp
404c50:	8b ec                	mov    %esp,%ebp
404c52:	83 ec 10             	sub    $0x10,%esp
404c55:	a1 18 60 42 00       	mov    0x426018,%eax
404c5a:	33 c5                	xor    %ebp,%eax
404c5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
404c5f:	53                   	push   %ebx
404c60:	8b 5d 08             	mov    0x8(%ebp),%ebx
404c63:	8d 45 f4             	lea    -0xc(%ebp),%eax
404c66:	56                   	push   %esi
404c67:	57                   	push   %edi
404c68:	50                   	push   %eax
404c69:	53                   	push   %ebx
404c6a:	8b f1                	mov    %ecx,%esi
404c6c:	ff 15 24 80 42 00    	call   *0x428024
404c72:	8b f8                	mov    %eax,%edi
404c74:	85 ff                	test   %edi,%edi
404c76:	74 6e                	je     0x404ce6
404c78:	57                   	push   %edi
404c79:	e8 77 4a 01 00       	call   0x4196f5
404c7e:	59                   	pop    %ecx
404c7f:	50                   	push   %eax
404c80:	57                   	push   %edi
404c81:	ff 75 f4             	push   -0xc(%ebp)
404c84:	89 06                	mov    %eax,(%esi)
404c86:	53                   	push   %ebx
404c87:	ff 15 1c 80 42 00    	call   *0x42801c
404c8d:	85 c0                	test   %eax,%eax
404c8f:	75 0b                	jne    0x404c9c
404c91:	ff 36                	push   (%esi)
404c93:	e8 59 48 01 00       	call   0x4194f1
404c98:	33 ff                	xor    %edi,%edi
404c9a:	eb 44                	jmp    0x404ce0
404c9c:	8d 45 f8             	lea    -0x8(%ebp),%eax
404c9f:	33 ff                	xor    %edi,%edi
404ca1:	50                   	push   %eax
404ca2:	8d 45 f0             	lea    -0x10(%ebp),%eax
404ca5:	89 7d f8             	mov    %edi,-0x8(%ebp)
404ca8:	50                   	push   %eax
404ca9:	68 80 34 42 00       	push   $0x423480
404cae:	ff 36                	push   (%esi)
404cb0:	89 7d f0             	mov    %edi,-0x10(%ebp)
404cb3:	ff 15 20 80 42 00    	call   *0x428020
404cb9:	85 c0                	test   %eax,%eax
404cbb:	74 1c                	je     0x404cd9
404cbd:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404cc0:	74 17                	je     0x404cd9
404cc2:	8b 45 f0             	mov    -0x10(%ebp),%eax
404cc5:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
404cc9:	0f b7 00             	movzwl (%eax),%eax
404ccc:	c1 e0 10             	shl    $0x10,%eax
404ccf:	0b c8                	or     %eax,%ecx
404cd1:	33 c0                	xor    %eax,%eax
404cd3:	89 4e 04             	mov    %ecx,0x4(%esi)
404cd6:	40                   	inc    %eax
404cd7:	eb 0f                	jmp    0x404ce8
404cd9:	ff 36                	push   (%esi)
404cdb:	e8 11 48 01 00       	call   0x4194f1
404ce0:	89 7e 04             	mov    %edi,0x4(%esi)
404ce3:	89 3e                	mov    %edi,(%esi)
404ce5:	59                   	pop    %ecx
404ce6:	33 c0                	xor    %eax,%eax
404ce8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404ceb:	5f                   	pop    %edi
404cec:	5e                   	pop    %esi
404ced:	33 cd                	xor    %ebp,%ecx
404cef:	5b                   	pop    %ebx
404cf0:	e8 00 3f 00 00       	call   0x408bf5
404cf5:	c9                   	leave
404cf6:	c2 04 00             	ret    $0x4
404cf9:	55                   	push   %ebp
404cfa:	8b ec                	mov    %esp,%ebp
404cfc:	83 ec 20             	sub    $0x20,%esp
404cff:	a1 18 60 42 00       	mov    0x426018,%eax
404d04:	33 c5                	xor    %ebp,%eax
404d06:	89 45 fc             	mov    %eax,-0x4(%ebp)
404d09:	53                   	push   %ebx
404d0a:	8b 5d 08             	mov    0x8(%ebp),%ebx
404d0d:	56                   	push   %esi
404d0e:	8b f1                	mov    %ecx,%esi
404d10:	89 5d e8             	mov    %ebx,-0x18(%ebp)
404d13:	57                   	push   %edi
404d14:	33 ff                	xor    %edi,%edi
404d16:	39 3e                	cmp    %edi,(%esi)
404d18:	75 1f                	jne    0x404d39
404d1a:	68 80 14 42 00       	push   $0x421480
404d1f:	8b cb                	mov    %ebx,%ecx
404d21:	e8 42 e9 ff ff       	call   0x403668
404d26:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404d29:	8b c3                	mov    %ebx,%eax
404d2b:	5f                   	pop    %edi
404d2c:	5e                   	pop    %esi
404d2d:	33 cd                	xor    %ebp,%ecx
404d2f:	5b                   	pop    %ebx
404d30:	e8 c0 3e 00 00       	call   0x408bf5
404d35:	c9                   	leave
404d36:	c2 08 00             	ret    $0x8
404d39:	89 7d f0             	mov    %edi,-0x10(%ebp)
404d3c:	89 7d ec             	mov    %edi,-0x14(%ebp)
404d3f:	89 7d f8             	mov    %edi,-0x8(%ebp)
404d42:	e8 e4 c5 ff ff       	call   0x40132b
404d47:	50                   	push   %eax
404d48:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404d4b:	e8 ac ed ff ff       	call   0x403afc
404d50:	89 7d f4             	mov    %edi,-0xc(%ebp)
404d53:	e8 d3 c5 ff ff       	call   0x40132b
404d58:	50                   	push   %eax
404d59:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404d5c:	e8 9b ed ff ff       	call   0x403afc
404d61:	68 bc 27 42 00       	push   $0x4227bc
404d66:	ff 76 04             	push   0x4(%esi)
404d69:	8d 45 f4             	lea    -0xc(%ebp),%eax
404d6c:	68 b4 34 42 00       	push   $0x4234b4
404d71:	50                   	push   %eax
404d72:	e8 7a 18 00 00       	call   0x4065f1
404d77:	83 c4 10             	add    $0x10,%esp
404d7a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404d7d:	57                   	push   %edi
404d7e:	e8 5d e9 ff ff       	call   0x4036e0
404d83:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404d86:	51                   	push   %ecx
404d87:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404d8a:	51                   	push   %ecx
404d8b:	50                   	push   %eax
404d8c:	ff 36                	push   (%esi)
404d8e:	ff 15 20 80 42 00    	call   *0x428020
404d94:	85 c0                	test   %eax,%eax
404d96:	0f 84 c0 00 00 00    	je     0x404e5c
404d9c:	39 7d f0             	cmp    %edi,-0x10(%ebp)
404d9f:	0f 84 b7 00 00 00    	je     0x404e5c