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)
41609a:	8b 46 20             	mov    0x20(%esi),%eax
41609d:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
4160a2:	75 72                	jne    0x416116
4160a4:	8a 86 71 04 00 00    	mov    0x471(%esi),%al
4160aa:	3c 06                	cmp    $0x6,%al
4160ac:	74 04                	je     0x4160b2
4160ae:	3c 04                	cmp    $0x4,%al
4160b0:	75 22                	jne    0x4160d4
4160b2:	8b 46 20             	mov    0x20(%esi),%eax
4160b5:	e8 72 2f 00 00       	call   0x41902c
4160ba:	8b d8                	mov    %eax,%ebx
4160bc:	8b 46 20             	mov    0x20(%esi),%eax
4160bf:	e8 2c 2f 00 00       	call   0x418ff0
4160c4:	0f af d8             	imul   %eax,%ebx
4160c7:	8b c3                	mov    %ebx,%eax
4160c9:	e8 0e 49 ff ff       	call   0x40a9dc
4160ce:	89 86 64 04 00 00    	mov    %eax,0x464(%esi)
4160d4:	6a 00                	push   $0x0
4160d6:	e8 f5 e7 fe ff       	call   0x4048d0
4160db:	8b d8                	mov    %eax,%ebx
4160dd:	89 5e 2c             	mov    %ebx,0x2c(%esi)
4160e0:	6a 00                	push   $0x0
4160e2:	6a 00                	push   $0x0
4160e4:	8d 86 60 04 00 00    	lea    0x460(%esi),%eax
4160ea:	50                   	push   %eax
4160eb:	6a 00                	push   $0x0
4160ed:	8d 46 31             	lea    0x31(%esi),%eax
4160f0:	50                   	push   %eax
4160f1:	53                   	push   %ebx
4160f2:	e8 e1 e7 fe ff       	call   0x4048d8
4160f7:	89 46 28             	mov    %eax,0x28(%esi)
4160fa:	8b 46 20             	mov    0x20(%esi),%eax
4160fd:	e8 ee 2e 00 00       	call   0x418ff0
416102:	8b d0                	mov    %eax,%edx
416104:	0f af 96 5c 04 00 00 	imul   0x45c(%esi),%edx
41610b:	8b 86 60 04 00 00    	mov    0x460(%esi),%eax
416111:	e8 56 ea fe ff       	call   0x404b6c
416116:	5e                   	pop    %esi
416117:	5b                   	pop    %ebx
416118:	59                   	pop    %ecx
416119:	5d                   	pop    %ebp
41611a:	c3                   	ret
41611b:	90                   	nop
41611c:	53                   	push   %ebx
41611d:	56                   	push   %esi
41611e:	8b f2                	mov    %edx,%esi
416120:	8b d8                	mov    %eax,%ebx
416122:	8b 43 1c             	mov    0x1c(%ebx),%eax
416125:	3d 00 01 00 00       	cmp    $0x100,%eax
41612a:	77 0d                	ja     0x416139
41612c:	8d 53 29             	lea    0x29(%ebx),%edx
41612f:	8b c8                	mov    %eax,%ecx
416131:	8b 43 18             	mov    0x18(%ebx),%eax
416134:	e8 2b ea fe ff       	call   0x404b64
416139:	8b d6                	mov    %esi,%edx
41613b:	8b c3                	mov    %ebx,%eax
41613d:	e8 22 f9 ff ff       	call   0x415a64
416142:	5e                   	pop    %esi
416143:	5b                   	pop    %ebx
416144:	c3                   	ret
416145:	8d 40 00             	lea    0x0(%eax),%eax
416148:	55                   	push   %ebp
416149:	8b ec                	mov    %esp,%ebp
41614b:	83 c4 f4             	add    $0xfffffff4,%esp
41614e:	53                   	push   %ebx
41614f:	56                   	push   %esi
416150:	57                   	push   %edi
416151:	89 4d f8             	mov    %ecx,-0x8(%ebp)
416154:	89 55 fc             	mov    %edx,-0x4(%ebp)
416157:	8b d8                	mov    %eax,%ebx
416159:	8b 75 08             	mov    0x8(%ebp),%esi
41615c:	56                   	push   %esi
41615d:	8b fb                	mov    %ebx,%edi
41615f:	8b c7                	mov    %edi,%eax
416161:	8b 4d f8             	mov    -0x8(%ebp),%ecx
416164:	8b 55 fc             	mov    -0x4(%ebp),%edx
416167:	e8 9c f9 ff ff       	call   0x415b08
41616c:	88 45 f7             	mov    %al,-0x9(%ebp)
41616f:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
416173:	74 73                	je     0x4161e8
416175:	8b df                	mov    %edi,%ebx
416177:	81 fe 00 01 00 00    	cmp    $0x100,%esi
41617d:	7e 0d                	jle    0x41618c
41617f:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
416183:	8b 43 20             	mov    0x20(%ebx),%eax
416186:	c6 40 30 06          	movb   $0x6,0x30(%eax)
41618a:	eb 5c                	jmp    0x4161e8
41618c:	8d 43 29             	lea    0x29(%ebx),%eax
41618f:	b1 ff                	mov    $0xff,%cl
416191:	ba 00 01 00 00       	mov    $0x100,%edx
416196:	e8 f9 c8 fe ff       	call   0x402a94
41619b:	8d 43 29             	lea    0x29(%ebx),%eax
41619e:	8b ce                	mov    %esi,%ecx
4161a0:	8b 53 18             	mov    0x18(%ebx),%edx
4161a3:	e8 bc e9 fe ff       	call   0x404b64
4161a8:	8b c3                	mov    %ebx,%eax
4161aa:	e8 45 f8 ff ff       	call   0x4159f4
4161af:	8a 80 71 04 00 00    	mov    0x471(%eax),%al
4161b5:	2c 01                	sub    $0x1,%al
4161b7:	72 0a                	jb     0x4161c3
4161b9:	fe c8                	dec    %al
4161bb:	74 06                	je     0x4161c3
4161bd:	fe c8                	dec    %al
4161bf:	74 08                	je     0x4161c9
4161c1:	eb 25                	jmp    0x4161e8
4161c3:	c6 43 28 01          	movb   $0x1,0x28(%ebx)
4161c7:	eb 1f                	jmp    0x4161e8
4161c9:	33 d2                	xor    %edx,%edx
4161cb:	8b c6                	mov    %esi,%eax
4161cd:	48                   	dec    %eax
4161ce:	85 c0                	test   %eax,%eax
4161d0:	7c 0f                	jl     0x4161e1
4161d2:	40                   	inc    %eax
4161d3:	33 c9                	xor    %ecx,%ecx
4161d5:	80 7c 0b 29 ff       	cmpb   $0xff,0x29(%ebx,%ecx,1)
4161da:	74 01                	je     0x4161dd
4161dc:	42                   	inc    %edx
4161dd:	41                   	inc    %ecx
4161de:	48                   	dec    %eax
4161df:	75 f4                	jne    0x4161d5
4161e1:	4a                   	dec    %edx
4161e2:	0f 94 c0             	sete   %al
4161e5:	88 43 28             	mov    %al,0x28(%ebx)
4161e8:	8a 45 f7             	mov    -0x9(%ebp),%al
4161eb:	5f                   	pop    %edi
4161ec:	5e                   	pop    %esi
4161ed:	5b                   	pop    %ebx
4161ee:	8b e5                	mov    %ebp,%esp
4161f0:	5d                   	pop    %ebp
4161f1:	c2 04 00             	ret    $0x4
4161f4:	53                   	push   %ebx
4161f5:	56                   	push   %esi
4161f6:	8b da                	mov    %edx,%ebx
4161f8:	8b f0                	mov    %eax,%esi
4161fa:	8b c3                	mov    %ebx,%eax
4161fc:	33 c9                	xor    %ecx,%ecx
4161fe:	ba 40 00 00 00       	mov    $0x40,%edx
416203:	e8 8c c8 fe ff       	call   0x402a94
416208:	b8 ff ff 00 00       	mov    $0xffff,%eax
41620d:	e8 1e c6 fe ff       	call   0x402830
416212:	89 43 38             	mov    %eax,0x38(%ebx)
416215:	89 73 3c             	mov    %esi,0x3c(%ebx)
416218:	ba 2c 62 41 00       	mov    $0x41622c,%edx
41621d:	8b c3                	mov    %ebx,%eax
41621f:	b9 38 00 00 00       	mov    $0x38,%ecx
416224:	e8 7f c6 ff ff       	call   0x4128a8
416229:	5e                   	pop    %esi
41622a:	5b                   	pop    %ebx
41622b:	c3                   	ret
41622c:	31 2e                	xor    %ebp,(%esi)
41622e:	31 2e                	xor    %ebp,(%esi)
416230:	34 00                	xor    $0x0,%al
416232:	00 00                	add    %al,(%eax)
416234:	55                   	push   %ebp
416235:	8b ec                	mov    %esp,%ebp
416237:	51                   	push   %ecx
416238:	53                   	push   %ebx
416239:	56                   	push   %esi
41623a:	57                   	push   %edi
41623b:	8b f1                	mov    %ecx,%esi
41623d:	88 55 ff             	mov    %dl,-0x1(%ebp)
416240:	8b f8                	mov    %eax,%edi
416242:	8b 5d 08             	mov    0x8(%ebp),%ebx
416245:	8b c3                	mov    %ebx,%eax
416247:	33 c9                	xor    %ecx,%ecx
416249:	ba 40 00 00 00       	mov    $0x40,%edx
41624e:	e8 41 c8 fe ff       	call   0x402a94
416253:	8b c6                	mov    %esi,%eax
416255:	e8 d6 c5 fe ff       	call   0x402830
41625a:	89 43 38             	mov    %eax,0x38(%ebx)
41625d:	89 7b 3c             	mov    %edi,0x3c(%ebx)
416260:	8b 43 38             	mov    0x38(%ebx),%eax
416263:	89 43 0c             	mov    %eax,0xc(%ebx)
416266:	89 73 10             	mov    %esi,0x10(%ebx)
416269:	6a 38                	push   $0x38