4760a8:	8b 78 04             	mov    0x4(%eax),%edi
4760ab:	e9 dc 51 f9 ff       	jmp    0x40b28c
4760b0:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
4760b6:	0f 84 21 52 f9 ff    	je     0x40b2dd
4760bc:	8b 03                	mov    (%ebx),%eax
4760be:	6a 00                	push   $0x0
4760c0:	8b 48 04             	mov    0x4(%eax),%ecx
4760c3:	6a ff                	push   $0xffffffff
4760c5:	03 cb                	add    %ebx,%ecx
4760c7:	e8 80 6e fd ff       	call   0x44cf4c
4760cc:	c6 44 24 0f 01       	movb   $0x1,0xf(%esp)
4760d1:	e9 fa 51 f9 ff       	jmp    0x40b2d0
4760d6:	8d 44 24 18          	lea    0x18(%esp),%eax
4760da:	50                   	push   %eax
4760db:	e8 cf 5e f9 ff       	call   0x40bfaf
4760e0:	84 c0                	test   %al,%al
4760e2:	0f 85 fd 51 f9 ff    	jne    0x40b2e5
4760e8:	8b 03                	mov    (%ebx),%eax
4760ea:	6a 00                	push   $0x0
4760ec:	8b 48 04             	mov    0x4(%eax),%ecx
4760ef:	6a ff                	push   $0xffffffff
4760f1:	03 cb                	add    %ebx,%ecx
4760f3:	e8 54 6e fd ff       	call   0x44cf4c
4760f8:	b0 01                	mov    $0x1,%al
4760fa:	e9 e2 51 f9 ff       	jmp    0x40b2e1
4760ff:	8b 47 04             	mov    0x4(%edi),%eax
476102:	8b 48 1c             	mov    0x1c(%eax),%ecx
476105:	e8 6d 54 fd ff       	call   0x44b577
47610a:	89 45 08             	mov    %eax,0x8(%ebp)
47610d:	e9 84 46 fa ff       	jmp    0x41a796
476112:	8b 55 e8             	mov    -0x18(%ebp),%edx
476115:	6a 00                	push   $0x0
476117:	8b 02                	mov    (%edx),%eax
476119:	6a 01                	push   $0x1
47611b:	8b 48 04             	mov    0x4(%eax),%ecx
47611e:	03 ca                	add    %edx,%ecx
476120:	e8 27 6e fd ff       	call   0x44cf4c
476125:	8b 75 0c             	mov    0xc(%ebp),%esi
476128:	8b ce                	mov    %esi,%ecx
47612a:	e8 f1 ca f9 ff       	call   0x412c20
47612f:	83 26 00             	andl   $0x0,(%esi)
476132:	e9 0f 47 fa ff       	jmp    0x41a846
476137:	8b 46 04             	mov    0x4(%esi),%eax
47613a:	8b 48 1c             	mov    0x1c(%eax),%ecx
47613d:	e8 44 71 f9 ff       	call   0x40d286
476142:	89 45 fc             	mov    %eax,-0x4(%ebp)
476145:	e9 b1 70 f9 ff       	jmp    0x40d1fb
47614a:	8b 46 04             	mov    0x4(%esi),%eax
47614d:	8b 48 18             	mov    0x18(%eax),%ecx
476150:	e8 31 71 f9 ff       	call   0x40d286
476155:	89 45 f8             	mov    %eax,-0x8(%ebp)
476158:	e9 a8 70 f9 ff       	jmp    0x40d205
47615d:	8b 46 04             	mov    0x4(%esi),%eax
476160:	8b 48 14             	mov    0x14(%eax),%ecx
476163:	e8 1e 71 f9 ff       	call   0x40d286
476168:	89 45 f4             	mov    %eax,-0xc(%ebp)
47616b:	e9 9f 70 f9 ff       	jmp    0x40d20f
476170:	8b 46 04             	mov    0x4(%esi),%eax
476173:	8b 48 10             	mov    0x10(%eax),%ecx
476176:	e8 0b 71 f9 ff       	call   0x40d286
47617b:	89 45 f0             	mov    %eax,-0x10(%ebp)
47617e:	e9 96 70 f9 ff       	jmp    0x40d219
476183:	8b 75 0c             	mov    0xc(%ebp),%esi
476186:	8b ce                	mov    %esi,%ecx
476188:	e8 93 ca f9 ff       	call   0x412c20
47618d:	83 26 00             	andl   $0x0,(%esi)
476190:	e9 e1 70 f9 ff       	jmp    0x40d276
476195:	8b 46 04             	mov    0x4(%esi),%eax
476198:	8b 48 04             	mov    0x4(%eax),%ecx
47619b:	e8 d7 53 fd ff       	call   0x44b577
4761a0:	e9 bc 44 fa ff       	jmp    0x41a661
4761a5:	33 c0                	xor    %eax,%eax
4761a7:	40                   	inc    %eax
4761a8:	89 45 08             	mov    %eax,0x8(%ebp)
4761ab:	8d 45 cc             	lea    -0x34(%ebp),%eax
4761ae:	50                   	push   %eax
4761af:	e8 e9 44 fd ff       	call   0x44a69d
4761b4:	8b c8                	mov    %eax,%ecx
4761b6:	e9 04 af f8 ff       	jmp    0x4010bf
4761bb:	8b 75 0c             	mov    0xc(%ebp),%esi
4761be:	8b ce                	mov    %esi,%ecx
4761c0:	e8 5b ca f9 ff       	call   0x412c20
4761c5:	33 c0                	xor    %eax,%eax
4761c7:	40                   	inc    %eax
4761c8:	53                   	push   %ebx
4761c9:	89 46 0c             	mov    %eax,0xc(%esi)
4761cc:	89 1e                	mov    %ebx,(%esi)
4761ce:	50                   	push   %eax
4761cf:	8b 07                	mov    (%edi),%eax
4761d1:	8b 48 04             	mov    0x4(%eax),%ecx
4761d4:	03 cf                	add    %edi,%ecx
4761d6:	e8 71 6d fd ff       	call   0x44cf4c
4761db:	83 cb ff             	or     $0xffffffff,%ebx
4761de:	e9 55 af f8 ff       	jmp    0x401138
4761e3:	8b 46 04             	mov    0x4(%esi),%eax
4761e6:	8b 48 04             	mov    0x4(%eax),%ecx
4761e9:	e8 89 53 fd ff       	call   0x44b577
4761ee:	8b d8                	mov    %eax,%ebx
4761f0:	e9 45 88 fa ff       	jmp    0x41ea3a
4761f5:	8b 46 04             	mov    0x4(%esi),%eax
4761f8:	8b 08                	mov    (%eax),%ecx
4761fa:	e8 87 70 f9 ff       	call   0x40d286
4761ff:	8b f8                	mov    %eax,%edi
476201:	e9 3e 88 fa ff       	jmp    0x41ea44
476206:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
47620a:	0f 84 e8 66 fa ff    	je     0x41c8f8
476210:	8b 75 10             	mov    0x10(%ebp),%esi
476213:	8b ce                	mov    %esi,%ecx
476215:	e8 06 ca f9 ff       	call   0x412c20
47621a:	8b 54 24 2c          	mov    0x2c(%esp),%edx
47621e:	21 1e                	and    %ebx,(%esi)
476220:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
476227:	8b 02                	mov    (%edx),%eax
476229:	6a 00                	push   $0x0
47622b:	8b 48 04             	mov    0x4(%eax),%ecx
47622e:	6a 02                	push   $0x2
476230:	03 ca                	add    %edx,%ecx
476232:	e8 15 6d fd ff       	call   0x44cf4c
476237:	83 ce ff             	or     $0xffffffff,%esi
47623a:	e9 c1 67 fa ff       	jmp    0x41ca00
47623f:	6a 07                	push   $0x7
476241:	5f                   	pop    %edi
476242:	83 cf 05             	or     $0x5,%edi
476245:	83 cf 04             	or     $0x4,%edi
476248:	33 db                	xor    %ebx,%ebx
47624a:	eb 17                	jmp    0x476263
47624c:	8b 41 04             	mov    0x4(%ecx),%eax
47624f:	6a 05                	push   $0x5
476251:	5f                   	pop    %edi
476252:	ff 70 04             	push   0x4(%eax)
476255:	8d 4c 24 34          	lea    0x34(%esp),%ecx
476259:	8b da                	mov    %edx,%ebx
47625b:	e8 4e 7a f9 ff       	call   0x40dcae
476260:	8b 4d 0c             	mov    0xc(%ebp),%ecx
476263:	8b 41 04             	mov    0x4(%ecx),%eax
476266:	8b 30                	mov    (%eax),%esi
476268:	8b ce                	mov    %esi,%ecx
47626a:	e8 fd 30 f9 ff       	call   0x40936c
47626f:	8b 46 08             	mov    0x8(%esi),%eax
476272:	8b 08                	mov    (%eax),%ecx
476274:	e8 7b 64 fa ff       	call   0x41c6f4
476279:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47627c:	83 ce ff             	or     $0xffffffff,%esi
47627f:	eb 37                	jmp    0x4762b8
476281:	8b 41 04             	mov    0x4(%ecx),%eax
476284:	6a 07                	push   $0x7
476286:	8b 08                	mov    (%eax),%ecx
476288:	5f                   	pop    %edi
476289:	e8 f8 6f f9 ff       	call   0x40d286
47628e:	50                   	push   %eax
47628f:	8d 44 24 48          	lea    0x48(%esp),%eax
476293:	68 e4 35 4b 00       	push   $0x4b35e4
476298:	50                   	push   %eax
476299:	e8 8d b4 fa ff       	call   0x42172b
47629e:	83 c4 0c             	add    $0xc,%esp
4762a1:	8d 4c 24 44          	lea    0x44(%esp),%ecx
4762a5:	e8 4a 64 fa ff       	call   0x41c6f4
4762aa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4762ad:	eb 07                	jmp    0x4762b6
4762af:	8b 41 04             	mov    0x4(%ecx),%eax
4762b2:	8b fa                	mov    %edx,%edi
4762b4:	8b 00                	mov    (%eax),%eax
4762b6:	33 db                	xor    %ebx,%ebx
4762b8:	89 44 24 14          	mov    %eax,0x14(%esp)
4762bc:	e9 4d 66 fa ff       	jmp    0x41c90e
4762c1:	8b 41 04             	mov    0x4(%ecx),%eax
4762c4:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
4762c7:	e8 ba 6f f9 ff       	call   0x40d286
4762cc:	89 44 24 18          	mov    %eax,0x18(%esp)
4762d0:	8b 44 24 10          	mov    0x10(%esp),%eax
4762d4:	e9 44 66 fa ff       	jmp    0x41c91d
4762d9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4762dc:	8b 49 04             	mov    0x4(%ecx),%ecx
4762df:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
4762e2:	e8 9f 6f f9 ff       	call   0x40d286
4762e7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4762eb:	8b 44 24 10          	mov    0x10(%esp),%eax
4762ef:	e9 34 66 fa ff       	jmp    0x41c928
4762f4:	8b 54 24 2c          	mov    0x2c(%esp),%edx
4762f8:	6a 00                	push   $0x0
4762fa:	8b 02                	mov    (%edx),%eax
4762fc:	6a 01                	push   $0x1
4762fe:	8b 48 04             	mov    0x4(%eax),%ecx
476301:	03 ca                	add    %edx,%ecx
476303:	e8 44 6c fd ff       	call   0x44cf4c
476308:	e9 e4 66 fa ff       	jmp    0x41c9f1
47630d:	8b 0e                	mov    (%esi),%ecx
47630f:	e8 c2 ef fd ff       	call   0x4552d6
476314:	8d 45 f8             	lea    -0x8(%ebp),%eax
476317:	50                   	push   %eax
476318:	8d 4d fc             	lea    -0x4(%ebp),%ecx
47631b:	e8 5e 66 fd ff       	call   0x44c97e
476320:	8b 75 fc             	mov    -0x4(%ebp),%esi
476323:	e9 01 d2 f8 ff       	jmp    0x403529
476328:	8b 71 04             	mov    0x4(%ecx),%esi
47632b:	51                   	push   %ecx
47632c:	e8 2d df fd ff       	call   0x45425e
476331:	8b ce                	mov    %esi,%ecx
476333:	85 f6                	test   %esi,%esi
476335:	75 f1                	jne    0x476328
476337:	5e                   	pop    %esi
476338:	e9 45 d2 f8 ff       	jmp    0x403582
47633d:	ff 33                	push   (%ebx)
47633f:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
476343:	8d 4d e0             	lea    -0x20(%ebp),%ecx
476346:	e8 d5 b3 f9 ff       	call   0x411720
47634b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47634e:	e8 19 30 f9 ff       	call   0x40936c
476353:	8b 45 e8             	mov    -0x18(%ebp),%eax
476356:	8d 4d e0             	lea    -0x20(%ebp),%ecx
476359:	8b 10                	mov    (%eax),%edx
47635b:	e8 3e 52 fd ff       	call   0x44b59e
476360:	8b 4d 0c             	mov    0xc(%ebp),%ecx
476363:	85 c0                	test   %eax,%eax
476365:	74 06                	je     0x47636d
476367:	8d 42 04             	lea    0x4(%edx),%eax
47636a:	50                   	push   %eax
47636b:	eb 01                	jmp    0x47636e
47636d:	52                   	push   %edx
47636e:	e8 46 6a f9 ff       	call   0x40cdb9
476373:	8d 4d e0             	lea    -0x20(%ebp),%ecx
476376:	e8 a5 c8 f9 ff       	call   0x412c20
47637b:	e9 54 72 f9 ff       	jmp    0x40d5d4
476380:	6a 29                	push   $0x29
476382:	8b c8                	mov    %eax,%ecx
476384:	e8 63 b8 f8 ff       	call   0x401bec
476389:	84 c0                	test   %al,%al
47638b:	0f 85 a0 71 f9 ff    	jne    0x40d531
476391:	8b 45 f8             	mov    -0x8(%ebp),%eax
476394:	e9 83 71 f9 ff       	jmp    0x40d51c
476399:	8b 76 04             	mov    0x4(%esi),%esi
47639c:	8b 0e                	mov    (%esi),%ecx
47639e:	e8 d4 51 fd ff       	call   0x44b577
4763a3:	99                   	cltd
4763a4:	8b f2                	mov    %edx,%esi
4763a6:	38 5d ff             	cmp    %bl,-0x1(%ebp)
4763a9:	0f 84 0a 72 f9 ff    	je     0x40d5b9
4763af:	6a 08                	push   $0x8
4763b1:	eb 66                	jmp    0x476419
4763b3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4763b6:	e8 15 c9 f9 ff       	call   0x412cd0
4763bb:	dd 5d f0             	fstpl  -0x10(%ebp)
4763be:	8b 45 f0             	mov    -0x10(%ebp),%eax
4763c1:	8b 75 f4             	mov    -0xc(%ebp),%esi
4763c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4763c7:	38 5d ff             	cmp    %bl,-0x1(%ebp)
4763ca:	75 17                	jne    0x4763e3
4763cc:	e9 d4 71 f9 ff       	jmp    0x40d5a5
4763d1:	8b 45 08             	mov    0x8(%ebp),%eax
4763d4:	8b 40 04             	mov    0x4(%eax),%eax
4763d7:	8b 00                	mov    (%eax),%eax
4763d9:	83 78 0c 02          	cmpl   $0x2,0xc(%eax)
4763dd:	0f 85 c2 71 f9 ff    	jne    0x40d5a5
4763e3:	6a 10                	push   $0x10
4763e5:	88 5d ff             	mov    %bl,-0x1(%ebp)
4763e8:	5f                   	pop    %edi
4763e9:	e9 b7 71 f9 ff       	jmp    0x40d5a5
4763ee:	3b f3                	cmp    %ebx,%esi
4763f0:	7c 0f                	jl     0x476401
4763f2:	7f 07                	jg     0x4763fb
4763f4:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
4763f9:	76 06                	jbe    0x476401
4763fb:	0b de                	or     %esi,%ebx
4763fd:	75 18                	jne    0x476417
4763ff:	eb ae                	jmp    0x4763af
476401:	83 fe ff             	cmp    $0xffffffff,%esi
476404:	0f 8f af 71 f9 ff    	jg     0x40d5b9
47640a:	7c 0b                	jl     0x476417
47640c:	3d 00 00 00 80       	cmp    $0x80000000,%eax
476411:	0f 83 a2 71 f9 ff    	jae    0x40d5b9
476417:	6a 10                	push   $0x10
476419:	5f                   	pop    %edi
47641a:	e9 9a 71 f9 ff       	jmp    0x40d5b9
47641f:	8b 47 04             	mov    0x4(%edi),%eax
476422:	8b 48 04             	mov    0x4(%eax),%ecx
476425:	e8 5c 6e f9 ff       	call   0x40d286
47642a:	48                   	dec    %eax
47642b:	74 0f                	je     0x47643c
47642d:	48                   	dec    %eax
47642e:	0f 85 c6 6a f9 ff    	jne    0x40cefa
476434:	6a 02                	push   $0x2
476436:	5e                   	pop    %esi
476437:	e9 be 6a f9 ff       	jmp    0x40cefa
47643c:	33 f6                	xor    %esi,%esi
47643e:	46                   	inc    %esi
47643f:	e9 b6 6a f9 ff       	jmp    0x40cefa
476444:	8d 46 ff             	lea    -0x1(%esi),%eax
476447:	83 f8 01             	cmp    $0x1,%eax
47644a:	0f 87 c7 6a f9 ff    	ja     0x40cf17
476450:	8b 47 04             	mov    0x4(%edi),%eax
476453:	56                   	push   %esi
476454:	8b 08                	mov    (%eax),%ecx
476456:	e8 38 6b f9 ff       	call   0x40cf93
47645b:	52                   	push   %edx
47645c:	50                   	push   %eax
47645d:	8d 45 f0             	lea    -0x10(%ebp),%eax
476460:	50                   	push   %eax
476461:	e8 ec fe fd ff       	call   0x456352
476466:	8b 4d 0c             	mov    0xc(%ebp),%ecx
476469:	50                   	push   %eax
47646a:	e8 3f 78 f9 ff       	call   0x40dcae
47646f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
476472:	e8 a9 c7 f9 ff       	call   0x412c20
476477:	e9 9b 6a f9 ff       	jmp    0x40cf17
47647c:	8b 46 04             	mov    0x4(%esi),%eax
47647f:	8b 08                	mov    (%eax),%ecx
476481:	e8 4a c8 f9 ff       	call   0x412cd0
476486:	dd 5d f8             	fstpl  -0x8(%ebp)
476489:	8b 75 0c             	mov    0xc(%ebp),%esi
47648c:	8b ce                	mov    %esi,%ecx
47648e:	e8 8d c7 f9 ff       	call   0x412c20
476493:	dd 45 f8             	fldl   -0x8(%ebp)
476496:	dd 1e                	fstpl  (%esi)
476498:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
47649f:	e9 99 71 f9 ff       	jmp    0x40d63d
4764a4:	ff 75 0c             	push   0xc(%ebp)
4764a7:	8b cf                	mov    %edi,%ecx
4764a9:	56                   	push   %esi
4764aa:	e8 34 6a f9 ff       	call   0x40cee3
4764af:	e9 89 71 f9 ff       	jmp    0x40d63d
4764b4:	e8 17 c8 f9 ff       	call   0x412cd0
4764b9:	dc 4d f8             	fmull  -0x8(%ebp)
4764bc:	51                   	push   %ecx
4764bd:	51                   	push   %ecx
4764be:	dc 25 f0 26 4b 00    	fsubl  0x4b26f0
4764c4:	dd 1c 24             	fstpl  (%esp)
4764c7:	e8 b4 e6 fa ff       	call   0x424b80
4764cc:	dc 75 f8             	fdivl  -0x8(%ebp)
4764cf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4764d2:	59                   	pop    %ecx
4764d3:	59                   	pop    %ecx
4764d4:	8b cf                	mov    %edi,%ecx
4764d6:	dd 5d f8             	fstpl  -0x8(%ebp)
4764d9:	e8 42 c7 f9 ff       	call   0x412c20
4764de:	dd 45 f8             	fldl   -0x8(%ebp)
4764e1:	e9 ca 7c fa ff       	jmp    0x41e1b0
4764e6:	6a 00                	push   $0x0
4764e8:	8b cf                	mov    %edi,%ecx
4764ea:	e8 a4 6a f9 ff       	call   0x40cf93
4764ef:	52                   	push   %edx
4764f0:	50                   	push   %eax
4764f1:	8d 45 f0             	lea    -0x10(%ebp),%eax
4764f4:	50                   	push   %eax
4764f5:	e8 58 fe fd ff       	call   0x456352
4764fa:	50                   	push   %eax
4764fb:	8b cf                	mov    %edi,%ecx
4764fd:	e8 ac 77 f9 ff       	call   0x40dcae
476502:	8d 4d f0             	lea    -0x10(%ebp),%ecx
476505:	e8 16 c7 f9 ff       	call   0x412c20
47650a:	e9 b4 7c fa ff       	jmp    0x41e1c3