415ce1:	5d                   	pop    %ebp
415ce2:	c2 04 00             	ret    $0x4
415ce5:	8d 40 00             	lea    0x0(%eax),%eax
415ce8:	53                   	push   %ebx
415ce9:	56                   	push   %esi
415cea:	57                   	push   %edi
415ceb:	8b f2                	mov    %edx,%esi
415ced:	8b d8                	mov    %eax,%ebx
415cef:	8b 43 28             	mov    0x28(%ebx),%eax
415cf2:	e8 fd db fe ff       	call   0x4038f4
415cf7:	8b f8                	mov    %eax,%edi
415cf9:	47                   	inc    %edi
415cfa:	8b 43 2c             	mov    0x2c(%ebx),%eax
415cfd:	e8 f2 db fe ff       	call   0x4038f4
415d02:	03 f8                	add    %eax,%edi
415d04:	8b d7                	mov    %edi,%edx
415d06:	8b c3                	mov    %ebx,%eax
415d08:	e8 c3 fc ff ff       	call   0x4159d0
415d0d:	8b 43 18             	mov    0x18(%ebx),%eax
415d10:	33 c9                	xor    %ecx,%ecx
415d12:	8b 53 1c             	mov    0x1c(%ebx),%edx
415d15:	e8 7a cd fe ff       	call   0x402a94
415d1a:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
415d1e:	74 1c                	je     0x415d3c
415d20:	8b 43 28             	mov    0x28(%ebx),%eax
415d23:	e8 cc db fe ff       	call   0x4038f4
415d28:	50                   	push   %eax
415d29:	8d 43 28             	lea    0x28(%ebx),%eax
415d2c:	e8 1b de fe ff       	call   0x403b4c
415d31:	8b d0                	mov    %eax,%edx
415d33:	8b 43 18             	mov    0x18(%ebx),%eax
415d36:	59                   	pop    %ecx
415d37:	e8 28 ee fe ff       	call   0x404b64
415d3c:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
415d40:	74 25                	je     0x415d67
415d42:	8b 43 2c             	mov    0x2c(%ebx),%eax
415d45:	e8 aa db fe ff       	call   0x4038f4
415d4a:	50                   	push   %eax
415d4b:	8d 43 2c             	lea    0x2c(%ebx),%eax
415d4e:	e8 f9 dd fe ff       	call   0x403b4c
415d53:	50                   	push   %eax
415d54:	8b 43 28             	mov    0x28(%ebx),%eax
415d57:	e8 98 db fe ff       	call   0x4038f4
415d5c:	03 43 18             	add    0x18(%ebx),%eax
415d5f:	40                   	inc    %eax
415d60:	5a                   	pop    %edx
415d61:	59                   	pop    %ecx
415d62:	e8 fd ed fe ff       	call   0x404b64
415d67:	8b d6                	mov    %esi,%edx
415d69:	8b c3                	mov    %ebx,%eax
415d6b:	e8 f4 fc ff ff       	call   0x415a64
415d70:	5f                   	pop    %edi
415d71:	5e                   	pop    %esi
415d72:	5b                   	pop    %ebx
415d73:	c3                   	ret
415d74:	53                   	push   %ebx
415d75:	e8 32 ce fe ff       	call   0x402bac
415d7a:	74 17                	je     0x415d93
415d7c:	8b d8                	mov    %eax,%ebx
415d7e:	8b c3                	mov    %ebx,%eax
415d80:	33 d2                	xor    %edx,%edx
415d82:	e8 8d fc ff ff       	call   0x415a14
415d87:	33 c0                	xor    %eax,%eax
415d89:	89 43 28             	mov    %eax,0x28(%ebx)
415d8c:	33 c0                	xor    %eax,%eax
415d8e:	89 43 2c             	mov    %eax,0x2c(%ebx)
415d91:	8b c3                	mov    %ebx,%eax
415d93:	5b                   	pop    %ebx
415d94:	c3                   	ret
415d95:	8d 40 00             	lea    0x0(%eax),%eax
415d98:	53                   	push   %ebx
415d99:	8b d8                	mov    %eax,%ebx
415d9b:	8b c3                	mov    %ebx,%eax
415d9d:	e8 0e 00 00 00       	call   0x415db0
415da2:	8b c3                	mov    %ebx,%eax
415da4:	e8 9b fc ff ff       	call   0x415a44
415da9:	8b c3                	mov    %ebx,%eax
415dab:	5b                   	pop    %ebx
415dac:	c3                   	ret
415dad:	8d 40 00             	lea    0x0(%eax),%eax
415db0:	53                   	push   %ebx
415db1:	8b d8                	mov    %eax,%ebx
415db3:	8b 43 28             	mov    0x28(%ebx),%eax
415db6:	85 c0                	test   %eax,%eax
415db8:	74 06                	je     0x415dc0
415dba:	50                   	push   %eax
415dbb:	e8 40 eb fe ff       	call   0x404900
415dc0:	8b 43 2c             	mov    0x2c(%ebx),%eax
415dc3:	85 c0                	test   %eax,%eax
415dc5:	74 06                	je     0x415dcd
415dc7:	50                   	push   %eax
415dc8:	e8 2b eb fe ff       	call   0x4048f8
415dcd:	8b 83 64 04 00 00    	mov    0x464(%ebx),%eax
415dd3:	85 c0                	test   %eax,%eax
415dd5:	74 05                	je     0x415ddc
415dd7:	e8 84 ca fe ff       	call   0x402860
415ddc:	33 c0                	xor    %eax,%eax
415dde:	89 43 28             	mov    %eax,0x28(%ebx)
415de1:	33 c0                	xor    %eax,%eax
415de3:	89 43 2c             	mov    %eax,0x2c(%ebx)
415de6:	33 c0                	xor    %eax,%eax
415de8:	89 83 64 04 00 00    	mov    %eax,0x464(%ebx)
415dee:	33 c0                	xor    %eax,%eax
415df0:	89 83 60 04 00 00    	mov    %eax,0x460(%ebx)
415df6:	5b                   	pop    %ebx
415df7:	c3                   	ret
415df8:	55                   	push   %ebp
415df9:	8b ec                	mov    %esp,%ebp
415dfb:	83 c4 f8             	add    $0xfffffff8,%esp
415dfe:	53                   	push   %ebx
415dff:	56                   	push   %esi
415e00:	57                   	push   %edi
415e01:	89 4d f8             	mov    %ecx,-0x8(%ebp)
415e04:	89 55 fc             	mov    %edx,-0x4(%ebp)
415e07:	8b f0                	mov    %eax,%esi
415e09:	8b 45 08             	mov    0x8(%ebp),%eax
415e0c:	50                   	push   %eax
415e0d:	8b fe                	mov    %esi,%edi
415e0f:	8b c7                	mov    %edi,%eax
415e11:	8b 4d f8             	mov    -0x8(%ebp),%ecx
415e14:	8b 55 fc             	mov    -0x4(%ebp),%edx
415e17:	e8 ec fc ff ff       	call   0x415b08
415e1c:	8b d8                	mov    %eax,%ebx
415e1e:	84 db                	test   %bl,%bl
415e20:	0f 84 af 00 00 00    	je     0x415ed5
415e26:	8b f7                	mov    %edi,%esi
415e28:	83 7e 1c 0d          	cmpl   $0xd,0x1c(%esi)
415e2c:	73 0e                	jae    0x415e3c
415e2e:	33 db                	xor    %ebx,%ebx
415e30:	8b 46 20             	mov    0x20(%esi),%eax
415e33:	c6 40 30 02          	movb   $0x2,0x30(%eax)
415e37:	e9 99 00 00 00       	jmp    0x415ed5
415e3c:	8b 46 18             	mov    0x18(%esi),%eax
415e3f:	56                   	push   %esi
415e40:	8d be 68 04 00 00    	lea    0x468(%esi),%edi
415e46:	8b f0                	mov    %eax,%esi
415e48:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415e49:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415e4a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415e4b:	a4                   	movsb  %ds:(%esi),%es:(%edi)
415e4c:	5e                   	pop    %esi
415e4d:	8b 86 68 04 00 00    	mov    0x468(%esi),%eax
415e53:	e8 e8 fa ff ff       	call   0x415940
415e58:	89 86 68 04 00 00    	mov    %eax,0x468(%esi)
415e5e:	8b 86 6c 04 00 00    	mov    0x46c(%esi),%eax
415e64:	e8 d7 fa ff ff       	call   0x415940
415e69:	89 86 6c 04 00 00    	mov    %eax,0x46c(%esi)
415e6f:	81 be 68 04 00 00 ff 	cmpl   $0xffff,0x468(%esi)
415e76:	ff 00 00
415e79:	7f 0c                	jg     0x415e87
415e7b:	81 be 6c 04 00 00 ff 	cmpl   $0xffff,0x46c(%esi)
415e82:	ff 00 00
415e85:	7e 0b                	jle    0x415e92
415e87:	33 db                	xor    %ebx,%ebx
415e89:	8b 46 20             	mov    0x20(%esi),%eax
415e8c:	c6 40 30 03          	movb   $0x3,0x30(%eax)
415e90:	eb 43                	jmp    0x415ed5
415e92:	80 be 72 04 00 00 00 	cmpb   $0x0,0x472(%esi)
415e99:	74 0b                	je     0x415ea6
415e9b:	33 db                	xor    %ebx,%ebx
415e9d:	8b 46 20             	mov    0x20(%esi),%eax
415ea0:	c6 40 30 04          	movb   $0x4,0x30(%eax)
415ea4:	eb 2f                	jmp    0x415ed5
415ea6:	8a 86 74 04 00 00    	mov    0x474(%esi),%al
415eac:	84 c0                	test   %al,%al
415eae:	74 0f                	je     0x415ebf
415eb0:	3c 01                	cmp    $0x1,%al
415eb2:	74 0b                	je     0x415ebf
415eb4:	33 db                	xor    %ebx,%ebx
415eb6:	8b 46 20             	mov    0x20(%esi),%eax
415eb9:	c6 40 30 05          	movb   $0x5,0x30(%eax)
415ebd:	eb 16                	jmp    0x415ed5
415ebf:	8b 46 20             	mov    0x20(%esi),%eax
415ec2:	8a 96 74 04 00 00    	mov    0x474(%esi),%dl
415ec8:	88 90 38 02 00 00    	mov    %dl,0x238(%eax)
415ece:	8b c6                	mov    %esi,%eax
415ed0:	e8 eb 00 00 00       	call   0x415fc0
415ed5:	8b c3                	mov    %ebx,%eax
415ed7:	5f                   	pop    %edi
415ed8:	5e                   	pop    %esi
415ed9:	5b                   	pop    %ebx
415eda:	59                   	pop    %ecx
415edb:	59                   	pop    %ecx
415edc:	5d                   	pop    %ebp
415edd:	c2 04 00             	ret    $0x4
415ee0:	53                   	push   %ebx
415ee1:	56                   	push   %esi
415ee2:	57                   	push   %edi
415ee3:	51                   	push   %ecx
415ee4:	89 14 24             	mov    %edx,(%esp)
415ee7:	8b d8                	mov    %eax,%ebx
415ee9:	80 bb 70 04 00 00 02 	cmpb   $0x2,0x470(%ebx)
415ef0:	75 07                	jne    0x415ef9
415ef2:	c6 83 70 04 00 00 04 	movb   $0x4,0x470(%ebx)
415ef9:	ba 0d 00 00 00       	mov    $0xd,%edx
415efe:	8b c3                	mov    %ebx,%eax
415f00:	e8 cb fa ff ff       	call   0x4159d0
415f05:	8b 73 18             	mov    0x18(%ebx),%esi
415f08:	56                   	push   %esi
415f09:	8b fe                	mov    %esi,%edi
415f0b:	8d b3 68 04 00 00    	lea    0x468(%ebx),%esi
415f11:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415f12:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415f13:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415f14:	a4                   	movsb  %ds:(%esi),%es:(%edi)
415f15:	5e                   	pop    %esi
415f16:	8b 06                	mov    (%esi),%eax
415f18:	e8 23 fa ff ff       	call   0x415940
415f1d:	8b 7b 18             	mov    0x18(%ebx),%edi
415f20:	89 07                	mov    %eax,(%edi)
415f22:	8b 47 04             	mov    0x4(%edi),%eax
415f25:	e8 16 fa ff ff       	call   0x415940
415f2a:	8b 73 18             	mov    0x18(%ebx),%esi
415f2d:	89 46 04             	mov    %eax,0x4(%esi)
415f30:	8b 43 20             	mov    0x20(%ebx),%eax
415f33:	8a 80 38 02 00 00    	mov    0x238(%eax),%al
415f39:	88 46 0c             	mov    %al,0xc(%esi)
415f3c:	8b 14 24             	mov    (%esp),%edx
415f3f:	8b c3                	mov    %ebx,%eax
415f41:	e8 1e fb ff ff       	call   0x415a64
415f46:	5a                   	pop    %edx
415f47:	5f                   	pop    %edi
415f48:	5e                   	pop    %esi
415f49:	5b                   	pop    %ebx
415f4a:	c3                   	ret
415f4b:	90                   	nop
415f4c:	55                   	push   %ebp
415f4d:	8b ec                	mov    %esp,%ebp
415f4f:	51                   	push   %ecx
415f50:	53                   	push   %ebx
415f51:	56                   	push   %esi
415f52:	57                   	push   %edi
415f53:	88 55 ff             	mov    %dl,-0x1(%ebp)
415f56:	8b f8                	mov    %eax,%edi
415f58:	8b 5d 08             	mov    0x8(%ebp),%ebx
415f5b:	8b 5b fc             	mov    -0x4(%ebx),%ebx
415f5e:	8a 45 ff             	mov    -0x1(%ebp),%al
415f61:	88 43 30             	mov    %al,0x30(%ebx)
415f64:	8d 43 31             	lea    0x31(%ebx),%eax
415f67:	33 c9                	xor    %ecx,%ecx
415f69:	ba 28 04 00 00       	mov    $0x428,%edx
415f6e:	e8 21 cb fe ff       	call   0x402a94
415f73:	c7 43 31 28 00 00 00 	movl   $0x28,0x31(%ebx)
415f7a:	8b 83 6c 04 00 00    	mov    0x46c(%ebx),%eax
415f80:	89 43 39             	mov    %eax,0x39(%ebx)
415f83:	8b 83 68 04 00 00    	mov    0x468(%ebx),%eax
415f89:	89 43 35             	mov    %eax,0x35(%ebx)
415f8c:	8b 73 20             	mov    0x20(%ebx),%esi
415f8f:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
415f93:	74 15                	je     0x415faa
415f95:	8b c6                	mov    %esi,%eax
415f97:	e8 54 30 00 00       	call   0x418ff0
415f9c:	89 43 39             	mov    %eax,0x39(%ebx)
415f9f:	8b 43 20             	mov    0x20(%ebx),%eax
415fa2:	e8 85 30 00 00       	call   0x41902c
415fa7:	89 43 35             	mov    %eax,0x35(%ebx)
415faa:	66 c7 43 3d 01 00    	movw   $0x1,0x3d(%ebx)
415fb0:	66 89 7b 3f          	mov    %di,0x3f(%ebx)
415fb4:	33 c0                	xor    %eax,%eax
415fb6:	89 43 41             	mov    %eax,0x41(%ebx)
415fb9:	5f                   	pop    %edi
415fba:	5e                   	pop    %esi
415fbb:	5b                   	pop    %ebx
415fbc:	59                   	pop    %ecx
415fbd:	5d                   	pop    %ebp
415fbe:	c3                   	ret
415fbf:	90                   	nop
415fc0:	55                   	push   %ebp
415fc1:	8b ec                	mov    %esp,%ebp
415fc3:	51                   	push   %ecx
415fc4:	53                   	push   %ebx
415fc5:	56                   	push   %esi
415fc6:	89 45 fc             	mov    %eax,-0x4(%ebp)
415fc9:	8b 75 fc             	mov    -0x4(%ebp),%esi
415fcc:	8d 46 31             	lea    0x31(%esi),%eax
415fcf:	33 c9                	xor    %ecx,%ecx
415fd1:	ba 28 04 00 00       	mov    $0x428,%edx
415fd6:	e8 b9 ca fe ff       	call   0x402a94
415fdb:	8b c6                	mov    %esi,%eax
415fdd:	e8 ce fd ff ff       	call   0x415db0
415fe2:	8a 86 71 04 00 00    	mov    0x471(%esi),%al
415fe8:	2c 01                	sub    $0x1,%al
415fea:	72 0f                	jb     0x415ffb
415fec:	fe c8                	dec    %al
415fee:	74 78                	je     0x416068
415ff0:	48                   	dec    %eax
415ff1:	2c 02                	sub    $0x2,%al
415ff3:	72 06                	jb     0x415ffb
415ff5:	fe c8                	dec    %al
415ff7:	74 6f                	je     0x416068
415ff9:	eb 7b                	jmp    0x416076
415ffb:	8a 86 70 04 00 00    	mov    0x470(%esi),%al
416001:	33 d2                	xor    %edx,%edx
416003:	8a d0                	mov    %al,%dl
416005:	83 fa 10             	cmp    $0x10,%edx
416008:	77 6c                	ja     0x416076
41600a:	8a 92 17 60 41 00    	mov    0x416017(%edx),%dl
416010:	ff 24 95 28 60 41 00 	jmp    *0x416028(,%edx,4)
416017:	00 01                	add    %al,(%ecx)
416019:	02 00                	add    (%eax),%al
41601b:	01 00                	add    %eax,(%eax)
41601d:	00 00                	add    %al,(%eax)
41601f:	01 00                	add    %eax,(%eax)
416021:	00 00                	add    %al,(%eax)
416023:	00 00                	add    %al,(%eax)
416025:	00 00                	add    %al,(%eax)
416027:	03 76 60             	add    0x60(%esi),%esi
41602a:	41                   	inc    %ecx
41602b:	00 38                	add    %bh,(%eax)
41602d:	60                   	pusha
41602e:	41                   	inc    %ecx
41602f:	00 48 60             	add    %cl,0x60(%eax)
416032:	41                   	inc    %ecx
416033:	00 58 60             	add    %bl,0x60(%eax)
416036:	41                   	inc    %ecx
416037:	00 55 25             	add    %dl,0x25(%ebp)
41603a:	ff 00                	incl   (%eax)
41603c:	00 00                	add    %al,(%eax)
41603e:	b2 01                	mov    $0x1,%dl
416040:	e8 07 ff ff ff       	call   0x415f4c
416045:	59                   	pop    %ecx
416046:	eb 2e                	jmp    0x416076
416048:	55                   	push   %ebp
416049:	b2 01                	mov    $0x1,%dl
41604b:	b8 04 00 00 00       	mov    $0x4,%eax
416050:	e8 f7 fe ff ff       	call   0x415f4c
416055:	59                   	pop    %ecx
416056:	eb 1e                	jmp    0x416076
416058:	55                   	push   %ebp
416059:	b2 01                	mov    $0x1,%dl
41605b:	b8 08 00 00 00       	mov    $0x8,%eax
416060:	e8 e7 fe ff ff       	call   0x415f4c
416065:	59                   	pop    %ecx
416066:	eb 0e                	jmp    0x416076
416068:	55                   	push   %ebp
416069:	33 d2                	xor    %edx,%edx
41606b:	b8 18 00 00 00       	mov    $0x18,%eax
416070:	e8 d7 fe ff ff       	call   0x415f4c
416075:	59                   	pop    %ecx
416076:	8b 46 20             	mov    0x20(%esi),%eax
416079:	e8 ae 2f 00 00       	call   0x41902c
41607e:	0f b7 56 3f          	movzwl 0x3f(%esi),%edx
416082:	f7 ea                	imul   %edx
416084:	83 c0 1f             	add    $0x1f,%eax
416087:	83 e0 e0             	and    $0xffffffe0,%eax
41608a:	85 c0                	test   %eax,%eax
41608c:	79 03                	jns    0x416091
41608e:	83 c0 07             	add    $0x7,%eax
416091:	c1 f8 03             	sar    $0x3,%eax
416094:	89 86 5c 04 00 00    	mov    %eax,0x45c(%esi)