4094b1:	8b 45 08             	mov    0x8(%ebp),%eax
4094b4:	50                   	push   %eax
4094b5:	8b ce                	mov    %esi,%ecx
4094b7:	8b c3                	mov    %ebx,%eax
4094b9:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4094be:	e8 59 fc ff ff       	call   0x40911c
4094c3:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
4094c7:	8b c3                	mov    %ebx,%eax
4094c9:	eb 02                	jmp    0x4094cd
4094cb:	33 c0                	xor    %eax,%eax
4094cd:	5f                   	pop    %edi
4094ce:	5e                   	pop    %esi
4094cf:	5b                   	pop    %ebx
4094d0:	5d                   	pop    %ebp
4094d1:	c2 04 00             	ret    $0x4
4094d4:	55                   	push   %ebp
4094d5:	8b ec                	mov    %esp,%ebp
4094d7:	53                   	push   %ebx
4094d8:	56                   	push   %esi
4094d9:	57                   	push   %edi
4094da:	8b f1                	mov    %ecx,%esi
4094dc:	8b fa                	mov    %edx,%edi
4094de:	8b d8                	mov    %eax,%ebx
4094e0:	85 db                	test   %ebx,%ebx
4094e2:	74 27                	je     0x40950b
4094e4:	85 f6                	test   %esi,%esi
4094e6:	74 23                	je     0x40950b
4094e8:	8b c6                	mov    %esi,%eax
4094ea:	e8 2d f9 ff ff       	call   0x408e1c
4094ef:	50                   	push   %eax
4094f0:	8b 45 0c             	mov    0xc(%ebp),%eax
4094f3:	50                   	push   %eax
4094f4:	8b 45 08             	mov    0x8(%ebp),%eax
4094f7:	50                   	push   %eax
4094f8:	8b ce                	mov    %esi,%ecx
4094fa:	8b c3                	mov    %ebx,%eax
4094fc:	8b d7                	mov    %edi,%edx
4094fe:	e8 19 fc ff ff       	call   0x40911c
409503:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
409507:	8b c3                	mov    %ebx,%eax
409509:	eb 02                	jmp    0x40950d
40950b:	33 c0                	xor    %eax,%eax
40950d:	5f                   	pop    %edi
40950e:	5e                   	pop    %esi
40950f:	5b                   	pop    %ebx
409510:	5d                   	pop    %ebp
409511:	c2 08 00             	ret    $0x8
409514:	55                   	push   %ebp
409515:	8b ec                	mov    %esp,%ebp
409517:	51                   	push   %ecx
409518:	8b 4d 08             	mov    0x8(%ebp),%ecx
40951b:	91                   	xchg   %eax,%ecx
40951c:	87 d1                	xchg   %edx,%ecx
40951e:	e8 05 00 00 00       	call   0x409528
409523:	5d                   	pop    %ebp
409524:	c2 04 00             	ret    $0x4
409527:	90                   	nop
409528:	55                   	push   %ebp
409529:	8b ec                	mov    %esp,%ebp
40952b:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
409531:	50                   	push   %eax
409532:	83 c4 f8             	add    $0xfffffff8,%esp
409535:	53                   	push   %ebx
409536:	56                   	push   %esi
409537:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40953a:	89 55 fc             	mov    %edx,-0x4(%ebp)
40953d:	8b f0                	mov    %eax,%esi
40953f:	bb 00 10 00 00       	mov    $0x1000,%ebx
409544:	8b 45 fc             	mov    -0x4(%ebp),%eax
409547:	e8 d8 ae ff ff       	call   0x404424
40954c:	3d 00 0c 00 00       	cmp    $0xc00,%eax
409551:	7d 26                	jge    0x409579
409553:	8b 45 fc             	mov    -0x4(%ebp),%eax
409556:	e8 c9 ae ff ff       	call   0x404424
40955b:	50                   	push   %eax
40955c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40955f:	50                   	push   %eax
409560:	8b 45 08             	mov    0x8(%ebp),%eax
409563:	50                   	push   %eax
409564:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409567:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
40956d:	ba ff 0f 00 00       	mov    $0xfff,%edx
409572:	e8 a5 fb ff ff       	call   0x40911c
409577:	eb 0c                	jmp    0x409585
409579:	8b 45 fc             	mov    -0x4(%ebp),%eax
40957c:	e8 a3 ae ff ff       	call   0x404424
409581:	8b d8                	mov    %eax,%ebx
409583:	8b c3                	mov    %ebx,%eax
409585:	8b d3                	mov    %ebx,%edx
409587:	4a                   	dec    %edx
409588:	3b c2                	cmp    %edx,%eax
40958a:	7c 43                	jl     0x4095cf
40958c:	eb 30                	jmp    0x4095be
40958e:	03 db                	add    %ebx,%ebx
409590:	8b c6                	mov    %esi,%eax
409592:	e8 cd ab ff ff       	call   0x404164
409597:	8b c6                	mov    %esi,%eax
409599:	8b d3                	mov    %ebx,%edx
40959b:	e8 10 b2 ff ff       	call   0x4047b0
4095a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4095a3:	e8 7c ae ff ff       	call   0x404424
4095a8:	50                   	push   %eax
4095a9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4095ac:	50                   	push   %eax
4095ad:	8b 45 08             	mov    0x8(%ebp),%eax
4095b0:	50                   	push   %eax
4095b1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4095b4:	8b d3                	mov    %ebx,%edx
4095b6:	4a                   	dec    %edx
4095b7:	8b 06                	mov    (%esi),%eax
4095b9:	e8 5e fb ff ff       	call   0x40911c
4095be:	8b d3                	mov    %ebx,%edx
4095c0:	4a                   	dec    %edx
4095c1:	3b c2                	cmp    %edx,%eax
4095c3:	7d c9                	jge    0x40958e
4095c5:	8b d6                	mov    %esi,%edx
4095c7:	92                   	xchg   %eax,%edx
4095c8:	e8 e3 b1 ff ff       	call   0x4047b0
4095cd:	eb 0e                	jmp    0x4095dd
4095cf:	8d 95 f8 ef ff ff    	lea    -0x1008(%ebp),%edx
4095d5:	8b ce                	mov    %esi,%ecx
4095d7:	91                   	xchg   %eax,%ecx
4095d8:	e8 77 ac ff ff       	call   0x404254
4095dd:	5e                   	pop    %esi
4095de:	5b                   	pop    %ebx
4095df:	8b e5                	mov    %ebp,%esp
4095e1:	5d                   	pop    %ebp
4095e2:	c2 04 00             	ret    $0x4
4095e5:	8d 40 00             	lea    0x0(%eax),%eax
4095e8:	56                   	push   %esi
4095e9:	31 f6                	xor    %esi,%esi
4095eb:	aa                   	stos   %al,%es:(%edi)
4095ec:	08 db                	or     %bl,%bl
4095ee:	75 04                	jne    0x4095f4
4095f0:	31 d2                	xor    %edx,%edx
4095f2:	eb 0a                	jmp    0x4095fe
4095f4:	09 d2                	or     %edx,%edx
4095f6:	7d 06                	jge    0x4095fe
4095f8:	b0 2d                	mov    $0x2d,%al
4095fa:	f7 da                	neg    %edx
4095fc:	eb 06                	jmp    0x409604
4095fe:	08 e4                	or     %ah,%ah
409600:	74 03                	je     0x409605
409602:	88 e0                	mov    %ah,%al
409604:	aa                   	stos   %al,%es:(%edi)
409605:	92                   	xchg   %eax,%edx
409606:	50                   	push   %eax
409607:	89 e3                	mov    %esp,%ebx
409609:	31 d2                	xor    %edx,%edx
40960b:	f7 b6 74 d1 48 00    	divl   0x48d174(%esi)
409611:	80 c2 30             	add    $0x30,%dl
409614:	88 13                	mov    %dl,(%ebx)
409616:	43                   	inc    %ebx
409617:	49                   	dec    %ecx
409618:	09 c0                	or     %eax,%eax
40961a:	75 ed                	jne    0x409609
40961c:	09 c9                	or     %ecx,%ecx
40961e:	7f e9                	jg     0x409609
409620:	4b                   	dec    %ebx
409621:	8a 03                	mov    (%ebx),%al
409623:	aa                   	stos   %al,%es:(%edi)
409624:	39 e3                	cmp    %esp,%ebx
409626:	75 f8                	jne    0x409620
409628:	58                   	pop    %eax
409629:	5e                   	pop    %esi
40962a:	c3                   	ret
40962b:	90                   	nop
40962c:	55                   	push   %ebp
40962d:	8b ec                	mov    %esp,%ebp
40962f:	83 c4 d4             	add    $0xffffffd4,%esp
409632:	57                   	push   %edi
409633:	56                   	push   %esi
409634:	53                   	push   %ebx
409635:	89 45 fc             	mov    %eax,-0x4(%ebp)
409638:	a0 8b c6 49 00       	mov    0x49c68b,%al
40963d:	88 45 fb             	mov    %al,-0x5(%ebp)
409640:	a0 8a c6 49 00       	mov    0x49c68a,%al
409645:	88 45 fa             	mov    %al,-0x6(%ebp)
409648:	a1 84 c6 49 00       	mov    0x49c684,%eax
40964d:	89 45 f4             	mov    %eax,-0xc(%ebp)
409650:	a0 88 c6 49 00       	mov    0x49c688,%al
409655:	88 45 f3             	mov    %al,-0xd(%ebp)
409658:	a0 89 c6 49 00       	mov    0x49c689,%al
40965d:	88 45 f2             	mov    %al,-0xe(%ebp)
409660:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
409667:	b8 13 00 00 00       	mov    $0x13,%eax
40966c:	80 f9 00             	cmp    $0x0,%cl
40966f:	75 17                	jne    0x409688
409671:	8b 45 0c             	mov    0xc(%ebp),%eax
409674:	83 f8 02             	cmp    $0x2,%eax
409677:	7d 05                	jge    0x40967e
409679:	b8 02 00 00 00       	mov    $0x2,%eax
40967e:	83 f8 12             	cmp    $0x12,%eax
409681:	7e 05                	jle    0x409688
409683:	b8 12 00 00 00       	mov    $0x12,%eax
409688:	89 45 0c             	mov    %eax,0xc(%ebp)
40968b:	50                   	push   %eax
40968c:	b8 0f 27 00 00       	mov    $0x270f,%eax
409691:	80 7d 10 02          	cmpb   $0x2,0x10(%ebp)
409695:	72 03                	jb     0x40969a
409697:	8b 45 08             	mov    0x8(%ebp),%eax
40969a:	50                   	push   %eax
40969b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40969e:	e8 51 05 00 00       	call   0x409bf4
4096a3:	8b 7d fc             	mov    -0x4(%ebp),%edi
4096a6:	0f b7 45 d4          	movzwl -0x2c(%ebp),%eax
4096aa:	2d ff 7f 00 00       	sub    $0x7fff,%eax
4096af:	83 f8 02             	cmp    $0x2,%eax
4096b2:	73 1a                	jae    0x4096ce
4096b4:	89 c1                	mov    %eax,%ecx
4096b6:	e8 70 00 00 00       	call   0x40972b
4096bb:	8d b4 49 1c 97 40 00 	lea    0x40971c(%ecx,%ecx,2),%esi
4096c2:	03 75 ec             	add    -0x14(%ebp),%esi
4096c5:	b9 03 00 00 00       	mov    $0x3,%ecx
4096ca:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4096cc:	eb 2d                	jmp    0x4096fb
4096ce:	8d 75 d7             	lea    -0x29(%ebp),%esi
4096d1:	0f b6 5d 10          	movzbl 0x10(%ebp),%ebx
4096d5:	80 fb 01             	cmp    $0x1,%bl
4096d8:	74 10                	je     0x4096ea
4096da:	80 fb 04             	cmp    $0x4,%bl
4096dd:	77 09                	ja     0x4096e8
4096df:	0f bf 45 d4          	movswl -0x2c(%ebp),%eax
4096e3:	3b 45 0c             	cmp    0xc(%ebp),%eax
4096e6:	7e 02                	jle    0x4096ea
4096e8:	b3 00                	mov    $0x0,%bl
4096ea:	8d 1c 9d 08 97 40 00 	lea    0x409708(,%ebx,4),%ebx
4096f1:	03 5d ec             	add    -0x14(%ebp),%ebx
4096f4:	8b 1b                	mov    (%ebx),%ebx
4096f6:	03 5d ec             	add    -0x14(%ebp),%ebx
4096f9:	ff d3                	call   *%ebx
4096fb:	89 f8                	mov    %edi,%eax
4096fd:	2b 45 fc             	sub    -0x4(%ebp),%eax
409700:	5b                   	pop    %ebx
409701:	5e                   	pop    %esi
409702:	5f                   	pop    %edi
409703:	e9 f1 01 00 00       	jmp    0x4098f9
409708:	35 97 40 00 91       	xor    $0x91004097,%eax
40970d:	97                   	xchg   %eax,%edi
40970e:	40                   	inc    %eax
40970f:	00 c8                	add    %cl,%al
409711:	97                   	xchg   %eax,%edi
409712:	40                   	inc    %eax
409713:	00 c8                	add    %cl,%al
409715:	97                   	xchg   %eax,%edi
409716:	40                   	inc    %eax
409717:	00 32                	add    %dh,(%edx)
409719:	98                   	cwtl
40971a:	40                   	inc    %eax
40971b:	00 49 4e             	add    %cl,0x4e(%ecx)
40971e:	46                   	inc    %esi
40971f:	4e                   	dec    %esi
409720:	41                   	inc    %ecx
409721:	4e                   	dec    %esi
409722:	ac                   	lods   %ds:(%esi),%al
409723:	08 c0                	or     %al,%al
409725:	75 03                	jne    0x40972a
409727:	b0 30                	mov    $0x30,%al
409729:	4e                   	dec    %esi
40972a:	c3                   	ret
40972b:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
40972f:	74 03                	je     0x409734
409731:	b0 2d                	mov    $0x2d,%al
409733:	aa                   	stos   %al,%es:(%edi)
409734:	c3                   	ret
409735:	e8 f1 ff ff ff       	call   0x40972b
40973a:	0f bf 4d d4          	movswl -0x2c(%ebp),%ecx
40973e:	31 d2                	xor    %edx,%edx
409740:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
409743:	7f 1d                	jg     0x409762
409745:	83 f9 fd             	cmp    $0xfffffffd,%ecx
409748:	7c 18                	jl     0x409762
40974a:	09 c9                	or     %ecx,%ecx
40974c:	7f 1a                	jg     0x409768
40974e:	b0 30                	mov    $0x30,%al
409750:	aa                   	stos   %al,%es:(%edi)
409751:	80 3e 00             	cmpb   $0x0,(%esi)
409754:	74 3a                	je     0x409790
409756:	8a 45 fb             	mov    -0x5(%ebp),%al
409759:	aa                   	stos   %al,%es:(%edi)
40975a:	f7 d9                	neg    %ecx
40975c:	b0 30                	mov    $0x30,%al
40975e:	f3 aa                	rep stos %al,%es:(%edi)
409760:	eb 1a                	jmp    0x40977c
409762:	b9 01 00 00 00       	mov    $0x1,%ecx
409767:	42                   	inc    %edx
409768:	ac                   	lods   %ds:(%esi),%al
409769:	08 c0                	or     %al,%al
40976b:	74 17                	je     0x409784
40976d:	aa                   	stos   %al,%es:(%edi)
40976e:	e2 f8                	loop   0x409768
409770:	ac                   	lods   %ds:(%esi),%al
409771:	08 c0                	or     %al,%al
409773:	74 13                	je     0x409788
409775:	88 c4                	mov    %al,%ah
409777:	8a 45 fb             	mov    -0x5(%ebp),%al
40977a:	66 ab                	stos   %ax,%es:(%edi)
40977c:	ac                   	lods   %ds:(%esi),%al
40977d:	08 c0                	or     %al,%al
40977f:	74 07                	je     0x409788
409781:	aa                   	stos   %al,%es:(%edi)
409782:	eb f8                	jmp    0x40977c
409784:	b0 30                	mov    $0x30,%al
409786:	f3 aa                	rep stos %al,%es:(%edi)
409788:	09 d2                	or     %edx,%edx
40978a:	74 04                	je     0x409790
40978c:	31 c0                	xor    %eax,%eax
40978e:	eb 1e                	jmp    0x4097ae
409790:	c3                   	ret
409791:	e8 95 ff ff ff       	call   0x40972b
409796:	e8 87 ff ff ff       	call   0x409722
40979b:	8a 65 fb             	mov    -0x5(%ebp),%ah
40979e:	66 ab                	stos   %ax,%es:(%edi)
4097a0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4097a3:	49                   	dec    %ecx
4097a4:	e8 79 ff ff ff       	call   0x409722
4097a9:	aa                   	stos   %al,%es:(%edi)
4097aa:	e2 f8                	loop   0x4097a4
4097ac:	b4 2b                	mov    $0x2b,%ah
4097ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
4097b1:	83 f9 04             	cmp    $0x4,%ecx
4097b4:	76 02                	jbe    0x4097b8
4097b6:	31 c9                	xor    %ecx,%ecx
4097b8:	b0 45                	mov    $0x45,%al
4097ba:	8a 5d d7             	mov    -0x29(%ebp),%bl
4097bd:	0f bf 55 d4          	movswl -0x2c(%ebp),%edx
4097c1:	4a                   	dec    %edx
4097c2:	e8 21 fe ff ff       	call   0x4095e8
4097c7:	c3                   	ret
4097c8:	e8 5e ff ff ff       	call   0x40972b
4097cd:	8b 55 08             	mov    0x8(%ebp),%edx
4097d0:	83 fa 12             	cmp    $0x12,%edx
4097d3:	72 05                	jb     0x4097da
4097d5:	ba 12 00 00 00       	mov    $0x12,%edx
4097da:	0f bf 4d d4          	movswl -0x2c(%ebp),%ecx
4097de:	09 c9                	or     %ecx,%ecx
4097e0:	7f 05                	jg     0x4097e7
4097e2:	b0 30                	mov    $0x30,%al
4097e4:	aa                   	stos   %al,%es:(%edi)
4097e5:	eb 2a                	jmp    0x409811
4097e7:	31 db                	xor    %ebx,%ebx
4097e9:	80 7d 10 02          	cmpb   $0x2,0x10(%ebp)
4097ed:	74 0a                	je     0x4097f9
4097ef:	89 c8                	mov    %ecx,%eax
4097f1:	48                   	dec    %eax
4097f2:	b3 03                	mov    $0x3,%bl
4097f4:	f6 f3                	div    %bl
4097f6:	88 e3                	mov    %ah,%bl
4097f8:	43                   	inc    %ebx
4097f9:	e8 24 ff ff ff       	call   0x409722