42431d:	85 f6                	test   %esi,%esi
42431f:	74 09                	je     0x42432a
424321:	8b d7                	mov    %edi,%edx
424323:	8b c6                	mov    %esi,%eax
424325:	e8 8e 01 00 00       	call   0x4244b8
42432a:	8b c7                	mov    %edi,%eax
42432c:	84 db                	test   %bl,%bl
42432e:	74 0f                	je     0x42433f
424330:	e8 5b f4 fd ff       	call   0x403790
424335:	64 8f 05 00 00 00 00 	pop    %fs:0x0
42433c:	83 c4 0c             	add    $0xc,%esp
42433f:	8b c7                	mov    %edi,%eax
424341:	5f                   	pop    %edi
424342:	5e                   	pop    %esi
424343:	5b                   	pop    %ebx
424344:	c3                   	ret
424345:	00 00                	add    %al,(%eax)
424347:	00 01                	add    %al,(%ecx)
424349:	00 00                	add    %al,(%eax)
42434b:	00 53 56             	add    %dl,0x56(%ebx)
42434e:	51                   	push   %ecx
42434f:	e8 4c f4 fd ff       	call   0x4037a0
424354:	88 14 24             	mov    %dl,(%esp)
424357:	8b d8                	mov    %eax,%ebx
424359:	8b c3                	mov    %ebx,%eax
42435b:	e8 40 02 00 00       	call   0x4245a0
424360:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
424364:	74 2b                	je     0x424391
424366:	eb 14                	jmp    0x42437c
424368:	8b 56 08             	mov    0x8(%esi),%edx
42436b:	4a                   	dec    %edx
42436c:	8b c6                	mov    %esi,%eax
42436e:	e8 7d 7a ff ff       	call   0x41bdf0
424373:	b1 01                	mov    $0x1,%cl
424375:	8b d3                	mov    %ebx,%edx
424377:	8b 30                	mov    (%eax),%esi
424379:	ff 56 10             	call   *0x10(%esi)
42437c:	8b 73 14             	mov    0x14(%ebx),%esi
42437f:	85 f6                	test   %esi,%esi
424381:	74 06                	je     0x424389
424383:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
424387:	7f df                	jg     0x424368
424389:	8d 43 14             	lea    0x14(%ebx),%eax
42438c:	e8 47 9d fe ff       	call   0x40e0d8
424391:	8b c3                	mov    %ebx,%eax
424393:	e8 b0 01 00 00       	call   0x424548
424398:	8b 43 04             	mov    0x4(%ebx),%eax
42439b:	85 c0                	test   %eax,%eax
42439d:	74 07                	je     0x4243a6
42439f:	8b d3                	mov    %ebx,%edx
4243a1:	e8 6a 01 00 00       	call   0x424510
4243a6:	8a 14 24             	mov    (%esp),%dl
4243a9:	80 e2 fc             	and    $0xfc,%dl
4243ac:	8b c3                	mov    %ebx,%eax
4243ae:	e8 25 80 ff ff       	call   0x41c3d8
4243b3:	80 3c 24 00          	cmpb   $0x0,(%esp)
4243b7:	7e 07                	jle    0x4243c0
4243b9:	8b c3                	mov    %ebx,%eax
4243bb:	e8 c8 f3 fd ff       	call   0x403788
4243c0:	5a                   	pop    %edx
4243c1:	5e                   	pop    %esi
4243c2:	5b                   	pop    %ebx
4243c3:	c3                   	ret
4243c4:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
4243c8:	75 05                	jne    0x4243cf
4243ca:	e8 d1 01 00 00       	call   0x4245a0
4243cf:	c3                   	ret
4243d0:	53                   	push   %ebx
4243d1:	56                   	push   %esi
4243d2:	8b f2                	mov    %edx,%esi
4243d4:	8b d8                	mov    %eax,%ebx
4243d6:	8b 43 04             	mov    0x4(%ebx),%eax
4243d9:	85 c0                	test   %eax,%eax
4243db:	74 05                	je     0x4243e2
4243dd:	3b 46 04             	cmp    0x4(%esi),%eax
4243e0:	74 36                	je     0x424418
4243e2:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
4243e6:	75 0f                	jne    0x4243f7
4243e8:	b2 01                	mov    $0x1,%dl
4243ea:	a1 bc 95 41 00       	mov    0x4195bc,%eax
4243ef:	e8 c8 ef fd ff       	call   0x4033bc
4243f4:	89 43 14             	mov    %eax,0x14(%ebx)
4243f7:	8b d6                	mov    %esi,%edx
4243f9:	8b 43 14             	mov    0x14(%ebx),%eax
4243fc:	e8 4b 7a ff ff       	call   0x41be4c
424401:	85 c0                	test   %eax,%eax
424403:	7d 13                	jge    0x424418
424405:	8b d6                	mov    %esi,%edx
424407:	8b 43 14             	mov    0x14(%ebx),%eax
42440a:	e8 85 78 ff ff       	call   0x41bc94
42440f:	8b d3                	mov    %ebx,%edx
424411:	8b c6                	mov    %esi,%eax
424413:	e8 b8 ff ff ff       	call   0x4243d0
424418:	66 81 4b 1c 00 01    	orw    $0x100,0x1c(%ebx)
42441e:	5e                   	pop    %esi
42441f:	5b                   	pop    %ebx
424420:	c3                   	ret
424421:	8d 40 00             	lea    0x0(%eax),%eax
424424:	53                   	push   %ebx
424425:	56                   	push   %esi
424426:	8b f2                	mov    %edx,%esi
424428:	8b d8                	mov    %eax,%ebx
42442a:	8b c6                	mov    %esi,%eax
42442c:	e8 5b c1 ff ff       	call   0x42058c
424431:	66 89 43 18          	mov    %ax,0x18(%ebx)
424435:	5e                   	pop    %esi
424436:	5b                   	pop    %ebx
424437:	c3                   	ret
424438:	53                   	push   %ebx
424439:	56                   	push   %esi
42443a:	8b f2                	mov    %edx,%esi
42443c:	8b d8                	mov    %eax,%ebx
42443e:	8b c6                	mov    %esi,%eax
424440:	e8 47 c1 ff ff       	call   0x42058c
424445:	66 89 43 1a          	mov    %ax,0x1a(%ebx)
424449:	5e                   	pop    %esi
42444a:	5b                   	pop    %ebx
42444b:	c3                   	ret
42444c:	0f b7 40 18          	movzwl 0x18(%eax),%eax
424450:	92                   	xchg   %eax,%edx
424451:	e8 26 e3 ff ff       	call   0x42277c
424456:	c3                   	ret
424457:	90                   	nop
424458:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
42445c:	92                   	xchg   %eax,%edx
42445d:	e8 1a e3 ff ff       	call   0x42277c
424462:	c3                   	ret
424463:	90                   	nop
424464:	53                   	push   %ebx
424465:	56                   	push   %esi
424466:	8b f2                	mov    %edx,%esi
424468:	8b d8                	mov    %eax,%ebx
42446a:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
42446e:	75 0f                	jne    0x42447f
424470:	b2 01                	mov    $0x1,%dl
424472:	a1 bc 95 41 00       	mov    0x4195bc,%eax
424477:	e8 40 ef fd ff       	call   0x4033bc
42447c:	89 43 10             	mov    %eax,0x10(%ebx)
42447f:	8b d6                	mov    %esi,%edx
424481:	8b 43 10             	mov    0x10(%ebx),%eax
424484:	e8 0b 78 ff ff       	call   0x41bc94
424489:	89 5e 04             	mov    %ebx,0x4(%esi)
42448c:	5e                   	pop    %esi
42448d:	5b                   	pop    %ebx
42448e:	c3                   	ret
42448f:	90                   	nop
424490:	53                   	push   %ebx
424491:	8b d8                	mov    %eax,%ebx
424493:	33 c0                	xor    %eax,%eax
424495:	89 42 04             	mov    %eax,0x4(%edx)
424498:	8b 43 10             	mov    0x10(%ebx),%eax
42449b:	e8 ec 7a ff ff       	call   0x41bf8c
4244a0:	8b 43 10             	mov    0x10(%ebx),%eax
4244a3:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4244a7:	75 0a                	jne    0x4244b3
4244a9:	e8 3e ef fd ff       	call   0x4033ec
4244ae:	33 c0                	xor    %eax,%eax
4244b0:	89 43 10             	mov    %eax,0x10(%ebx)
4244b3:	5b                   	pop    %ebx
4244b4:	c3                   	ret
4244b5:	8d 40 00             	lea    0x0(%eax),%eax
4244b8:	53                   	push   %ebx
4244b9:	56                   	push   %esi
4244ba:	57                   	push   %edi
4244bb:	8b da                	mov    %edx,%ebx
4244bd:	8b f8                	mov    %eax,%edi
4244bf:	8b d7                	mov    %edi,%edx
4244c1:	8b c3                	mov    %ebx,%eax
4244c3:	66 be f5 ff          	mov    $0xfff5,%si
4244c7:	e8 1c f1 fd ff       	call   0x4035e8
4244cc:	8b 43 08             	mov    0x8(%ebx),%eax
4244cf:	50                   	push   %eax
4244d0:	33 c9                	xor    %ecx,%ecx
4244d2:	8b d3                	mov    %ebx,%edx
4244d4:	8b c7                	mov    %edi,%eax
4244d6:	8b 30                	mov    (%eax),%esi
4244d8:	ff 56 20             	call   *0x20(%esi)
4244db:	8b d3                	mov    %ebx,%edx
4244dd:	8b c7                	mov    %edi,%eax
4244df:	e8 80 ff ff ff       	call   0x424464
4244e4:	b2 01                	mov    $0x1,%dl
4244e6:	8b c3                	mov    %ebx,%eax
4244e8:	e8 eb 04 00 00       	call   0x4249d8
4244ed:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
4244f1:	74 0b                	je     0x4244fe
4244f3:	b1 01                	mov    $0x1,%cl
4244f5:	b2 01                	mov    $0x1,%dl
4244f7:	8b c3                	mov    %ebx,%eax
4244f9:	e8 8a 04 00 00       	call   0x424988
4244fe:	33 c9                	xor    %ecx,%ecx
424500:	8b d3                	mov    %ebx,%edx
424502:	8b c7                	mov    %edi,%eax
424504:	8b 18                	mov    (%eax),%ebx
424506:	ff 53 10             	call   *0x10(%ebx)
424509:	5f                   	pop    %edi
42450a:	5e                   	pop    %esi
42450b:	5b                   	pop    %ebx
42450c:	c3                   	ret
42450d:	8d 40 00             	lea    0x0(%eax),%eax
424510:	53                   	push   %ebx
424511:	56                   	push   %esi
424512:	57                   	push   %edi
424513:	8b da                	mov    %edx,%ebx
424515:	8b f0                	mov    %eax,%esi
424517:	6a 00                	push   $0x0
424519:	8b 4b 08             	mov    0x8(%ebx),%ecx
42451c:	8b d3                	mov    %ebx,%edx
42451e:	8b c6                	mov    %esi,%eax
424520:	8b 38                	mov    (%eax),%edi
424522:	ff 57 20             	call   *0x20(%edi)
424525:	b1 01                	mov    $0x1,%cl
424527:	8b d3                	mov    %ebx,%edx
424529:	8b c6                	mov    %esi,%eax
42452b:	8b 38                	mov    (%eax),%edi
42452d:	ff 57 10             	call   *0x10(%edi)
424530:	33 d2                	xor    %edx,%edx
424532:	8b c3                	mov    %ebx,%eax
424534:	e8 9f 04 00 00       	call   0x4249d8
424539:	8b d3                	mov    %ebx,%edx
42453b:	8b c6                	mov    %esi,%eax
42453d:	e8 4e ff ff ff       	call   0x424490
424542:	5f                   	pop    %edi
424543:	5e                   	pop    %esi
424544:	5b                   	pop    %ebx
424545:	c3                   	ret
424546:	8b c0                	mov    %eax,%eax
424548:	53                   	push   %ebx
424549:	56                   	push   %esi
42454a:	57                   	push   %edi
42454b:	8b f0                	mov    %eax,%esi
42454d:	eb 42                	jmp    0x424591
42454f:	8b c3                	mov    %ebx,%eax
424551:	e8 82 79 ff ff       	call   0x41bed8
424556:	8b f8                	mov    %eax,%edi
424558:	f6 47 1d 01          	testb  $0x1,0x1d(%edi)
42455c:	75 16                	jne    0x424574
42455e:	66 a1 9c 45 42 00    	mov    0x42459c,%ax
424564:	66 23 46 1c          	and    0x1c(%esi),%ax
424568:	66 8b 15 9c 45 42 00 	mov    0x42459c,%dx
42456f:	66 3b d0             	cmp    %ax,%dx
424572:	75 0b                	jne    0x42457f
424574:	8b d7                	mov    %edi,%edx
424576:	8b c6                	mov    %esi,%eax
424578:	e8 93 ff ff ff       	call   0x424510
42457d:	eb 09                	jmp    0x424588
42457f:	8b d7                	mov    %edi,%edx
424581:	8b c6                	mov    %esi,%eax
424583:	e8 08 ff ff ff       	call   0x424490
424588:	b2 01                	mov    $0x1,%dl
42458a:	8b c7                	mov    %edi,%eax
42458c:	8b 08                	mov    (%eax),%ecx
42458e:	ff 51 fc             	call   *-0x4(%ecx)
424591:	8b 5e 10             	mov    0x10(%esi),%ebx
424594:	85 db                	test   %ebx,%ebx
424596:	75 b7                	jne    0x42454f
424598:	5f                   	pop    %edi
424599:	5e                   	pop    %esi
42459a:	5b                   	pop    %ebx
42459b:	c3                   	ret
42459c:	10 02                	adc    %al,(%edx)
42459e:	00 00                	add    %al,(%eax)
4245a0:	53                   	push   %ebx
4245a1:	56                   	push   %esi
4245a2:	57                   	push   %edi
4245a3:	8b d8                	mov    %eax,%ebx
4245a5:	f6 43 1c 08          	testb  $0x8,0x1c(%ebx)
4245a9:	75 2a                	jne    0x4245d5
4245ab:	66 83 4b 1c 08       	orw    $0x8,0x1c(%ebx)
4245b0:	8b 43 10             	mov    0x10(%ebx),%eax
4245b3:	85 c0                	test   %eax,%eax
4245b5:	74 1e                	je     0x4245d5
4245b7:	8b 70 08             	mov    0x8(%eax),%esi
4245ba:	4e                   	dec    %esi
4245bb:	85 f6                	test   %esi,%esi
4245bd:	7c 16                	jl     0x4245d5
4245bf:	46                   	inc    %esi
4245c0:	33 ff                	xor    %edi,%edi
4245c2:	8b d7                	mov    %edi,%edx
4245c4:	8b 43 10             	mov    0x10(%ebx),%eax
4245c7:	e8 24 78 ff ff       	call   0x41bdf0
4245cc:	e8 cf ff ff ff       	call   0x4245a0
4245d1:	47                   	inc    %edi
4245d2:	4e                   	dec    %esi
4245d3:	75 ed                	jne    0x4245c2
4245d5:	5f                   	pop    %edi
4245d6:	5e                   	pop    %esi
4245d7:	5b                   	pop    %ebx
4245d8:	c3                   	ret
4245d9:	8d 40 00             	lea    0x0(%eax),%eax
4245dc:	53                   	push   %ebx
4245dd:	8b d8                	mov    %eax,%ebx
4245df:	8b 43 14             	mov    0x14(%ebx),%eax
4245e2:	85 c0                	test   %eax,%eax
4245e4:	74 18                	je     0x4245fe
4245e6:	e8 a1 79 ff ff       	call   0x41bf8c
4245eb:	8b 43 14             	mov    0x14(%ebx),%eax
4245ee:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4245f2:	75 0a                	jne    0x4245fe
4245f4:	e8 f3 ed fd ff       	call   0x4033ec
4245f9:	33 c0                	xor    %eax,%eax
4245fb:	89 43 14             	mov    %eax,0x14(%ebx)
4245fe:	5b                   	pop    %ebx
4245ff:	c3                   	ret
424600:	53                   	push   %ebx
424601:	56                   	push   %esi
424602:	8b f2                	mov    %edx,%esi
424604:	8b d8                	mov    %eax,%ebx
424606:	8b d6                	mov    %esi,%edx
424608:	8b c3                	mov    %ebx,%eax
42460a:	e8 cd ff ff ff       	call   0x4245dc
42460f:	8b d3                	mov    %ebx,%edx
424611:	8b c6                	mov    %esi,%eax
424613:	e8 c4 ff ff ff       	call   0x4245dc
424618:	5e                   	pop    %esi
424619:	5b                   	pop    %ebx
42461a:	c3                   	ret
42461b:	90                   	nop
42461c:	53                   	push   %ebx
42461d:	56                   	push   %esi
42461e:	57                   	push   %edi
42461f:	55                   	push   %ebp
424620:	51                   	push   %ecx
424621:	88 0c 24             	mov    %cl,(%esp)
424624:	8b fa                	mov    %edx,%edi
424626:	8b f0                	mov    %eax,%esi
424628:	80 3c 24 01          	cmpb   $0x1,(%esp)
42462c:	75 0d                	jne    0x42463b
42462e:	85 ff                	test   %edi,%edi
424630:	74 09                	je     0x42463b
424632:	8b d7                	mov    %edi,%edx
424634:	8b c6                	mov    %esi,%eax
424636:	e8 c5 ff ff ff       	call   0x424600
42463b:	8b 46 10             	mov    0x10(%esi),%eax
42463e:	85 c0                	test   %eax,%eax
424640:	74 2e                	je     0x424670
424642:	8b 58 08             	mov    0x8(%eax),%ebx
424645:	4b                   	dec    %ebx
424646:	85 db                	test   %ebx,%ebx
424648:	7c 26                	jl     0x424670
42464a:	8b d3                	mov    %ebx,%edx
42464c:	8b 46 10             	mov    0x10(%esi),%eax
42464f:	e8 9c 77 ff ff       	call   0x41bdf0
424654:	8a 0c 24             	mov    (%esp),%cl
424657:	8b d7                	mov    %edi,%edx
424659:	8b 28                	mov    (%eax),%ebp
42465b:	ff 55 10             	call   *0x10(%ebp)
42465e:	4b                   	dec    %ebx
42465f:	8b 46 10             	mov    0x10(%esi),%eax
424662:	8b 40 08             	mov    0x8(%eax),%eax
424665:	3b d8                	cmp    %eax,%ebx