47ef2d:	83 f8 ff             	cmp    $0xffffffff,%eax
47ef30:	0f 84 d1 01 00 00    	je     0x47f107
47ef36:	2b de                	sub    %esi,%ebx
47ef38:	0f 84 38 01 00 00    	je     0x47f076
47ef3e:	4b                   	dec    %ebx
47ef3f:	0f 85 43 01 00 00    	jne    0x47f088
47ef45:	8d 4c 24 18          	lea    0x18(%esp),%ecx
47ef49:	51                   	push   %ecx
47ef4a:	50                   	push   %eax
47ef4b:	ff 15 18 f3 48 00    	call   *0x48f318
47ef51:	85 c0                	test   %eax,%eax
47ef53:	0f 84 2f 01 00 00    	je     0x47f088
47ef59:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47ef5c:	e8 cd a4 f8 ff       	call   0x40942e
47ef61:	6a 06                	push   $0x6
47ef63:	8b f0                	mov    %eax,%esi
47ef65:	6a 01                	push   $0x1
47ef67:	56                   	push   %esi
47ef68:	89 74 24 1c          	mov    %esi,0x1c(%esp)
47ef6c:	e8 3f a2 f8 ff       	call   0x4091b0
47ef71:	8b 7c 24 24          	mov    0x24(%esp),%edi
47ef75:	8b 5c 24 28          	mov    0x28(%esp),%ebx
47ef79:	6a 00                	push   $0x0
47ef7b:	6a 01                	push   $0x1
47ef7d:	6a 02                	push   $0x2
47ef7f:	56                   	push   %esi
47ef80:	e8 1b 9f f8 ff       	call   0x408ea0
47ef85:	83 c4 1c             	add    $0x1c,%esp
47ef88:	8b f0                	mov    %eax,%esi
47ef8a:	8b ce                	mov    %esi,%ecx
47ef8c:	e8 8f aa f8 ff       	call   0x409a20
47ef91:	6a 02                	push   $0x2
47ef93:	58                   	pop    %eax
47ef94:	6a 01                	push   $0x1
47ef96:	6a 01                	push   $0x1
47ef98:	50                   	push   %eax
47ef99:	ff 74 24 1c          	push   0x1c(%esp)
47ef9d:	89 46 0c             	mov    %eax,0xc(%esi)
47efa0:	89 3e                	mov    %edi,(%esi)
47efa2:	89 5e 04             	mov    %ebx,0x4(%esi)
47efa5:	8b 7c 24 30          	mov    0x30(%esp),%edi
47efa9:	8b 5c 24 34          	mov    0x34(%esp),%ebx
47efad:	e8 ee 9e f8 ff       	call   0x408ea0
47efb2:	83 c4 10             	add    $0x10,%esp
47efb5:	8b f0                	mov    %eax,%esi
47efb7:	8b ce                	mov    %esi,%ecx
47efb9:	e8 62 aa f8 ff       	call   0x409a20
47efbe:	6a 02                	push   $0x2
47efc0:	58                   	pop    %eax
47efc1:	50                   	push   %eax
47efc2:	6a 01                	push   $0x1
47efc4:	50                   	push   %eax
47efc5:	ff 74 24 1c          	push   0x1c(%esp)
47efc9:	89 46 0c             	mov    %eax,0xc(%esi)
47efcc:	89 3e                	mov    %edi,(%esi)
47efce:	89 5e 04             	mov    %ebx,0x4(%esi)
47efd1:	8b 7c 24 38          	mov    0x38(%esp),%edi
47efd5:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
47efd9:	e8 c2 9e f8 ff       	call   0x408ea0
47efde:	83 c4 10             	add    $0x10,%esp
47efe1:	8b f0                	mov    %eax,%esi
47efe3:	8b ce                	mov    %esi,%ecx
47efe5:	e8 36 aa f8 ff       	call   0x409a20
47efea:	6a 02                	push   $0x2
47efec:	58                   	pop    %eax
47efed:	6a 03                	push   $0x3
47efef:	6a 01                	push   $0x1
47eff1:	50                   	push   %eax
47eff2:	ff 74 24 1c          	push   0x1c(%esp)
47eff6:	89 46 0c             	mov    %eax,0xc(%esi)
47eff9:	89 3e                	mov    %edi,(%esi)
47effb:	89 5e 04             	mov    %ebx,0x4(%esi)
47effe:	8b 7c 24 40          	mov    0x40(%esp),%edi
47f002:	8b 5c 24 44          	mov    0x44(%esp),%ebx
47f006:	e8 95 9e f8 ff       	call   0x408ea0
47f00b:	83 c4 10             	add    $0x10,%esp
47f00e:	8b f0                	mov    %eax,%esi
47f010:	8b ce                	mov    %esi,%ecx
47f012:	e8 09 aa f8 ff       	call   0x409a20
47f017:	6a 02                	push   $0x2
47f019:	58                   	pop    %eax
47f01a:	6a 04                	push   $0x4
47f01c:	6a 01                	push   $0x1
47f01e:	50                   	push   %eax
47f01f:	ff 74 24 1c          	push   0x1c(%esp)
47f023:	89 46 0c             	mov    %eax,0xc(%esi)
47f026:	89 3e                	mov    %edi,(%esi)
47f028:	89 5e 04             	mov    %ebx,0x4(%esi)
47f02b:	8b 7c 24 48          	mov    0x48(%esp),%edi
47f02f:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
47f033:	e8 68 9e f8 ff       	call   0x408ea0
47f038:	83 c4 10             	add    $0x10,%esp
47f03b:	8b f0                	mov    %eax,%esi
47f03d:	8b ce                	mov    %esi,%ecx
47f03f:	e8 dc a9 f8 ff       	call   0x409a20
47f044:	6a 02                	push   $0x2
47f046:	58                   	pop    %eax
47f047:	6a 05                	push   $0x5
47f049:	6a 01                	push   $0x1
47f04b:	50                   	push   %eax
47f04c:	ff 74 24 1c          	push   0x1c(%esp)
47f050:	89 46 0c             	mov    %eax,0xc(%esi)
47f053:	89 3e                	mov    %edi,(%esi)
47f055:	89 5e 04             	mov    %ebx,0x4(%esi)
47f058:	8b 7c 24 50          	mov    0x50(%esp),%edi
47f05c:	8b 5c 24 54          	mov    0x54(%esp),%ebx
47f060:	e8 3b 9e f8 ff       	call   0x408ea0
47f065:	83 c4 10             	add    $0x10,%esp
47f068:	8b f0                	mov    %eax,%esi
47f06a:	8b ce                	mov    %esi,%ecx
47f06c:	e8 af a9 f8 ff       	call   0x409a20
47f071:	89 5e 04             	mov    %ebx,0x4(%esi)
47f074:	eb 7d                	jmp    0x47f0f3
47f076:	6a 28                	push   $0x28
47f078:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
47f07c:	51                   	push   %ecx
47f07d:	50                   	push   %eax
47f07e:	ff 15 84 f4 48 00    	call   *0x48f484
47f084:	85 c0                	test   %eax,%eax
47f086:	75 11                	jne    0x47f099
47f088:	8b 07                	mov    (%edi),%eax
47f08a:	56                   	push   %esi
47f08b:	6a 02                	push   $0x2
47f08d:	8b 48 04             	mov    0x4(%eax),%ecx
47f090:	03 cf                	add    %edi,%ecx
47f092:	e8 0c 7a fd ff       	call   0x456aa3
47f097:	eb 62                	jmp    0x47f0fb
47f099:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47f09c:	e8 8d a3 f8 ff       	call   0x40942e
47f0a1:	6a 02                	push   $0x2
47f0a3:	8b d8                	mov    %eax,%ebx
47f0a5:	6a 01                	push   $0x1
47f0a7:	53                   	push   %ebx
47f0a8:	e8 03 a1 f8 ff       	call   0x4091b0
47f0ad:	8b 7c 24 30          	mov    0x30(%esp),%edi
47f0b1:	56                   	push   %esi
47f0b2:	6a 01                	push   $0x1
47f0b4:	6a 02                	push   $0x2
47f0b6:	53                   	push   %ebx
47f0b7:	e8 e4 9d f8 ff       	call   0x408ea0
47f0bc:	83 c4 1c             	add    $0x1c,%esp
47f0bf:	8b f0                	mov    %eax,%esi
47f0c1:	8b ce                	mov    %esi,%ecx
47f0c3:	e8 58 a9 f8 ff       	call   0x409a20
47f0c8:	83 66 04 00          	andl   $0x0,0x4(%esi)
47f0cc:	6a 02                	push   $0x2
47f0ce:	58                   	pop    %eax
47f0cf:	6a 01                	push   $0x1
47f0d1:	6a 01                	push   $0x1
47f0d3:	50                   	push   %eax
47f0d4:	89 46 0c             	mov    %eax,0xc(%esi)
47f0d7:	89 3e                	mov    %edi,(%esi)
47f0d9:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
47f0dd:	53                   	push   %ebx
47f0de:	e8 bd 9d f8 ff       	call   0x408ea0
47f0e3:	83 c4 10             	add    $0x10,%esp
47f0e6:	8b f0                	mov    %eax,%esi
47f0e8:	8b ce                	mov    %esi,%ecx
47f0ea:	e8 31 a9 f8 ff       	call   0x409a20
47f0ef:	83 66 04 00          	andl   $0x0,0x4(%esi)
47f0f3:	6a 02                	push   $0x2
47f0f5:	58                   	pop    %eax
47f0f6:	89 3e                	mov    %edi,(%esi)
47f0f8:	89 46 0c             	mov    %eax,0xc(%esi)
47f0fb:	ff 74 24 14          	push   0x14(%esp)
47f0ff:	ff 15 5c f3 48 00    	call   *0x48f35c
47f105:	eb 0f                	jmp    0x47f116
47f107:	56                   	push   %esi
47f108:	8b 07                	mov    (%edi),%eax
47f10a:	6a 01                	push   $0x1
47f10c:	8b 48 04             	mov    0x4(%eax),%ecx
47f10f:	03 cf                	add    %edi,%ecx
47f111:	e8 8d 79 fd ff       	call   0x456aa3
47f116:	5f                   	pop    %edi
47f117:	5e                   	pop    %esi
47f118:	33 c0                	xor    %eax,%eax
47f11a:	5b                   	pop    %ebx
47f11b:	8b e5                	mov    %ebp,%esp
47f11d:	5d                   	pop    %ebp
47f11e:	c2 08 00             	ret    $0x8
47f121:	55                   	push   %ebp
47f122:	8b ec                	mov    %esp,%ebp
47f124:	83 e4 f8             	and    $0xfffffff8,%esp
47f127:	81 ec 94 02 00 00    	sub    $0x294,%esp
47f12d:	53                   	push   %ebx
47f12e:	56                   	push   %esi
47f12f:	33 f6                	xor    %esi,%esi
47f131:	c7 44 24 28 90 b0 4b 	movl   $0x4bb090,0x28(%esp)
47f138:	00
47f139:	57                   	push   %edi
47f13a:	56                   	push   %esi
47f13b:	6a 02                	push   $0x2
47f13d:	89 74 24 38          	mov    %esi,0x38(%esp)
47f141:	89 74 24 3c          	mov    %esi,0x3c(%esp)
47f145:	89 74 24 40          	mov    %esi,0x40(%esp)
47f149:	c7 44 24 78 2c 02 00 	movl   $0x22c,0x78(%esp)
47f150:	00
47f151:	ff 15 f0 f1 48 00    	call   *0x48f1f0
47f157:	8b f8                	mov    %eax,%edi
47f159:	8d 44 24 70          	lea    0x70(%esp),%eax
47f15d:	50                   	push   %eax
47f15e:	57                   	push   %edi
47f15f:	ff 15 f4 f1 48 00    	call   *0x48f1f4
47f165:	8b 5d 08             	mov    0x8(%ebp),%ebx
47f168:	eb 02                	jmp    0x47f16c
47f16a:	33 f6                	xor    %esi,%esi
47f16c:	8d 4c 24 18          	lea    0x18(%esp),%ecx
47f170:	e8 52 86 f8 ff       	call   0x4077c7
47f175:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
47f179:	e8 49 86 f8 ff       	call   0x4077c7
47f17e:	8d 84 24 94 00 00 00 	lea    0x94(%esp),%eax
47f185:	50                   	push   %eax
47f186:	8d 4c 24 50          	lea    0x50(%esp),%ecx
47f18a:	e8 b2 8d f8 ff       	call   0x407f41
47f18f:	8d 44 24 3c          	lea    0x3c(%esp),%eax
47f193:	33 d2                	xor    %edx,%edx
47f195:	50                   	push   %eax
47f196:	8d 44 24 1c          	lea    0x1c(%esp),%eax
47f19a:	50                   	push   %eax
47f19b:	56                   	push   %esi
47f19c:	8d 4c 24 58          	lea    0x58(%esp),%ecx
47f1a0:	e8 54 55 f8 ff       	call   0x4046f9
47f1a5:	83 c4 0c             	add    $0xc,%esp
47f1a8:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
47f1ac:	e8 b3 68 f8 ff       	call   0x405a64
47f1b1:	8d 44 24 3c          	lea    0x3c(%esp),%eax
47f1b5:	50                   	push   %eax
47f1b6:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
47f1ba:	e8 cf 8a f8 ff       	call   0x407c8e
47f1bf:	39 73 08             	cmp    %esi,0x8(%ebx)
47f1c2:	74 1e                	je     0x47f1e2
47f1c4:	8b 43 04             	mov    0x4(%ebx),%eax
47f1c7:	8b 30                	mov    (%eax),%esi
47f1c9:	8b ce                	mov    %esi,%ecx
47f1cb:	e8 c7 a7 f8 ff       	call   0x409997
47f1d0:	6a 00                	push   $0x0
47f1d2:	ff 76 08             	push   0x8(%esi)
47f1d5:	8d 4c 24 20          	lea    0x20(%esp),%ecx
47f1d9:	e8 8a 88 f8 ff       	call   0x407a68
47f1de:	85 c0                	test   %eax,%eax
47f1e0:	75 25                	jne    0x47f207
47f1e2:	8d 44 24 18          	lea    0x18(%esp),%eax
47f1e6:	50                   	push   %eax
47f1e7:	ff 74 24 7c          	push   0x7c(%esp)
47f1eb:	8d 4c 24 64          	lea    0x64(%esp),%ecx
47f1ef:	e8 42 db ff ff       	call   0x47cd36
47f1f4:	50                   	push   %eax
47f1f5:	8d 4c 24 30          	lea    0x30(%esp),%ecx
47f1f9:	e8 e4 0c 00 00       	call   0x47fee2
47f1fe:	8d 4c 24 60          	lea    0x60(%esp),%ecx
47f202:	e8 5d 68 f8 ff       	call   0x405a64
47f207:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
47f20b:	e8 54 68 f8 ff       	call   0x405a64
47f210:	8d 4c 24 18          	lea    0x18(%esp),%ecx
47f214:	e8 4b 68 f8 ff       	call   0x405a64
47f219:	8d 44 24 70          	lea    0x70(%esp),%eax
47f21d:	50                   	push   %eax
47f21e:	57                   	push   %edi
47f21f:	ff 15 f8 f1 48 00    	call   *0x48f1f8
47f225:	85 c0                	test   %eax,%eax
47f227:	0f 85 3d ff ff ff    	jne    0x47f16a
47f22d:	57                   	push   %edi
47f22e:	ff 15 5c f3 48 00    	call   *0x48f35c
47f234:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47f237:	e8 f2 a1 f8 ff       	call   0x40942e
47f23c:	8b 7c 24 34          	mov    0x34(%esp),%edi
47f240:	8b d8                	mov    %eax,%ebx
47f242:	6a 02                	push   $0x2
47f244:	5e                   	pop    %esi
47f245:	56                   	push   %esi
47f246:	8d 4f 01             	lea    0x1(%edi),%ecx
47f249:	51                   	push   %ecx
47f24a:	56                   	push   %esi
47f24b:	53                   	push   %ebx
47f24c:	e8 5f 9f f8 ff       	call   0x4091b0
47f251:	6a 00                	push   $0x0
47f253:	6a 00                	push   $0x0
47f255:	56                   	push   %esi
47f256:	56                   	push   %esi
47f257:	53                   	push   %ebx
47f258:	e8 43 9c f8 ff       	call   0x408ea0
47f25d:	83 c4 24             	add    $0x24,%esp
47f260:	8b f0                	mov    %eax,%esi
47f262:	8b ce                	mov    %esi,%ecx
47f264:	e8 b7 a7 f8 ff       	call   0x409a20
47f269:	33 c0                	xor    %eax,%eax
47f26b:	89 3e                	mov    %edi,(%esi)
47f26d:	40                   	inc    %eax
47f26e:	89 46 0c             	mov    %eax,0xc(%esi)
47f271:	85 ff                	test   %edi,%edi
47f273:	0f 84 86 00 00 00    	je     0x47f2ff
47f279:	8b f0                	mov    %eax,%esi
47f27b:	8b 44 24 30          	mov    0x30(%esp),%eax
47f27f:	89 74 24 14          	mov    %esi,0x14(%esp)
47f283:	89 44 24 10          	mov    %eax,0x10(%esp)
47f287:	8b 00                	mov    (%eax),%eax
47f289:	83 c0 04             	add    $0x4,%eax
47f28c:	50                   	push   %eax
47f28d:	6a 00                	push   $0x0
47f28f:	56                   	push   %esi
47f290:	6a 02                	push   $0x2
47f292:	6a 02                	push   $0x2
47f294:	53                   	push   %ebx
47f295:	e8 06 9c f8 ff       	call   0x408ea0
47f29a:	83 c4 14             	add    $0x14,%esp
47f29d:	8b c8                	mov    %eax,%ecx
47f29f:	e8 f8 a8 f8 ff       	call   0x409b9c
47f2a4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
47f2a8:	8b 01                	mov    (%ecx),%eax
47f2aa:	8b 00                	mov    (%eax),%eax
47f2ac:	89 44 24 18          	mov    %eax,0x18(%esp)
47f2b0:	db 44 24 18          	fildl  0x18(%esp)
47f2b4:	85 c0                	test   %eax,%eax
47f2b6:	79 06                	jns    0x47f2be
47f2b8:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
47f2be:	6a 01                	push   $0x1
47f2c0:	56                   	push   %esi
47f2c1:	6a 02                	push   $0x2
47f2c3:	6a 02                	push   $0x2
47f2c5:	53                   	push   %ebx
47f2c6:	dd 5c 24 2c          	fstpl  0x2c(%esp)
47f2ca:	e8 d1 9b f8 ff       	call   0x408ea0
47f2cf:	83 c4 14             	add    $0x14,%esp
47f2d2:	8b f0                	mov    %eax,%esi
47f2d4:	8b ce                	mov    %esi,%ecx
47f2d6:	e8 45 a7 f8 ff       	call   0x409a20
47f2db:	dd 44 24 18          	fldl   0x18(%esp)
47f2df:	8b 44 24 10          	mov    0x10(%esp),%eax
47f2e3:	dd 1e                	fstpl  (%esi)
47f2e5:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
47f2ec:	83 c0 04             	add    $0x4,%eax
47f2ef:	8b 74 24 14          	mov    0x14(%esp),%esi
47f2f3:	46                   	inc    %esi
47f2f4:	89 44 24 10          	mov    %eax,0x10(%esp)
47f2f8:	89 74 24 14          	mov    %esi,0x14(%esp)
47f2fc:	4f                   	dec    %edi
47f2fd:	75 88                	jne    0x47f287
47f2ff:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
47f303:	e8 92 da ff ff       	call   0x47cd9a
47f308:	5f                   	pop    %edi
47f309:	5e                   	pop    %esi
47f30a:	33 c0                	xor    %eax,%eax
47f30c:	5b                   	pop    %ebx
47f30d:	8b e5                	mov    %ebp,%esp
47f30f:	5d                   	pop    %ebp
47f310:	c2 08 00             	ret    $0x8
47f313:	55                   	push   %ebp
47f314:	8b ec                	mov    %esp,%ebp
47f316:	51                   	push   %ecx
47f317:	53                   	push   %ebx