477df1:	ff 15 e8 f2 48 00    	call   *0x48f2e8
477df7:	53                   	push   %ebx
477df8:	ff 15 5c f3 48 00    	call   *0x48f35c
477dfe:	85 f6                	test   %esi,%esi
477e00:	75 0c                	jne    0x477e0e
477e02:	57                   	push   %edi
477e03:	ff 15 f4 f2 48 00    	call   *0x48f2f4
477e09:	e9 87 02 00 00       	jmp    0x478095
477e0e:	8d 45 08             	lea    0x8(%ebp),%eax
477e11:	50                   	push   %eax
477e12:	6a 01                	push   $0x1
477e14:	57                   	push   %edi
477e15:	ff 15 54 f8 48 00    	call   *0x48f854
477e1b:	8d 45 10             	lea    0x10(%ebp),%eax
477e1e:	33 db                	xor    %ebx,%ebx
477e20:	50                   	push   %eax
477e21:	68 ac 2c 49 00       	push   $0x492cac
477e26:	53                   	push   %ebx
477e27:	53                   	push   %ebx
477e28:	ff 75 08             	push   0x8(%ebp)
477e2b:	ff 15 60 f4 48 00    	call   *0x48f460
477e31:	8b 45 08             	mov    0x8(%ebp),%eax
477e34:	50                   	push   %eax
477e35:	8b 08                	mov    (%eax),%ecx
477e37:	ff 51 08             	call   *0x8(%ecx)
477e3a:	57                   	push   %edi
477e3b:	ff 15 f4 f2 48 00    	call   *0x48f2f4
477e41:	8b 4d 10             	mov    0x10(%ebp),%ecx
477e44:	85 c9                	test   %ecx,%ecx
477e46:	0f 84 49 02 00 00    	je     0x478095
477e4c:	8b 01                	mov    (%ecx),%eax
477e4e:	8d 55 0c             	lea    0xc(%ebp),%edx
477e51:	52                   	push   %edx
477e52:	51                   	push   %ecx
477e53:	ff 50 0c             	call   *0xc(%eax)
477e56:	68 00 20 00 00       	push   $0x2000
477e5b:	53                   	push   %ebx
477e5c:	53                   	push   %ebx
477e5d:	53                   	push   %ebx
477e5e:	ff 75 0c             	push   0xc(%ebp)
477e61:	ff 15 d0 f4 48 00    	call   *0x48f4d0
477e67:	89 45 0c             	mov    %eax,0xc(%ebp)
477e6a:	8b 45 10             	mov    0x10(%ebp),%eax
477e6d:	50                   	push   %eax
477e6e:	8b 08                	mov    (%eax),%ecx
477e70:	ff 51 08             	call   *0x8(%ecx)
477e73:	ff 75 0c             	push   0xc(%ebp)
477e76:	8b 75 d0             	mov    -0x30(%ebp),%esi
477e79:	53                   	push   %ebx
477e7a:	68 72 01 00 00       	push   $0x172
477e7f:	56                   	push   %esi
477e80:	ff 15 88 f6 48 00    	call   *0x48f688
477e86:	8b 45 0c             	mov    0xc(%ebp),%eax
477e89:	a3 9c 62 4c 00       	mov    %eax,0x4c629c
477e8e:	8b 45 e0             	mov    -0x20(%ebp),%eax
477e91:	2b 45 d8             	sub    -0x28(%ebp),%eax
477e94:	6a 20                	push   $0x20
477e96:	50                   	push   %eax
477e97:	8b 45 dc             	mov    -0x24(%ebp),%eax
477e9a:	2b 45 d4             	sub    -0x2c(%ebp),%eax
477e9d:	50                   	push   %eax
477e9e:	53                   	push   %ebx
477e9f:	53                   	push   %ebx
477ea0:	53                   	push   %ebx
477ea1:	56                   	push   %esi
477ea2:	ff 15 d4 f4 48 00    	call   *0x48f4d4
477ea8:	e9 da 01 00 00       	jmp    0x478087
477ead:	83 e8 16             	sub    $0x16,%eax
477eb0:	83 e9 16             	sub    $0x16,%ecx
477eb3:	89 45 fc             	mov    %eax,-0x4(%ebp)
477eb6:	8b 43 04             	mov    0x4(%ebx),%eax
477eb9:	89 4d 10             	mov    %ecx,0x10(%ebp)
477ebc:	8b 70 04             	mov    0x4(%eax),%esi
477ebf:	8b ce                	mov    %esi,%ecx
477ec1:	e8 d1 1a f9 ff       	call   0x409997
477ec6:	8b 46 08             	mov    0x8(%esi),%eax
477ec9:	33 f6                	xor    %esi,%esi
477ecb:	56                   	push   %esi
477ecc:	56                   	push   %esi
477ecd:	56                   	push   %esi
477ece:	ff 35 a0 62 4c 00    	push   0x4c62a0
477ed4:	ff 75 fc             	push   -0x4(%ebp)
477ed7:	ff 75 10             	push   0x10(%ebp)
477eda:	6a 0b                	push   $0xb
477edc:	6a 0b                	push   $0xb
477ede:	57                   	push   %edi
477edf:	ff 30                	push   (%eax)
477ee1:	68 00 f9 48 00       	push   $0x48f900
477ee6:	56                   	push   %esi
477ee7:	ff 15 20 f7 48 00    	call   *0x48f720
477eed:	56                   	push   %esi
477eee:	56                   	push   %esi
477eef:	56                   	push   %esi
477ef0:	8b f8                	mov    %eax,%edi
477ef2:	68 f0 a8 4b 00       	push   $0x4ba8f0
477ef7:	89 7d f8             	mov    %edi,-0x8(%ebp)
477efa:	ff 15 10 f1 48 00    	call   *0x48f110
477f00:	6a 11                	push   $0x11
477f02:	8b f0                	mov    %eax,%esi
477f04:	ff 15 14 f1 48 00    	call   *0x48f114
477f0a:	50                   	push   %eax
477f0b:	56                   	push   %esi
477f0c:	ff 15 ec f0 48 00    	call   *0x48f0ec
477f12:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
477f18:	50                   	push   %eax
477f19:	6a 40                	push   $0x40
477f1b:	56                   	push   %esi
477f1c:	ff 15 18 f1 48 00    	call   *0x48f118
477f22:	6a 5a                	push   $0x5a
477f24:	56                   	push   %esi
477f25:	ff 15 d4 f0 48 00    	call   *0x48f0d4
477f2b:	56                   	push   %esi
477f2c:	89 45 f4             	mov    %eax,-0xc(%ebp)
477f2f:	ff 15 08 f1 48 00    	call   *0x48f108
477f35:	83 7d 0c 08          	cmpl   $0x8,0xc(%ebp)
477f39:	72 3d                	jb     0x477f78
477f3b:	8b 4b 04             	mov    0x4(%ebx),%ecx
477f3e:	8b 71 1c             	mov    0x1c(%ecx),%esi
477f41:	8b ce                	mov    %esi,%ecx
477f43:	e8 4f 1a f9 ff       	call   0x409997
477f48:	8b 46 08             	mov    0x8(%esi),%eax
477f4b:	ff 30                	push   (%eax)
477f4d:	e8 ea ae fa ff       	call   0x422e3c
477f52:	59                   	pop    %ecx
477f53:	83 f8 01             	cmp    $0x1,%eax
477f56:	72 20                	jb     0x477f78
477f58:	8b 43 04             	mov    0x4(%ebx),%eax
477f5b:	8b 70 1c             	mov    0x1c(%eax),%esi
477f5e:	8b ce                	mov    %esi,%ecx
477f60:	e8 32 1a f9 ff       	call   0x409997
477f65:	8b 46 08             	mov    0x8(%esi),%eax
477f68:	ff 30                	push   (%eax)
477f6a:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
477f70:	50                   	push   %eax
477f71:	e8 86 b0 fa ff       	call   0x422ffc
477f76:	59                   	pop    %ecx
477f77:	59                   	pop    %ecx
477f78:	83 7d 0c 09          	cmpl   $0x9,0xc(%ebp)
477f7c:	72 1f                	jb     0x477f9d
477f7e:	8b 43 04             	mov    0x4(%ebx),%eax
477f81:	8b 48 20             	mov    0x20(%eax),%ecx
477f84:	e8 13 1d f9 ff       	call   0x409c9c
477f89:	83 f8 06             	cmp    $0x6,%eax
477f8c:	7c 0f                	jl     0x477f9d
477f8e:	8b 43 04             	mov    0x4(%ebx),%eax
477f91:	8b 48 20             	mov    0x20(%eax),%ecx
477f94:	e8 03 1d f9 ff       	call   0x409c9c
477f99:	8b f0                	mov    %eax,%esi
477f9b:	eb 03                	jmp    0x477fa0
477f9d:	6a 0c                	push   $0xc
477f9f:	5e                   	pop    %esi
477fa0:	83 7d 0c 0a          	cmpl   $0xa,0xc(%ebp)
477fa4:	72 2e                	jb     0x477fd4
477fa6:	8b 4b 04             	mov    0x4(%ebx),%ecx
477fa9:	8b 49 24             	mov    0x24(%ecx),%ecx
477fac:	e8 eb 1c f9 ff       	call   0x409c9c
477fb1:	85 c0                	test   %eax,%eax
477fb3:	78 1f                	js     0x477fd4
477fb5:	8b 43 04             	mov    0x4(%ebx),%eax
477fb8:	8b 48 24             	mov    0x24(%eax),%ecx
477fbb:	e8 dc 1c f9 ff       	call   0x409c9c
477fc0:	3d e8 03 00 00       	cmp    $0x3e8,%eax
477fc5:	7f 0d                	jg     0x477fd4
477fc7:	8b 43 04             	mov    0x4(%ebx),%eax
477fca:	8b 48 24             	mov    0x24(%eax),%ecx
477fcd:	e8 ca 1c f9 ff       	call   0x409c9c
477fd2:	eb 05                	jmp    0x477fd9
477fd4:	b8 90 01 00 00       	mov    $0x190,%eax
477fd9:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
477fdf:	51                   	push   %ecx
477fe0:	33 c9                	xor    %ecx,%ecx
477fe2:	51                   	push   %ecx
477fe3:	6a 02                	push   $0x2
477fe5:	51                   	push   %ecx
477fe6:	6a 04                	push   $0x4
477fe8:	6a 01                	push   $0x1
477fea:	51                   	push   %ecx
477feb:	51                   	push   %ecx
477fec:	51                   	push   %ecx
477fed:	50                   	push   %eax
477fee:	8b 45 f4             	mov    -0xc(%ebp),%eax
477ff1:	51                   	push   %ecx
477ff2:	51                   	push   %ecx
477ff3:	0f af c6             	imul   %esi,%eax
477ff6:	51                   	push   %ecx
477ff7:	6a b8                	push   $0xffffffb8
477ff9:	59                   	pop    %ecx
477ffa:	99                   	cltd
477ffb:	f7 f9                	idiv   %ecx
477ffd:	50                   	push   %eax
477ffe:	ff 15 1c f1 48 00    	call   *0x48f11c
478004:	6a 01                	push   $0x1
478006:	50                   	push   %eax
478007:	6a 30                	push   $0x30
478009:	57                   	push   %edi
47800a:	a3 a4 62 4c 00       	mov    %eax,0x4c62a4
47800f:	ff 15 88 f6 48 00    	call   *0x48f688
478015:	f6 45 d0 20          	testb  $0x20,-0x30(%ebp)
478019:	74 6c                	je     0x478087
47801b:	57                   	push   %edi
47801c:	ff 15 28 f6 48 00    	call   *0x48f628
478022:	ff 35 a4 62 4c 00    	push   0x4c62a4
478028:	8b d8                	mov    %eax,%ebx
47802a:	53                   	push   %ebx
47802b:	ff 15 ec f0 48 00    	call   *0x48f0ec
478031:	8b 4d 08             	mov    0x8(%ebp),%ecx
478034:	8b f8                	mov    %eax,%edi
478036:	8b 49 04             	mov    0x4(%ecx),%ecx
478039:	8b 71 04             	mov    0x4(%ecx),%esi
47803c:	8b ce                	mov    %esi,%ecx
47803e:	e8 54 19 f9 ff       	call   0x409997
478043:	8b 56 08             	mov    0x8(%esi),%edx
478046:	8d 45 cc             	lea    -0x34(%ebp),%eax
478049:	50                   	push   %eax
47804a:	8b cb                	mov    %ebx,%ecx
47804c:	8b 12                	mov    (%edx),%edx
47804e:	e8 1e ca fe ff       	call   0x464a71
478053:	59                   	pop    %ecx
478054:	57                   	push   %edi
478055:	53                   	push   %ebx
478056:	ff 15 ec f0 48 00    	call   *0x48f0ec
47805c:	8b 75 f8             	mov    -0x8(%ebp),%esi
47805f:	53                   	push   %ebx
478060:	56                   	push   %esi
478061:	ff 15 24 f6 48 00    	call   *0x48f624
478067:	8b 45 fc             	mov    -0x4(%ebp),%eax
47806a:	2b 45 d0             	sub    -0x30(%ebp),%eax
47806d:	6a 01                	push   $0x1
47806f:	ff 75 d0             	push   -0x30(%ebp)
478072:	99                   	cltd
478073:	ff 75 10             	push   0x10(%ebp)
478076:	2b c2                	sub    %edx,%eax
478078:	d1 f8                	sar    $1,%eax
47807a:	83 c0 0b             	add    $0xb,%eax
47807d:	50                   	push   %eax
47807e:	6a 0b                	push   $0xb
478080:	56                   	push   %esi
478081:	ff 15 00 f7 48 00    	call   *0x48f700
478087:	6a 04                	push   $0x4
478089:	ff 35 a0 62 4c 00    	push   0x4c62a0
47808f:	ff 15 1c f7 48 00    	call   *0x48f71c
478095:	5f                   	pop    %edi
478096:	5e                   	pop    %esi
478097:	33 c0                	xor    %eax,%eax
478099:	5b                   	pop    %ebx
47809a:	8b e5                	mov    %ebp,%esp
47809c:	5d                   	pop    %ebp
47809d:	c2 0c 00             	ret    $0xc
4780a0:	55                   	push   %ebp
4780a1:	8b ec                	mov    %esp,%ebp
4780a3:	83 ec 10             	sub    $0x10,%esp
4780a6:	53                   	push   %ebx
4780a7:	56                   	push   %esi
4780a8:	57                   	push   %edi
4780a9:	8b 7d 08             	mov    0x8(%ebp),%edi
4780ac:	8b f1                	mov    %ecx,%esi
4780ae:	6a 02                	push   $0x2
4780b0:	58                   	pop    %eax
4780b1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4780b4:	66 89 07             	mov    %ax,(%edi)
4780b7:	e8 5c db f8 ff       	call   0x405c18
4780bc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4780bf:	50                   	push   %eax
4780c0:	ff 75 0c             	push   0xc(%ebp)
4780c3:	e8 43 02 00 00       	call   0x47830b
4780c8:	ff 75 f0             	push   -0x10(%ebp)
4780cb:	ff 15 e0 f7 48 00    	call   *0x48f7e0
4780d1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4780d4:	8b d8                	mov    %eax,%ebx
4780d6:	e8 89 d9 f8 ff       	call   0x405a64
4780db:	83 fb ff             	cmp    $0xffffffff,%ebx
4780de:	75 17                	jne    0x4780f7
4780e0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4780e3:	ba 80 a9 4b 00       	mov    $0x4ba980,%edx
4780e8:	e8 80 22 fe ff       	call   0x45a36d
4780ed:	84 c0                	test   %al,%al
4780ef:	74 06                	je     0x4780f7
4780f1:	6a 00                	push   $0x0
4780f3:	6a 01                	push   $0x1
4780f5:	eb 23                	jmp    0x47811a
4780f7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4780fa:	89 5f 04             	mov    %ebx,0x4(%edi)
4780fd:	8d 41 ff             	lea    -0x1(%ecx),%eax
478100:	3d fe ff 00 00       	cmp    $0xfffe,%eax
478105:	77 0f                	ja     0x478116
478107:	51                   	push   %ecx
478108:	ff 15 e4 f7 48 00    	call   *0x48f7e4
47810e:	66 89 47 02          	mov    %ax,0x2(%edi)
478112:	b0 01                	mov    $0x1,%al
478114:	eb 12                	jmp    0x478128
478116:	6a 00                	push   $0x0
478118:	6a 02                	push   $0x2
47811a:	8b 06                	mov    (%esi),%eax
47811c:	8b 48 04             	mov    0x4(%eax),%ecx
47811f:	03 ce                	add    %esi,%ecx
478121:	e8 7d e9 fd ff       	call   0x456aa3
478126:	32 c0                	xor    %al,%al
478128:	5f                   	pop    %edi
478129:	5e                   	pop    %esi
47812a:	5b                   	pop    %ebx
47812b:	8b e5                	mov    %ebp,%esp
47812d:	5d                   	pop    %ebp
47812e:	c2 0c 00             	ret    $0xc
478131:	55                   	push   %ebp
478132:	8b ec                	mov    %esp,%ebp
478134:	51                   	push   %ecx
478135:	51                   	push   %ecx
478136:	8b 45 08             	mov    0x8(%ebp),%eax
478139:	53                   	push   %ebx
47813a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47813d:	56                   	push   %esi
47813e:	8b 75 10             	mov    0x10(%ebp),%esi
478141:	57                   	push   %edi
478142:	83 23 00             	andl   $0x0,(%ebx)
478145:	8b f9                	mov    %ecx,%edi
478147:	89 43 04             	mov    %eax,0x4(%ebx)
47814a:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
47814f:	8b c6                	mov    %esi,%eax
478151:	ff 03                	incl   (%ebx)
478153:	99                   	cltd
478154:	f7 f9                	idiv   %ecx
478156:	89 45 f8             	mov    %eax,-0x8(%ebp)
478159:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
47815f:	2b f0                	sub    %eax,%esi
478161:	69 c6 e8 03 00 00    	imul   $0x3e8,%esi,%eax
478167:	89 45 fc             	mov    %eax,-0x4(%ebp)
47816a:	8d 45 f8             	lea    -0x8(%ebp),%eax
47816d:	50                   	push   %eax
47816e:	33 c0                	xor    %eax,%eax
478170:	50                   	push   %eax
478171:	38 45 14             	cmp    %al,0x14(%ebp)
478174:	74 04                	je     0x47817a
478176:	53                   	push   %ebx
478177:	50                   	push   %eax
478178:	eb 02                	jmp    0x47817c
47817a:	50                   	push   %eax
47817b:	53                   	push   %ebx
47817c:	50                   	push   %eax
47817d:	ff 15 f0 f7 48 00    	call   *0x48f7f0
478183:	8b f0                	mov    %eax,%esi
478185:	85 f6                	test   %esi,%esi
478187:	75 0d                	jne    0x478196
478189:	38 45 14             	cmp    %al,0x14(%ebp)
47818c:	74 34                	je     0x4781c2
47818e:	50                   	push   %eax
47818f:	68 4c 27 00 00       	push   $0x274c
478194:	eb 20                	jmp    0x4781b6
478196:	7e 15                	jle    0x4781ad
478198:	53                   	push   %ebx
478199:	ff 75 08             	push   0x8(%ebp)