42936a:	eb d6                	jmp    0x429342
42936c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42936f:	8b 40 20             	mov    0x20(%eax),%eax
429372:	50                   	push   %eax
429373:	8b 46 20             	mov    0x20(%esi),%eax
429376:	50                   	push   %eax
429377:	8b 46 1c             	mov    0x1c(%esi),%eax
42937a:	50                   	push   %eax
42937b:	6a 00                	push   $0x0
42937d:	6a 00                	push   $0x0
42937f:	8b c3                	mov    %ebx,%eax
429381:	e8 de 00 00 00       	call   0x429464
429386:	8b 40 04             	mov    0x4(%eax),%eax
429389:	50                   	push   %eax
42938a:	8b 47 0c             	mov    0xc(%edi),%eax
42938d:	2b 47 04             	sub    0x4(%edi),%eax
429390:	50                   	push   %eax
429391:	8b 47 08             	mov    0x8(%edi),%eax
429394:	2b 07                	sub    (%edi),%eax
429396:	50                   	push   %eax
429397:	8b 47 04             	mov    0x4(%edi),%eax
42939a:	50                   	push   %eax
42939b:	8b 07                	mov    (%edi),%eax
42939d:	50                   	push   %eax
42939e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4293a1:	8b 40 04             	mov    0x4(%eax),%eax
4293a4:	50                   	push   %eax
4293a5:	e8 1a d3 fd ff       	call   0x4066c4
4293aa:	33 c0                	xor    %eax,%eax
4293ac:	5a                   	pop    %edx
4293ad:	59                   	pop    %ecx
4293ae:	59                   	pop    %ecx
4293af:	64 89 10             	mov    %edx,%fs:(%eax)
4293b2:	68 d7 93 42 00       	push   $0x4293d7
4293b7:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4293bb:	74 12                	je     0x4293cf
4293bd:	6a ff                	push   $0xffffffff
4293bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4293c2:	50                   	push   %eax
4293c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4293c6:	8b 40 04             	mov    0x4(%eax),%eax
4293c9:	50                   	push   %eax
4293ca:	e8 8d d2 fd ff       	call   0x40665c
4293cf:	c3                   	ret
4293d0:	e9 7f a6 fd ff       	jmp    0x403a54
4293d5:	eb e0                	jmp    0x4293b7
4293d7:	5f                   	pop    %edi
4293d8:	5e                   	pop    %esi
4293d9:	5b                   	pop    %ebx
4293da:	8b e5                	mov    %ebp,%esp
4293dc:	5d                   	pop    %ebp
4293dd:	c3                   	ret
4293de:	00 00                	add    %al,(%eax)
4293e0:	0f 00 00             	sldt   (%eax)
4293e3:	00 53 56             	add    %dl,0x56(%ebx)
4293e6:	8b f0                	mov    %eax,%esi
4293e8:	8b 5e 28             	mov    0x28(%esi),%ebx
4293eb:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
4293ef:	7e 27                	jle    0x429418
4293f1:	8b c6                	mov    %esi,%eax
4293f3:	e8 2c 02 00 00       	call   0x429624
4293f8:	80 7b 71 00          	cmpb   $0x0,0x71(%ebx)
4293fc:	74 04                	je     0x429402
4293fe:	33 c0                	xor    %eax,%eax
429400:	eb 03                	jmp    0x429405
429402:	8b 43 10             	mov    0x10(%ebx),%eax
429405:	8d 53 18             	lea    0x18(%ebx),%edx
429408:	52                   	push   %edx
429409:	8b c8                	mov    %eax,%ecx
42940b:	8b 53 08             	mov    0x8(%ebx),%edx
42940e:	8b c6                	mov    %esi,%eax
429410:	e8 1b fc ff ff       	call   0x429030
429415:	5e                   	pop    %esi
429416:	5b                   	pop    %ebx
429417:	c3                   	ret
429418:	8b 43 08             	mov    0x8(%ebx),%eax
42941b:	85 c0                	test   %eax,%eax
42941d:	74 25                	je     0x429444
42941f:	3b 43 14             	cmp    0x14(%ebx),%eax
429422:	74 20                	je     0x429444
429424:	8b 73 14             	mov    0x14(%ebx),%esi
429427:	85 f6                	test   %esi,%esi
429429:	74 0f                	je     0x42943a
42942b:	56                   	push   %esi
42942c:	e8 0b d1 fd ff       	call   0x40653c
429431:	85 c0                	test   %eax,%eax
429433:	75 05                	jne    0x42943a
429435:	e8 32 bc ff ff       	call   0x42506c
42943a:	33 c0                	xor    %eax,%eax
42943c:	89 43 14             	mov    %eax,0x14(%ebx)
42943f:	33 c0                	xor    %eax,%eax
429441:	89 43 2c             	mov    %eax,0x2c(%ebx)
429444:	5e                   	pop    %esi
429445:	5b                   	pop    %ebx
429446:	c3                   	ret
429447:	90                   	nop
429448:	8b 40 28             	mov    0x28(%eax),%eax
42944b:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
42944f:	75 0c                	jne    0x42945d
429451:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
429455:	75 06                	jne    0x42945d
429457:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
42945b:	74 03                	je     0x429460
42945d:	33 c0                	xor    %eax,%eax
42945f:	c3                   	ret
429460:	b0 01                	mov    $0x1,%al
429462:	c3                   	ret
429463:	90                   	nop
429464:	53                   	push   %ebx
429465:	56                   	push   %esi
429466:	8b d8                	mov    %eax,%ebx
429468:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
42946c:	75 35                	jne    0x4294a3
42946e:	8b c3                	mov    %ebx,%eax
429470:	e8 af 01 00 00       	call   0x429624
429475:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
429479:	75 28                	jne    0x4294a3
42947b:	8b cb                	mov    %ebx,%ecx
42947d:	b2 01                	mov    $0x1,%dl
42947f:	a1 3c 80 42 00       	mov    0x42803c,%eax
429484:	e8 77 ed ff ff       	call   0x428200
429489:	8b f0                	mov    %eax,%esi
42948b:	89 73 2c             	mov    %esi,0x2c(%ebx)
42948e:	89 5e 2c             	mov    %ebx,0x2c(%esi)
429491:	8b 03                	mov    (%ebx),%eax
429493:	8b 40 10             	mov    0x10(%eax),%eax
429496:	89 46 28             	mov    %eax,0x28(%esi)
429499:	89 5e 34             	mov    %ebx,0x34(%esi)
42949c:	c7 46 30 f0 90 42 00 	movl   $0x4290f0,0x30(%esi)
4294a3:	8b 43 2c             	mov    0x2c(%ebx),%eax
4294a6:	5e                   	pop    %esi
4294a7:	5b                   	pop    %ebx
4294a8:	c3                   	ret
4294a9:	8d 40 00             	lea    0x0(%eax),%eax
4294ac:	53                   	push   %ebx
4294ad:	8b d8                	mov    %eax,%ebx
4294af:	8b c3                	mov    %ebx,%eax
4294b1:	e8 5e 01 00 00       	call   0x429614
4294b6:	8b c3                	mov    %ebx,%eax
4294b8:	e8 67 01 00 00       	call   0x429624
4294bd:	8b d3                	mov    %ebx,%edx
4294bf:	8b c3                	mov    %ebx,%eax
4294c1:	e8 2a fc ff ff       	call   0x4290f0
4294c6:	8b 43 28             	mov    0x28(%ebx),%eax
4294c9:	8b 40 08             	mov    0x8(%eax),%eax
4294cc:	5b                   	pop    %ebx
4294cd:	c3                   	ret
4294ce:	8b c0                	mov    %eax,%eax
4294d0:	8b 40 28             	mov    0x28(%eax),%eax
4294d3:	8b 50 08             	mov    0x8(%eax),%edx
4294d6:	85 d2                	test   %edx,%edx
4294d8:	74 05                	je     0x4294df
4294da:	3b 50 14             	cmp    0x14(%eax),%edx
4294dd:	75 17                	jne    0x4294f6
4294df:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
4294e3:	75 0e                	jne    0x4294f3
4294e5:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
4294e9:	75 04                	jne    0x4294ef
4294eb:	b0 01                	mov    $0x1,%al
4294ed:	eb 09                	jmp    0x4294f8
4294ef:	33 c0                	xor    %eax,%eax
4294f1:	eb 05                	jmp    0x4294f8
4294f3:	33 c0                	xor    %eax,%eax
4294f5:	c3                   	ret
4294f6:	b0 01                	mov    $0x1,%al
4294f8:	c3                   	ret
4294f9:	8d 40 00             	lea    0x0(%eax),%eax
4294fc:	8b c8                	mov    %eax,%ecx
4294fe:	8b 41 28             	mov    0x28(%ecx),%eax
429501:	8b 40 20             	mov    0x20(%eax),%eax
429504:	99                   	cltd
429505:	33 c2                	xor    %edx,%eax
429507:	2b c2                	sub    %edx,%eax
429509:	c3                   	ret
42950a:	8b c0                	mov    %eax,%eax
42950c:	53                   	push   %ebx
42950d:	8b d8                	mov    %eax,%ebx
42950f:	8b c3                	mov    %ebx,%eax
429511:	e8 ae 01 00 00       	call   0x4296c4
429516:	8b 43 28             	mov    0x28(%ebx),%eax
429519:	8b 40 0c             	mov    0xc(%eax),%eax
42951c:	5b                   	pop    %ebx
42951d:	c3                   	ret
42951e:	8b c0                	mov    %eax,%eax
429520:	8b 40 28             	mov    0x28(%eax),%eax
429523:	83 c0 18             	add    $0x18,%eax
429526:	66 83 78 10 01       	cmpw   $0x1,0x10(%eax)
42952b:	75 07                	jne    0x429534
42952d:	66 83 78 12 01       	cmpw   $0x1,0x12(%eax)
429532:	74 03                	je     0x429537
429534:	33 c0                	xor    %eax,%eax
429536:	c3                   	ret
429537:	b0 01                	mov    $0x1,%al
429539:	c3                   	ret
42953a:	8b c0                	mov    %eax,%eax
42953c:	53                   	push   %ebx
42953d:	8b d8                	mov    %eax,%ebx
42953f:	8b c3                	mov    %ebx,%eax
429541:	e8 de 01 00 00       	call   0x429724
429546:	8b 43 28             	mov    0x28(%ebx),%eax
429549:	8b 40 10             	mov    0x10(%eax),%eax
42954c:	5b                   	pop    %ebx
42954d:	c3                   	ret
42954e:	8b c0                	mov    %eax,%eax
429550:	53                   	push   %ebx
429551:	8b d8                	mov    %eax,%ebx
429553:	8b 43 34             	mov    0x34(%ebx),%eax
429556:	3d 00 00 00 20       	cmp    $0x20000000,%eax
42955b:	75 2c                	jne    0x429589
42955d:	8b c3                	mov    %ebx,%eax
42955f:	e8 bc ff ff ff       	call   0x429520
429564:	84 c0                	test   %al,%al
429566:	74 07                	je     0x42956f
429568:	b8 ff ff ff 00       	mov    $0xffffff,%eax
42956d:	eb 1f                	jmp    0x42958e
42956f:	8b c3                	mov    %ebx,%eax
429571:	8b 10                	mov    (%eax),%edx
429573:	ff 52 20             	call   *0x20(%edx)
429576:	48                   	dec    %eax
429577:	50                   	push   %eax
429578:	8b c3                	mov    %ebx,%eax
42957a:	e8 e5 fe ff ff       	call   0x429464
42957f:	33 d2                	xor    %edx,%edx
429581:	59                   	pop    %ecx
429582:	e8 21 b7 ff ff       	call   0x424ca8
429587:	eb 05                	jmp    0x42958e
429589:	e8 f6 a3 ff ff       	call   0x423984
42958e:	0d 00 00 00 02       	or     $0x2000000,%eax
429593:	5b                   	pop    %ebx
429594:	c3                   	ret
429595:	8d 40 00             	lea    0x0(%eax),%eax
429598:	8b 40 28             	mov    0x28(%eax),%eax
42959b:	8b 40 1c             	mov    0x1c(%eax),%eax
42959e:	c3                   	ret
42959f:	90                   	nop
4295a0:	53                   	push   %ebx
4295a1:	56                   	push   %esi
4295a2:	8b 58 28             	mov    0x28(%eax),%ebx
4295a5:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4295a9:	74 65                	je     0x429610
4295ab:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
4295af:	75 5f                	jne    0x429610
4295b1:	e8 6e 01 00 00       	call   0x429724
4295b6:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
4295ba:	75 3c                	jne    0x4295f8
4295bc:	8d 43 18             	lea    0x18(%ebx),%eax
4295bf:	50                   	push   %eax
4295c0:	6a 54                	push   $0x54
4295c2:	8b 43 08             	mov    0x8(%ebx),%eax
4295c5:	50                   	push   %eax
4295c6:	e8 d9 cf fd ff       	call   0x4065a4
4295cb:	8d 43 18             	lea    0x18(%ebx),%eax
4295ce:	8b d0                	mov    %eax,%edx
4295d0:	83 c0 18             	add    $0x18,%eax
4295d3:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
4295d9:	8b 4a 04             	mov    0x4(%edx),%ecx
4295dc:	89 48 04             	mov    %ecx,0x4(%eax)
4295df:	8b 4a 08             	mov    0x8(%edx),%ecx
4295e2:	89 48 08             	mov    %ecx,0x8(%eax)
4295e5:	66 c7 40 0c 01 00    	movw   $0x1,0xc(%eax)
4295eb:	66 8b 4a 10          	mov    0x10(%edx),%cx
4295ef:	66 0f af 4a 12       	imul   0x12(%edx),%cx
4295f4:	66 89 48 0e          	mov    %cx,0xe(%eax)
4295f8:	8d 43 18             	lea    0x18(%ebx),%eax
4295fb:	50                   	push   %eax
4295fc:	6a 00                	push   $0x0
4295fe:	8b 73 10             	mov    0x10(%ebx),%esi
429601:	8b ce                	mov    %esi,%ecx
429603:	8b d6                	mov    %esi,%edx
429605:	8b 43 08             	mov    0x8(%ebx),%eax
429608:	e8 bb ef ff ff       	call   0x4285c8
42960d:	89 43 14             	mov    %eax,0x14(%ebx)
429610:	5e                   	pop    %esi
429611:	5b                   	pop    %ebx
429612:	c3                   	ret
429613:	90                   	nop
429614:	8b 50 2c             	mov    0x2c(%eax),%edx
429617:	85 d2                	test   %edx,%edx
429619:	74 07                	je     0x429622
42961b:	8b c2                	mov    %edx,%eax
42961d:	e8 46 ec ff ff       	call   0x428268
429622:	c3                   	ret
429623:	90                   	nop
429624:	55                   	push   %ebp
429625:	8b ec                	mov    %esp,%ebp
429627:	83 c4 f0             	add    $0xfffffff0,%esp
42962a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42962d:	8b 45 fc             	mov    -0x4(%ebp),%eax
429630:	8b 40 28             	mov    0x28(%eax),%eax
429633:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
429637:	75 75                	jne    0x4296ae
429639:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
42963d:	75 6f                	jne    0x4296ae
42963f:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
429643:	74 69                	je     0x4296ae
429645:	6a 00                	push   $0x0
429647:	6a 00                	push   $0x0
429649:	8b 40 6c             	mov    0x6c(%eax),%eax
42964c:	e8 83 15 ff ff       	call   0x41abd4
429651:	8b 45 fc             	mov    -0x4(%ebp),%eax
429654:	8b 50 10             	mov    0x10(%eax),%edx
429657:	89 55 f0             	mov    %edx,-0x10(%ebp)
42965a:	8b 50 14             	mov    0x14(%eax),%edx
42965d:	89 55 f4             	mov    %edx,-0xc(%ebp)
429660:	33 c0                	xor    %eax,%eax
429662:	55                   	push   %ebp
429663:	68 a7 96 42 00       	push   $0x4296a7
429668:	64 ff 30             	push   %fs:(%eax)
42966b:	64 89 20             	mov    %esp,%fs:(%eax)
42966e:	8b 45 fc             	mov    -0x4(%ebp),%eax
429671:	33 d2                	xor    %edx,%edx
429673:	89 50 10             	mov    %edx,0x10(%eax)
429676:	89 50 14             	mov    %edx,0x14(%eax)
429679:	8b 45 fc             	mov    -0x4(%ebp),%eax
42967c:	8b 40 28             	mov    0x28(%eax),%eax
42967f:	8b 50 6c             	mov    0x6c(%eax),%edx
429682:	8b 45 fc             	mov    -0x4(%ebp),%eax
429685:	8b 08                	mov    (%eax),%ecx
429687:	ff 51 54             	call   *0x54(%ecx)
42968a:	33 c0                	xor    %eax,%eax
42968c:	5a                   	pop    %edx
42968d:	59                   	pop    %ecx
42968e:	59                   	pop    %ecx
42968f:	64 89 10             	mov    %edx,%fs:(%eax)
429692:	68 ae 96 42 00       	push   $0x4296ae
429697:	8b 45 fc             	mov    -0x4(%ebp),%eax
42969a:	8b 55 f0             	mov    -0x10(%ebp),%edx
42969d:	89 50 10             	mov    %edx,0x10(%eax)
4296a0:	8b 55 f4             	mov    -0xc(%ebp),%edx
4296a3:	89 50 14             	mov    %edx,0x14(%eax)
4296a6:	c3                   	ret
4296a7:	e9 a8 a3 fd ff       	jmp    0x403a54
4296ac:	eb e9                	jmp    0x429697
4296ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4296b1:	8b 40 28             	mov    0x28(%eax),%eax
4296b4:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4296b8:	75 06                	jne    0x4296c0
4296ba:	8b 50 14             	mov    0x14(%eax),%edx
4296bd:	89 50 08             	mov    %edx,0x8(%eax)
4296c0:	8b e5                	mov    %ebp,%esp
4296c2:	5d                   	pop    %ebp
4296c3:	c3                   	ret
4296c4:	53                   	push   %ebx
4296c5:	56                   	push   %esi
4296c6:	8b d8                	mov    %eax,%ebx
4296c8:	80 7b 32 00          	cmpb   $0x0,0x32(%ebx)
4296cc:	74 06                	je     0x4296d4
4296ce:	80 7b 31 00          	cmpb   $0x0,0x31(%ebx)
4296d2:	75 4d                	jne    0x429721
4296d4:	8b 73 28             	mov    0x28(%ebx),%esi