41028c:	f6 c3 02             	test   $0x2,%bl
41028f:	74 0b                	je     0x41029c
410291:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
410295:	be 00 00 00 80       	mov    $0x80000000,%esi
41029a:	eb 05                	jmp    0x4102a1
41029c:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4102a1:	8b 55 f0             	mov    -0x10(%ebp),%edx
4102a4:	eb 0e                	jmp    0x4102b4
4102a6:	f6 c3 02             	test   $0x2,%bl
4102a9:	74 07                	je     0x4102b2
4102ab:	f7 df                	neg    %edi
4102ad:	83 d6 00             	adc    $0x0,%esi
4102b0:	f7 de                	neg    %esi
4102b2:	8b d7                	mov    %edi,%edx
4102b4:	80 7d cc 00          	cmpb   $0x0,-0x34(%ebp)
4102b8:	5b                   	pop    %ebx
4102b9:	74 0a                	je     0x4102c5
4102bb:	8b 45 c0             	mov    -0x40(%ebp),%eax
4102be:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4102c5:	33 c0                	xor    %eax,%eax
4102c7:	8b 7d 24             	mov    0x24(%ebp),%edi
4102ca:	85 ff                	test   %edi,%edi
4102cc:	74 0a                	je     0x4102d8
4102ce:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4102d1:	0b 4d 20             	or     0x20(%ebp),%ecx
4102d4:	75 02                	jne    0x4102d8
4102d6:	88 07                	mov    %al,(%edi)
4102d8:	8b c2                	mov    %edx,%eax
4102da:	8b d6                	mov    %esi,%edx
4102dc:	5f                   	pop    %edi
4102dd:	5e                   	pop    %esi
4102de:	8b e5                	mov    %ebp,%esp
4102e0:	5d                   	pop    %ebp
4102e1:	c3                   	ret
4102e2:	8b ff                	mov    %edi,%edi
4102e4:	55                   	push   %ebp
4102e5:	8b ec                	mov    %esp,%ebp
4102e7:	83 ec 0c             	sub    $0xc,%esp
4102ea:	d9 ee                	fldz
4102ec:	8d 45 f8             	lea    -0x8(%ebp),%eax
4102ef:	56                   	push   %esi
4102f0:	50                   	push   %eax
4102f1:	83 ec 20             	sub    $0x20,%esp
4102f4:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4102f8:	8b f1                	mov    %ecx,%esi
4102fa:	8d 45 ff             	lea    -0x1(%ebp),%eax
4102fd:	8b cc                	mov    %esp,%ecx
4102ff:	d9 5d f8             	fstps  -0x8(%ebp)
410302:	50                   	push   %eax
410303:	ff 76 34             	push   0x34(%esi)
410306:	8d 46 08             	lea    0x8(%esi),%eax
410309:	ff 76 30             	push   0x30(%esi)
41030c:	50                   	push   %eax
41030d:	51                   	push   %ecx
41030e:	e8 48 f3 ff ff       	call   0x40f65b
410313:	83 c4 14             	add    $0x14,%esp
410316:	ff 76 68             	push   0x68(%esi)
410319:	e8 5b f3 ff ff       	call   0x40f679
41031e:	83 c4 28             	add    $0x28,%esp
410321:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
410325:	74 1c                	je     0x410343
410327:	83 f8 01             	cmp    $0x1,%eax
41032a:	74 17                	je     0x410343
41032c:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
410330:	74 04                	je     0x410336
410332:	b0 01                	mov    $0x1,%al
410334:	eb 0f                	jmp    0x410345
410336:	8d 45 f8             	lea    -0x8(%ebp),%eax
410339:	8b ce                	mov    %esi,%ecx
41033b:	50                   	push   %eax
41033c:	e8 6e 03 00 00       	call   0x4106af
410341:	eb 02                	jmp    0x410345
410343:	32 c0                	xor    %al,%al
410345:	5e                   	pop    %esi
410346:	8b e5                	mov    %ebp,%esp
410348:	5d                   	pop    %ebp
410349:	c3                   	ret
41034a:	8b ff                	mov    %edi,%edi
41034c:	55                   	push   %ebp
41034d:	8b ec                	mov    %esp,%ebp
41034f:	83 ec 10             	sub    $0x10,%esp
410352:	d9 ee                	fldz
410354:	8d 45 f0             	lea    -0x10(%ebp),%eax
410357:	56                   	push   %esi
410358:	50                   	push   %eax
410359:	83 ec 20             	sub    $0x20,%esp
41035c:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
410360:	8b f1                	mov    %ecx,%esi
410362:	8d 45 ff             	lea    -0x1(%ebp),%eax
410365:	8b cc                	mov    %esp,%ecx
410367:	dd 5d f0             	fstpl  -0x10(%ebp)
41036a:	50                   	push   %eax
41036b:	ff 76 34             	push   0x34(%esi)
41036e:	8d 46 08             	lea    0x8(%esi),%eax
410371:	ff 76 30             	push   0x30(%esi)
410374:	50                   	push   %eax
410375:	51                   	push   %ecx
410376:	e8 e0 f2 ff ff       	call   0x40f65b
41037b:	83 c4 14             	add    $0x14,%esp
41037e:	ff 76 68             	push   0x68(%esi)
410381:	e8 6e f3 ff ff       	call   0x40f6f4
410386:	83 c4 28             	add    $0x28,%esp
410389:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41038d:	74 1c                	je     0x4103ab
41038f:	83 f8 01             	cmp    $0x1,%eax
410392:	74 17                	je     0x4103ab
410394:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
410398:	74 04                	je     0x41039e
41039a:	b0 01                	mov    $0x1,%al
41039c:	eb 0f                	jmp    0x4103ad
41039e:	8d 45 f0             	lea    -0x10(%ebp),%eax
4103a1:	8b ce                	mov    %esi,%ecx
4103a3:	50                   	push   %eax
4103a4:	e8 3d 03 00 00       	call   0x4106e6
4103a9:	eb 02                	jmp    0x4103ad
4103ab:	32 c0                	xor    %al,%al
4103ad:	5e                   	pop    %esi
4103ae:	8b e5                	mov    %ebp,%esp
4103b0:	5d                   	pop    %ebp
4103b1:	c3                   	ret
4103b2:	8b ff                	mov    %edi,%edi
4103b4:	55                   	push   %ebp
4103b5:	8b ec                	mov    %esp,%ebp
4103b7:	83 ec 1c             	sub    $0x1c,%esp
4103ba:	53                   	push   %ebx
4103bb:	56                   	push   %esi
4103bc:	8b f1                	mov    %ecx,%esi
4103be:	33 db                	xor    %ebx,%ebx
4103c0:	57                   	push   %edi
4103c1:	38 5e 2e             	cmp    %bl,0x2e(%esi)
4103c4:	75 3a                	jne    0x410400
4103c6:	83 46 6c 04          	addl   $0x4,0x6c(%esi)
4103ca:	8b 4e 6c             	mov    0x6c(%esi),%ecx
4103cd:	8b 59 fc             	mov    -0x4(%ecx),%ebx
4103d0:	85 db                	test   %ebx,%ebx
4103d2:	75 17                	jne    0x4103eb
4103d4:	e8 92 46 00 00       	call   0x414a6b
4103d9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4103df:	e8 fe b8 ff ff       	call   0x40bce2
4103e4:	32 c0                	xor    %al,%al
4103e6:	e9 20 01 00 00       	jmp    0x41050b
4103eb:	8b 06                	mov    (%esi),%eax
4103ed:	83 e0 01             	and    $0x1,%eax
4103f0:	83 c8 00             	or     $0x0,%eax
4103f3:	74 0b                	je     0x410400
4103f5:	8d 41 04             	lea    0x4(%ecx),%eax
4103f8:	89 46 6c             	mov    %eax,0x6c(%esi)
4103fb:	8b 78 fc             	mov    -0x4(%eax),%edi
4103fe:	eb 03                	jmp    0x410403
410400:	83 cf ff             	or     $0xffffffff,%edi
410403:	85 ff                	test   %edi,%edi
410405:	75 21                	jne    0x410428
410407:	8b 06                	mov    (%esi),%eax
410409:	83 e0 04             	and    $0x4,%eax
41040c:	0b c7                	or     %edi,%eax
41040e:	74 0b                	je     0x41041b
410410:	8d 4e 08             	lea    0x8(%esi),%ecx
410413:	e8 70 2e 00 00       	call   0x413288
410418:	c6 03 00             	movb   $0x0,(%ebx)
41041b:	e8 4b 46 00 00       	call   0x414a6b
410420:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410426:	eb bc                	jmp    0x4103e4
410428:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41042c:	8b 46 30             	mov    0x30(%esi),%eax
41042f:	89 45 f0             	mov    %eax,-0x10(%ebp)
410432:	8b 46 34             	mov    0x34(%esi),%eax
410435:	89 45 ec             	mov    %eax,-0x14(%ebp)
410438:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41043b:	89 7d fc             	mov    %edi,-0x4(%ebp)
41043e:	74 0b                	je     0x41044b
410440:	83 ff ff             	cmp    $0xffffffff,%edi
410443:	74 06                	je     0x41044b
410445:	8d 47 ff             	lea    -0x1(%edi),%eax
410448:	89 45 fc             	mov    %eax,-0x4(%ebp)
41044b:	33 d2                	xor    %edx,%edx
41044d:	33 c9                	xor    %ecx,%ecx
41044f:	8b 45 f0             	mov    -0x10(%ebp),%eax
410452:	0b 45 ec             	or     -0x14(%ebp),%eax
410455:	89 4d f8             	mov    %ecx,-0x8(%ebp)
410458:	89 55 f4             	mov    %edx,-0xc(%ebp)
41045b:	74 0a                	je     0x410467
41045d:	3b 55 f0             	cmp    -0x10(%ebp),%edx
410460:	75 05                	jne    0x410467
410462:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
410465:	74 65                	je     0x4104cc
410467:	8d 4e 08             	lea    0x8(%esi),%ecx
41046a:	e8 19 2e 00 00       	call   0x413288
41046f:	50                   	push   %eax
410470:	ff 75 08             	push   0x8(%ebp)
410473:	8b ce                	mov    %esi,%ecx
410475:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410478:	e8 3f 2e 00 00       	call   0x4132bc
41047d:	84 c0                	test   %al,%al
41047f:	74 39                	je     0x4104ba
410481:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
410485:	75 17                	jne    0x41049e
410487:	8b 45 fc             	mov    -0x4(%ebp),%eax
41048a:	85 c0                	test   %eax,%eax
41048c:	74 1e                	je     0x4104ac
41048e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
410491:	8b 55 e4             	mov    -0x1c(%ebp),%edx
410494:	88 11                	mov    %dl,(%ecx)
410496:	41                   	inc    %ecx
410497:	48                   	dec    %eax
410498:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41049b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41049e:	8b 55 f4             	mov    -0xc(%ebp),%edx
4104a1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4104a4:	83 c2 01             	add    $0x1,%edx
4104a7:	83 d1 00             	adc    $0x0,%ecx
4104aa:	eb a3                	jmp    0x41044f
4104ac:	83 ff ff             	cmp    $0xffffffff,%edi
4104af:	0f 84 66 ff ff ff    	je     0x41041b
4104b5:	e9 5e ff ff ff       	jmp    0x410418
4104ba:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4104bd:	8d 4e 08             	lea    0x8(%esi),%ecx
4104c0:	52                   	push   %edx
4104c1:	e8 65 37 00 00       	call   0x413c2b
4104c6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4104c9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4104cc:	8b c2                	mov    %edx,%eax
4104ce:	0b c1                	or     %ecx,%eax
4104d0:	0f 84 0e ff ff ff    	je     0x4103e4
4104d6:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4104da:	75 18                	jne    0x4104f4
4104dc:	3b 55 f0             	cmp    -0x10(%ebp),%edx
4104df:	75 05                	jne    0x4104e6
4104e1:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
4104e4:	74 0e                	je     0x4104f4
4104e6:	8b 06                	mov    (%esi),%eax
4104e8:	83 e0 04             	and    $0x4,%eax
4104eb:	83 c8 00             	or     $0x0,%eax
4104ee:	0f 84 f0 fe ff ff    	je     0x4103e4
4104f4:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
4104f8:	75 0f                	jne    0x410509
4104fa:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4104fe:	74 06                	je     0x410506
410500:	8b 45 e8             	mov    -0x18(%ebp),%eax
410503:	c6 00 00             	movb   $0x0,(%eax)
410506:	ff 46 70             	incl   0x70(%esi)
410509:	b0 01                	mov    $0x1,%al
41050b:	5f                   	pop    %edi
41050c:	5e                   	pop    %esi
41050d:	5b                   	pop    %ebx
41050e:	8b e5                	mov    %ebp,%esp
410510:	5d                   	pop    %ebp
410511:	c2 08 00             	ret    $0x8
410514:	8b ff                	mov    %edi,%edi
410516:	55                   	push   %ebp
410517:	8b ec                	mov    %esp,%ebp
410519:	83 ec 1c             	sub    $0x1c,%esp
41051c:	53                   	push   %ebx
41051d:	56                   	push   %esi
41051e:	8b f1                	mov    %ecx,%esi
410520:	33 db                	xor    %ebx,%ebx
410522:	57                   	push   %edi
410523:	38 5e 2e             	cmp    %bl,0x2e(%esi)
410526:	75 3a                	jne    0x410562
410528:	83 46 6c 04          	addl   $0x4,0x6c(%esi)
41052c:	8b 4e 6c             	mov    0x6c(%esi),%ecx
41052f:	8b 59 fc             	mov    -0x4(%ecx),%ebx
410532:	85 db                	test   %ebx,%ebx
410534:	75 17                	jne    0x41054d
410536:	e8 30 45 00 00       	call   0x414a6b
41053b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
410541:	e8 9c b7 ff ff       	call   0x40bce2
410546:	32 c0                	xor    %al,%al
410548:	e9 2a 01 00 00       	jmp    0x410677
41054d:	8b 06                	mov    (%esi),%eax
41054f:	83 e0 01             	and    $0x1,%eax
410552:	83 c8 00             	or     $0x0,%eax
410555:	74 0b                	je     0x410562
410557:	8d 41 04             	lea    0x4(%ecx),%eax
41055a:	89 46 6c             	mov    %eax,0x6c(%esi)
41055d:	8b 78 fc             	mov    -0x4(%eax),%edi
410560:	eb 03                	jmp    0x410565
410562:	83 cf ff             	or     $0xffffffff,%edi
410565:	85 ff                	test   %edi,%edi
410567:	75 23                	jne    0x41058c
410569:	8b 06                	mov    (%esi),%eax
41056b:	83 e0 04             	and    $0x4,%eax
41056e:	0b c7                	or     %edi,%eax
410570:	74 0d                	je     0x41057f
410572:	8d 4e 08             	lea    0x8(%esi),%ecx
410575:	e8 0e 2d 00 00       	call   0x413288
41057a:	33 c0                	xor    %eax,%eax
41057c:	66 89 03             	mov    %ax,(%ebx)
41057f:	e8 e7 44 00 00       	call   0x414a6b
410584:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
41058a:	eb ba                	jmp    0x410546
41058c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410590:	8b 46 30             	mov    0x30(%esi),%eax
410593:	89 45 f0             	mov    %eax,-0x10(%ebp)
410596:	8b 46 34             	mov    0x34(%esi),%eax
410599:	89 45 ec             	mov    %eax,-0x14(%ebp)
41059c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41059f:	89 7d f4             	mov    %edi,-0xc(%ebp)
4105a2:	74 0b                	je     0x4105af
4105a4:	83 ff ff             	cmp    $0xffffffff,%edi
4105a7:	74 06                	je     0x4105af
4105a9:	8d 47 ff             	lea    -0x1(%edi),%eax
4105ac:	89 45 f4             	mov    %eax,-0xc(%ebp)
4105af:	33 d2                	xor    %edx,%edx
4105b1:	33 c9                	xor    %ecx,%ecx
4105b3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4105b6:	0b 45 ec             	or     -0x14(%ebp),%eax
4105b9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4105bc:	89 55 f8             	mov    %edx,-0x8(%ebp)
4105bf:	74 0a                	je     0x4105cb
4105c1:	3b 55 f0             	cmp    -0x10(%ebp),%edx
4105c4:	75 05                	jne    0x4105cb
4105c6:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
4105c9:	74 6b                	je     0x410636
4105cb:	8d 4e 08             	lea    0x8(%esi),%ecx
4105ce:	e8 b5 2c 00 00       	call   0x413288
4105d3:	50                   	push   %eax
4105d4:	ff 75 08             	push   0x8(%ebp)
4105d7:	8b ce                	mov    %esi,%ecx
4105d9:	89 45 e8             	mov    %eax,-0x18(%ebp)
4105dc:	e8 db 2c 00 00       	call   0x4132bc
4105e1:	84 c0                	test   %al,%al
4105e3:	74 40                	je     0x410625
4105e5:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
4105e9:	75 1e                	jne    0x410609
4105eb:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4105ef:	74 26                	je     0x410617
4105f1:	ff 75 e8             	push   -0x18(%ebp)
4105f4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4105f7:	8b ce                	mov    %esi,%ecx
4105f9:	50                   	push   %eax
4105fa:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4105fd:	50                   	push   %eax
4105fe:	57                   	push   %edi
4105ff:	53                   	push   %ebx
410600:	e8 a4 36 00 00       	call   0x413ca9
410605:	84 c0                	test   %al,%al
410607:	74 27                	je     0x410630
410609:	8b 55 f8             	mov    -0x8(%ebp),%edx
41060c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41060f:	83 c2 01             	add    $0x1,%edx
410612:	83 d1 00             	adc    $0x0,%ecx
410615:	eb 9c                	jmp    0x4105b3
410617:	83 ff ff             	cmp    $0xffffffff,%edi
41061a:	0f 84 5f ff ff ff    	je     0x41057f
410620:	e9 55 ff ff ff       	jmp    0x41057a
410625:	ff 75 e8             	push   -0x18(%ebp)
410628:	8d 4e 08             	lea    0x8(%esi),%ecx
41062b:	e8 fb 35 00 00       	call   0x413c2b
410630:	8b 55 f8             	mov    -0x8(%ebp),%edx
410633:	8b 4d fc             	mov    -0x4(%ebp),%ecx