4163f1:	8b c6                	mov    %esi,%eax
4163f3:	8b 30                	mov    (%eax),%esi
4163f5:	ff 56 10             	call   *0x10(%esi)
4163f8:	3b d8                	cmp    %eax,%ebx
4163fa:	74 17                	je     0x416413
4163fc:	8b 0d 18 dc 46 00    	mov    0x46dc18,%ecx
416402:	b2 01                	mov    $0x1,%dl
416404:	a1 50 15 41 00       	mov    0x411550,%eax
416409:	e8 16 52 ff ff       	call   0x40b624
41640e:	e8 c1 d5 fe ff       	call   0x4039d4
416413:	5f                   	pop    %edi
416414:	5e                   	pop    %esi
416415:	5b                   	pop    %ebx
416416:	c3                   	ret
416417:	90                   	nop
416418:	55                   	push   %ebp
416419:	8b ec                	mov    %esp,%ebp
41641b:	83 c4 e8             	add    $0xffffffe8,%esp
41641e:	53                   	push   %ebx
41641f:	56                   	push   %esi
416420:	57                   	push   %edi
416421:	8b fa                	mov    %edx,%edi
416423:	89 45 fc             	mov    %eax,-0x4(%ebp)
416426:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41642a:	75 1d                	jne    0x416449
41642c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
416430:	75 17                	jne    0x416449
416432:	6a 00                	push   $0x0
416434:	6a 00                	push   $0x0
416436:	8b c7                	mov    %edi,%eax
416438:	e8 5f fd ff ff       	call   0x41619c
41643d:	8b c7                	mov    %edi,%eax
41643f:	8b 10                	mov    (%eax),%edx
416441:	ff 12                	call   *(%edx)
416443:	89 45 08             	mov    %eax,0x8(%ebp)
416446:	89 55 0c             	mov    %edx,0xc(%ebp)
416449:	8b 45 08             	mov    0x8(%ebp),%eax
41644c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41644f:	8b 45 0c             	mov    0xc(%ebp),%eax
416452:	89 45 f4             	mov    %eax,-0xc(%ebp)
416455:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
416459:	75 0b                	jne    0x416466
41645b:	81 7d 08 00 f0 00 00 	cmpl   $0xf000,0x8(%ebp)
416462:	76 0d                	jbe    0x416471
416464:	eb 02                	jmp    0x416468
416466:	7e 09                	jle    0x416471
416468:	c7 45 ec 00 f0 00 00 	movl   $0xf000,-0x14(%ebp)
41646f:	eb 06                	jmp    0x416477
416471:	8b 45 08             	mov    0x8(%ebp),%eax
416474:	89 45 ec             	mov    %eax,-0x14(%ebp)
416477:	8b 45 ec             	mov    -0x14(%ebp),%eax
41647a:	e8 3d c2 fe ff       	call   0x4026bc
41647f:	89 45 e8             	mov    %eax,-0x18(%ebp)
416482:	33 c0                	xor    %eax,%eax
416484:	55                   	push   %ebp
416485:	68 f4 64 41 00       	push   $0x4164f4
41648a:	64 ff 30             	push   %fs:(%eax)
41648d:	64 89 20             	mov    %esp,%fs:(%eax)
416490:	eb 3d                	jmp    0x4164cf
416492:	8b 45 ec             	mov    -0x14(%ebp),%eax
416495:	99                   	cltd
416496:	3b 55 0c             	cmp    0xc(%ebp),%edx
416499:	75 07                	jne    0x4164a2
41649b:	3b 45 08             	cmp    0x8(%ebp),%eax
41649e:	73 09                	jae    0x4164a9
4164a0:	eb 02                	jmp    0x4164a4
4164a2:	7d 05                	jge    0x4164a9
4164a4:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4164a7:	eb 03                	jmp    0x4164ac
4164a9:	8b 5d 08             	mov    0x8(%ebp),%ebx
4164ac:	8b 75 e8             	mov    -0x18(%ebp),%esi
4164af:	8b d6                	mov    %esi,%edx
4164b1:	8b cb                	mov    %ebx,%ecx
4164b3:	8b c7                	mov    %edi,%eax
4164b5:	e8 ee fe ff ff       	call   0x4163a8
4164ba:	8b d6                	mov    %esi,%edx
4164bc:	8b cb                	mov    %ebx,%ecx
4164be:	8b 45 fc             	mov    -0x4(%ebp),%eax
4164c1:	e8 1a ff ff ff       	call   0x4163e0
4164c6:	8b c3                	mov    %ebx,%eax
4164c8:	99                   	cltd
4164c9:	29 45 08             	sub    %eax,0x8(%ebp)
4164cc:	19 55 0c             	sbb    %edx,0xc(%ebp)
4164cf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4164d3:	75 bd                	jne    0x416492
4164d5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4164d9:	75 b7                	jne    0x416492
4164db:	33 c0                	xor    %eax,%eax
4164dd:	5a                   	pop    %edx
4164de:	59                   	pop    %ecx
4164df:	59                   	pop    %ecx
4164e0:	64 89 10             	mov    %edx,%fs:(%eax)
4164e3:	68 fb 64 41 00       	push   $0x4164fb
4164e8:	8b 55 ec             	mov    -0x14(%ebp),%edx
4164eb:	8b 45 e8             	mov    -0x18(%ebp),%eax
4164ee:	e8 e9 c1 fe ff       	call   0x4026dc
4164f3:	c3                   	ret
4164f4:	e9 a3 d4 fe ff       	jmp    0x40399c
4164f9:	eb ed                	jmp    0x4164e8
4164fb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4164fe:	8b 55 f4             	mov    -0xc(%ebp),%edx
416501:	5f                   	pop    %edi
416502:	5e                   	pop    %esi
416503:	5b                   	pop    %ebx
416504:	8b e5                	mov    %ebp,%esp
416506:	5d                   	pop    %ebp
416507:	c2 08 00             	ret    $0x8
41650a:	8b c0                	mov    %eax,%eax
41650c:	55                   	push   %ebp
41650d:	8b ec                	mov    %esp,%ebp
41650f:	83 c4 f8             	add    $0xfffffff8,%esp
416512:	53                   	push   %ebx
416513:	8b da                	mov    %edx,%ebx
416515:	68 00 10 00 00       	push   $0x1000
41651a:	8b c8                	mov    %eax,%ecx
41651c:	b2 01                	mov    $0x1,%dl
41651e:	a1 70 24 41 00       	mov    0x412470,%eax
416523:	e8 68 06 00 00       	call   0x416b90
416528:	89 45 f8             	mov    %eax,-0x8(%ebp)
41652b:	33 c0                	xor    %eax,%eax
41652d:	55                   	push   %ebp
41652e:	68 5c 65 41 00       	push   $0x41655c
416533:	64 ff 30             	push   %fs:(%eax)
416536:	64 89 20             	mov    %esp,%fs:(%eax)
416539:	8b d3                	mov    %ebx,%edx
41653b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41653e:	e8 81 26 00 00       	call   0x418bc4
416543:	89 45 fc             	mov    %eax,-0x4(%ebp)
416546:	33 c0                	xor    %eax,%eax
416548:	5a                   	pop    %edx
416549:	59                   	pop    %ecx
41654a:	59                   	pop    %ecx
41654b:	64 89 10             	mov    %edx,%fs:(%eax)
41654e:	68 63 65 41 00       	push   $0x416563
416553:	8b 45 f8             	mov    -0x8(%ebp),%eax
416556:	e8 ed cc fe ff       	call   0x403248
41655b:	c3                   	ret
41655c:	e9 3b d4 fe ff       	jmp    0x40399c
416561:	eb f0                	jmp    0x416553
416563:	8b 45 fc             	mov    -0x4(%ebp),%eax
416566:	5b                   	pop    %ebx
416567:	59                   	pop    %ecx
416568:	59                   	pop    %ecx
416569:	5d                   	pop    %ebp
41656a:	c3                   	ret
41656b:	90                   	nop
41656c:	53                   	push   %ebx
41656d:	56                   	push   %esi
41656e:	57                   	push   %edi
41656f:	84 d2                	test   %dl,%dl
416571:	74 08                	je     0x41657b
416573:	83 c4 f0             	add    $0xfffffff0,%esp
416576:	e8 f1 cf fe ff       	call   0x40356c
41657b:	8b f1                	mov    %ecx,%esi
41657d:	8b da                	mov    %edx,%ebx
41657f:	8b f8                	mov    %eax,%edi
416581:	33 d2                	xor    %edx,%edx
416583:	8b c7                	mov    %edi,%eax
416585:	e8 8e cc fe ff       	call   0x403218
41658a:	89 77 04             	mov    %esi,0x4(%edi)
41658d:	8b c7                	mov    %edi,%eax
41658f:	84 db                	test   %bl,%bl
416591:	74 0f                	je     0x4165a2
416593:	e8 2c d0 fe ff       	call   0x4035c4
416598:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41659f:	83 c4 0c             	add    $0xc,%esp
4165a2:	8b c7                	mov    %edi,%eax
4165a4:	5f                   	pop    %edi
4165a5:	5e                   	pop    %esi
4165a6:	5b                   	pop    %ebx
4165a7:	c3                   	ret
4165a8:	8b 40 04             	mov    0x4(%eax),%eax
4165ab:	e8 9c 1d ff ff       	call   0x40834c
4165b0:	83 f8 ff             	cmp    $0xffffffff,%eax
4165b3:	75 02                	jne    0x4165b7
4165b5:	33 c0                	xor    %eax,%eax
4165b7:	c3                   	ret
4165b8:	8b 40 04             	mov    0x4(%eax),%eax
4165bb:	e8 b8 1d ff ff       	call   0x408378
4165c0:	83 f8 ff             	cmp    $0xffffffff,%eax
4165c3:	75 02                	jne    0x4165c7
4165c5:	33 c0                	xor    %eax,%eax
4165c7:	c3                   	ret
4165c8:	55                   	push   %ebp
4165c9:	8b ec                	mov    %esp,%ebp
4165cb:	83 c4 f8             	add    $0xfffffff8,%esp
4165ce:	ff 75 0c             	push   0xc(%ebp)
4165d1:	ff 75 08             	push   0x8(%ebp)
4165d4:	83 e2 7f             	and    $0x7f,%edx
4165d7:	8b 40 04             	mov    0x4(%eax),%eax
4165da:	e8 c5 1d ff ff       	call   0x4083a4
4165df:	89 45 f8             	mov    %eax,-0x8(%ebp)
4165e2:	89 55 fc             	mov    %edx,-0x4(%ebp)
4165e5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4165e8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4165eb:	59                   	pop    %ecx
4165ec:	59                   	pop    %ecx
4165ed:	5d                   	pop    %ebp
4165ee:	c2 08 00             	ret    $0x8
4165f1:	8d 40 00             	lea    0x0(%eax),%eax
4165f4:	53                   	push   %ebx
4165f5:	8b da                	mov    %edx,%ebx
4165f7:	8b c8                	mov    %eax,%ecx
4165f9:	8b c3                	mov    %ebx,%eax
4165fb:	99                   	cltd
4165fc:	52                   	push   %edx
4165fd:	50                   	push   %eax
4165fe:	8b c1                	mov    %ecx,%eax
416600:	8b 10                	mov    (%eax),%edx
416602:	ff 52 08             	call   *0x8(%edx)
416605:	5b                   	pop    %ebx
416606:	c3                   	ret
416607:	90                   	nop
416608:	55                   	push   %ebp
416609:	8b ec                	mov    %esp,%ebp
41660b:	53                   	push   %ebx
41660c:	8b d8                	mov    %eax,%ebx
41660e:	ff 75 0c             	push   0xc(%ebp)
416611:	ff 75 08             	push   0x8(%ebp)
416614:	33 d2                	xor    %edx,%edx
416616:	8b c3                	mov    %ebx,%eax
416618:	8b 08                	mov    (%eax),%ecx
41661a:	ff 51 18             	call   *0x18(%ecx)
41661d:	8b 43 04             	mov    0x4(%ebx),%eax
416620:	50                   	push   %eax
416621:	e8 36 fb fe ff       	call   0x40615c
416626:	e8 61 64 ff ff       	call   0x40ca8c
41662b:	5b                   	pop    %ebx
41662c:	5d                   	pop    %ebp
41662d:	c2 08 00             	ret    $0x8
416630:	55                   	push   %ebp
416631:	8b ec                	mov    %esp,%ebp
416633:	53                   	push   %ebx
416634:	56                   	push   %esi
416635:	84 d2                	test   %dl,%dl
416637:	74 08                	je     0x416641
416639:	83 c4 f0             	add    $0xfffffff0,%esp
41663c:	e8 2b cf fe ff       	call   0x40356c
416641:	8b da                	mov    %edx,%ebx
416643:	8b f0                	mov    %eax,%esi
416645:	66 8b 45 08          	mov    0x8(%ebp),%ax
416649:	50                   	push   %eax
41664a:	6a 00                	push   $0x0
41664c:	33 d2                	xor    %edx,%edx
41664e:	8b c6                	mov    %esi,%eax
416650:	e8 1f 00 00 00       	call   0x416674
416655:	8b c6                	mov    %esi,%eax
416657:	84 db                	test   %bl,%bl
416659:	74 0f                	je     0x41666a
41665b:	e8 64 cf fe ff       	call   0x4035c4
416660:	64 8f 05 00 00 00 00 	pop    %fs:0x0
416667:	83 c4 0c             	add    $0xc,%esp
41666a:	8b c6                	mov    %esi,%eax
41666c:	5e                   	pop    %esi
41666d:	5b                   	pop    %ebx
41666e:	5d                   	pop    %ebp
41666f:	c2 04 00             	ret    $0x4
416672:	8b c0                	mov    %eax,%eax
416674:	55                   	push   %ebp
416675:	8b ec                	mov    %esp,%ebp
416677:	83 c4 dc             	add    $0xffffffdc,%esp
41667a:	53                   	push   %ebx
41667b:	56                   	push   %esi
41667c:	57                   	push   %edi
41667d:	33 db                	xor    %ebx,%ebx
41667f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
416682:	89 5d dc             	mov    %ebx,-0x24(%ebp)
416685:	89 5d e8             	mov    %ebx,-0x18(%ebp)
416688:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41668b:	84 d2                	test   %dl,%dl
41668d:	74 08                	je     0x416697
41668f:	83 c4 f0             	add    $0xfffffff0,%esp
416692:	e8 d5 ce fe ff       	call   0x40356c
416697:	8b f1                	mov    %ecx,%esi
416699:	88 55 ff             	mov    %dl,-0x1(%ebp)
41669c:	8b d8                	mov    %eax,%ebx
41669e:	8b 7d 0c             	mov    0xc(%ebp),%edi
4166a1:	33 c0                	xor    %eax,%eax
4166a3:	55                   	push   %ebp
4166a4:	68 9d 67 41 00       	push   $0x41679d
4166a9:	64 ff 30             	push   %fs:(%eax)
4166ac:	64 89 20             	mov    %esp,%fs:(%eax)
4166af:	66 81 ff ff ff       	cmp    $0xffff,%di
4166b4:	75 69                	jne    0x41671f
4166b6:	8b 55 08             	mov    0x8(%ebp),%edx
4166b9:	8b c6                	mov    %esi,%eax
4166bb:	e8 84 1c ff ff       	call   0x408344
4166c0:	8b c8                	mov    %eax,%ecx
4166c2:	33 d2                	xor    %edx,%edx
4166c4:	8b c3                	mov    %ebx,%eax
4166c6:	e8 a1 fe ff ff       	call   0x41656c
4166cb:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4166cf:	0f 8d ad 00 00 00    	jge    0x416782
4166d5:	8d 55 e8             	lea    -0x18(%ebp),%edx
4166d8:	8b c6                	mov    %esi,%eax
4166da:	e8 7d 1e ff ff       	call   0x40855c
4166df:	8b 45 e8             	mov    -0x18(%ebp),%eax
4166e2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4166e5:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
4166e9:	e8 6e f9 fe ff       	call   0x40605c
4166ee:	8d 55 e4             	lea    -0x1c(%ebp),%edx
4166f1:	e8 6a 46 ff ff       	call   0x40ad60
4166f6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4166f9:	89 45 f4             	mov    %eax,-0xc(%ebp)
4166fc:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
416700:	8d 45 ec             	lea    -0x14(%ebp),%eax
416703:	50                   	push   %eax
416704:	6a 01                	push   $0x1
416706:	8b 0d 14 de 46 00    	mov    0x46de14,%ecx
41670c:	b2 01                	mov    $0x1,%dl
41670e:	a1 ec 13 41 00       	mov    0x4113ec,%eax
416713:	e8 48 4f ff ff       	call   0x40b660
416718:	e8 b7 d2 fe ff       	call   0x4039d4
41671d:	eb 63                	jmp    0x416782
41671f:	0f b7 d7             	movzwl %di,%edx
416722:	8b c6                	mov    %esi,%eax
416724:	e8 9f 1b ff ff       	call   0x4082c8
416729:	8b c8                	mov    %eax,%ecx
41672b:	33 d2                	xor    %edx,%edx
41672d:	8b c3                	mov    %ebx,%eax
41672f:	e8 38 fe ff ff       	call   0x41656c
416734:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
416738:	7d 48                	jge    0x416782
41673a:	8d 55 e0             	lea    -0x20(%ebp),%edx
41673d:	8b c6                	mov    %esi,%eax
41673f:	e8 18 1e ff ff       	call   0x40855c
416744:	8b 45 e0             	mov    -0x20(%ebp),%eax
416747:	89 45 ec             	mov    %eax,-0x14(%ebp)
41674a:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
41674e:	e8 09 f9 fe ff       	call   0x40605c
416753:	8d 55 dc             	lea    -0x24(%ebp),%edx
416756:	e8 05 46 ff ff       	call   0x40ad60
41675b:	8b 45 dc             	mov    -0x24(%ebp),%eax
41675e:	89 45 f4             	mov    %eax,-0xc(%ebp)
416761:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
416765:	8d 45 ec             	lea    -0x14(%ebp),%eax
416768:	50                   	push   %eax
416769:	6a 01                	push   $0x1
41676b:	8b 0d ec d9 46 00    	mov    0x46d9ec,%ecx
416771:	b2 01                	mov    $0x1,%dl
416773:	a1 48 14 41 00       	mov    0x411448,%eax
416778:	e8 e3 4e ff ff       	call   0x40b660
41677d:	e8 52 d2 fe ff       	call   0x4039d4
416782:	33 c0                	xor    %eax,%eax
416784:	5a                   	pop    %edx
416785:	59                   	pop    %ecx
416786:	59                   	pop    %ecx
416787:	64 89 10             	mov    %edx,%fs:(%eax)
41678a:	68 a4 67 41 00       	push   $0x4167a4
41678f:	8d 45 dc             	lea    -0x24(%ebp),%eax