403318:	45                   	inc    %ebp
403319:	54                   	push   %esp
40331a:	57                   	push   %edi
40331b:	32 00                	xor    (%eax),%al
40331d:	00 00                	add    %al,(%eax)
40331f:	00 9d 31 00 00 03    	add    %bl,0x3000031(%ebp)
403325:	00 00                	add    %al,(%eax)
403327:	00 2e                	add    %ch,(%esi)
403329:	72 64                	jb     0x40338f
40332b:	61                   	popa
40332c:	74 61                	je     0x40338f
40332e:	24 7a                	and    $0x7a,%al
403330:	45                   	inc    %ebp
403331:	54                   	push   %esp
403332:	57                   	push   %edi
403333:	39 00                	cmp    %eax,(%eax)
403335:	00 00                	add    %al,(%eax)
403337:	00 a0 31 00 00 c0    	add    %ah,-0x3fffffcf(%eax)
40333d:	03 00                	add    (%eax),%eax
40333f:	00 2e                	add    %ch,(%esi)
403341:	72 64                	jb     0x4033a7
403343:	61                   	popa
403344:	74 61                	je     0x4033a7
403346:	24 7a                	and    $0x7a,%al
403348:	7a 7a                	jp     0x4033c4
40334a:	64 62 67 00          	bound  %esp,%fs:0x0(%edi)
40334e:	00 00                	add    %al,(%eax)
403350:	60                   	pusha
403351:	35 00 00 b0 02       	xor    $0x2b00000,%eax
403356:	00 00                	add    %al,(%eax)
403358:	2e 74 65             	je,pn  0x4033c0
40335b:	78 74                	js     0x4033d1
40335d:	00 00                	add    %al,(%eax)
40335f:	00 10                	add    %dl,(%eax)
403361:	38 00                	cmp    %al,(%eax)
403363:	00 10                	add    %dl,(%eax)
403365:	01 00                	add    %eax,(%eax)
403367:	00 2e                	add    %ch,(%esi)
403369:	74 65                	je     0x4033d0
40336b:	78 74                	js     0x4033e1
40336d:	24 64                	and    $0x64,%al
40336f:	69 00 00 00 00 20    	imul   $0x20000000,(%eax),%eax
403375:	39 00                	cmp    %eax,(%eax)
403377:	00 c7                	add    %al,%bh
403379:	6a 00                	push   $0x0
40337b:	00 2e                	add    %ch,(%esi)
40337d:	74 65                	je     0x4033e4
40337f:	78 74                	js     0x4033f5
403381:	24 6d                	and    $0x6d,%al
403383:	6e                   	outsb  %ds:(%esi),(%dx)
403384:	00 00                	add    %al,(%eax)
403386:	00 00                	add    %al,(%eax)
403388:	e7 a3                	out    %eax,$0xa3
40338a:	00 00                	add    %al,(%eax)
40338c:	c9                   	leave
40338d:	02 00                	add    (%eax),%al
40338f:	00 2e                	add    %ch,(%esi)
403391:	74 65                	je     0x4033f8
403393:	78 74                	js     0x403409
403395:	24 78                	and    $0x78,%al
403397:	00 b0 a6 00 00 00    	add    %dh,0xa6(%eax)
40339d:	01 00                	add    %eax,(%eax)
40339f:	00 2e                	add    %ch,(%esi)
4033a1:	74 65                	je     0x403408
4033a3:	78 74                	js     0x403419
4033a5:	24 79                	and    $0x79,%al
4033a7:	64 00 00             	add    %al,%fs:(%eax)
4033aa:	00 00                	add    %al,(%eax)
4033ac:	b0 a7                	mov    $0xa7,%al
4033ae:	00 00                	add    %al,(%eax)
4033b0:	04 08                	add    $0x8,%al
4033b2:	00 00                	add    %al,(%eax)
4033b4:	2e 78 64             	js,pn  0x40341b
4033b7:	61                   	popa
4033b8:	74 61                	je     0x40341b
4033ba:	24 78                	and    $0x78,%al
4033bc:	00 00                	add    %al,(%eax)
4033be:	00 00                	add    %al,(%eax)
4033c0:	b4 af                	mov    $0xaf,%ah
4033c2:	00 00                	add    %al,(%eax)
4033c4:	04 00                	add    $0x0,%al
4033c6:	00 00                	add    %al,(%eax)
4033c8:	41                   	inc    %ecx
4033c9:	54                   	push   %esp
4033ca:	4c                   	dec    %esp
4033cb:	24 5f                	and    $0x5f,%al
4033cd:	5f                   	pop    %edi
4033ce:	61                   	popa
4033cf:	00 b8 af 00 00 04    	add    %bh,0x40000af(%eax)
4033d5:	00 00                	add    %al,(%eax)
4033d7:	00 41 54             	add    %al,0x54(%ecx)
4033da:	4c                   	dec    %esp
4033db:	24 5f                	and    $0x5f,%al
4033dd:	5f                   	pop    %edi
4033de:	7a 00                	jp     0x4033e0
4033e0:	bc af 00 00 20       	mov    $0x200000af,%esp
4033e5:	00 00                	add    %al,(%eax)
4033e7:	00 2e                	add    %ch,(%esi)
4033e9:	64 69 64 61 74 24 32 	imul   $0x3224,%fs:0x74(%ecx,%eiz,2),%esp
4033f0:	00 00
4033f2:	00 00                	add    %al,(%eax)
4033f4:	dc af 00 00 20 00    	fsubrl 0x200000(%edi)
4033fa:	00 00                	add    %al,(%eax)
4033fc:	2e 64 69 64 61 74 24 	cs imul $0x3324,%fs:0x74(%ecx,%eiz,2),%esp
403403:	33 00 00
403406:	00 00                	add    %al,(%eax)
403408:	fc                   	cld
403409:	af                   	scas   %es:(%edi),%eax
40340a:	00 00                	add    %al,(%eax)
40340c:	08 00                	or     %al,(%eax)
40340e:	00 00                	add    %al,(%eax)
403410:	2e 64 69 64 61 74 24 	cs imul $0x3424,%fs:0x74(%ecx,%eiz,2),%esp
403417:	34 00 00
40341a:	00 00                	add    %al,(%eax)
40341c:	04 b0                	add    $0xb0,%al
40341e:	00 00                	add    %al,(%eax)
403420:	10 00                	adc    %al,(%eax)
403422:	00 00                	add    %al,(%eax)
403424:	2e 64 69 64 61 74 24 	cs imul $0x3624,%fs:0x74(%ecx,%eiz,2),%esp
40342b:	36 00 00
40342e:	00 00                	add    %al,(%eax)
403430:	14 b0                	adc    $0xb0,%al
403432:	00 00                	add    %al,(%eax)
403434:	08 00                	or     %al,(%eax)
403436:	00 00                	add    %al,(%eax)
403438:	2e 64 69 64 61 74 24 	cs imul $0x3724,%fs:0x74(%ecx,%eiz,2),%esp
40343f:	37 00 00
403442:	00 00                	add    %al,(%eax)
403444:	00 c0                	add    %al,%al
403446:	00 00                	add    %al,(%eax)
403448:	18 01                	sbb    %al,(%ecx)
40344a:	00 00                	add    %al,(%eax)
40344c:	2e 64 61             	cs fs popa
40344f:	74 61                	je     0x4034b2
403451:	24 62                	and    $0x62,%al
403453:	72 63                	jb     0x4034b8
403455:	00 00                	add    %al,(%eax)
403457:	00 18                	add    %bl,(%eax)
403459:	c1 00 00             	roll   $0x0,(%eax)
40345c:	c8 00 00 00          	enter  $0x0,$0x0
403460:	2e 64 61             	cs fs popa
403463:	74 61                	je     0x4034c6
403465:	24 72                	and    $0x72,%al
403467:	24 62                	and    $0x62,%al
403469:	72 63                	jb     0x4034ce
40346b:	00 e0                	add    %ah,%al
40346d:	c1 00 00             	roll   $0x0,(%eax)
403470:	50                   	push   %eax
403471:	00 00                	add    %al,(%eax)
403473:	00 2e                	add    %ch,(%esi)
403475:	64 61                	fs popa
403477:	74 61                	je     0x4034da
403479:	00 00                	add    %al,(%eax)
40347b:	00 30                	add    %dh,(%eax)
40347d:	c2 00 00             	ret    $0x0
403480:	04 2c                	add    $0x2c,%al
403482:	00 00                	add    %al,(%eax)
403484:	2e 62 73 73          	bound  %esi,%cs:0x73(%ebx)
403488:	00 00                	add    %al,(%eax)
40348a:	00 00                	add    %al,(%eax)
40348c:	00 f0                	add    %dh,%al
40348e:	00 00                	add    %al,(%eax)
403490:	20 02                	and    %al,(%edx)
403492:	00 00                	add    %al,(%eax)
403494:	2e 69 64 61 74 61 24 	imul   $0x352461,%cs:0x74(%ecx,%eiz,2),%esp
40349b:	35 00
40349d:	00 00                	add    %al,(%eax)
40349f:	00 20                	add    %ah,(%eax)
4034a1:	f2 00 00             	repnz add %al,(%eax)
4034a4:	04 00                	add    $0x0,%al
4034a6:	00 00                	add    %al,(%eax)
4034a8:	2e 30 30             	xor    %dh,%cs:(%eax)
4034ab:	63 66 67             	arpl   %esp,0x67(%esi)
4034ae:	00 00                	add    %al,(%eax)
4034b0:	24 f2                	and    $0xf2,%al
4034b2:	00 00                	add    %al,(%eax)
4034b4:	dc 00                	faddl  (%eax)
4034b6:	00 00                	add    %al,(%eax)
4034b8:	2e 69 64 61 74 61 24 	imul   $0x322461,%cs:0x74(%ecx,%eiz,2),%esp
4034bf:	32 00
4034c1:	00 00                	add    %al,(%eax)
4034c3:	00 00                	add    %al,(%eax)
4034c5:	f3 00 00             	repz add %al,(%eax)
4034c8:	14 00                	adc    $0x0,%al
4034ca:	00 00                	add    %al,(%eax)
4034cc:	2e 69 64 61 74 61 24 	imul   $0x332461,%cs:0x74(%ecx,%eiz,2),%esp
4034d3:	33 00
4034d5:	00 00                	add    %al,(%eax)
4034d7:	00 14 f3             	add    %dl,(%ebx,%esi,8)
4034da:	00 00                	add    %al,(%eax)
4034dc:	20 02                	and    %al,(%edx)
4034de:	00 00                	add    %al,(%eax)
4034e0:	2e 69 64 61 74 61 24 	imul   $0x342461,%cs:0x74(%ecx,%eiz,2),%esp
4034e7:	34 00
4034e9:	00 00                	add    %al,(%eax)
4034eb:	00 34 f5 00 00 54 09 	add    %dh,0x9540000(,%esi,8)
4034f2:	00 00                	add    %al,(%eax)
4034f4:	2e 69 64 61 74 61 24 	imul   $0x362461,%cs:0x74(%ecx,%eiz,2),%esp
4034fb:	36 00
4034fd:	00 00                	add    %al,(%eax)
4034ff:	00 00                	add    %al,(%eax)
403501:	00 01                	add    %al,(%ecx)
403503:	00 08                	add    %cl,(%eax)
403505:	00 00                	add    %al,(%eax)
403507:	00 2e                	add    %ch,(%esi)
403509:	64 69 64 61 74 24 35 	imul   $0x3524,%fs:0x74(%ecx,%eiz,2),%esp
403510:	00 00
403512:	00 00                	add    %al,(%eax)
403514:	00 10                	add    %dl,(%eax)
403516:	01 00                	add    %eax,(%eax)
403518:	e0 01                	loopne 0x40351b
40351a:	00 00                	add    %al,(%eax)
40351c:	2e 72 73             	jb,pn  0x403592
40351f:	72 63                	jb     0x403584
403521:	24 30                	and    $0x30,%al
403523:	31 00                	xor    %eax,(%eax)
403525:	00 00                	add    %al,(%eax)
403527:	00 e0                	add    %ah,%al
403529:	11 01                	adc    %eax,(%ecx)
40352b:	00 18                	add    %bl,(%eax)
40352d:	12 00                	adc    (%eax),%al
40352f:	00 2e                	add    %ch,(%esi)
403531:	72 73                	jb     0x4035a6
403533:	72 63                	jb     0x403598
403535:	24 30                	and    $0x30,%al
403537:	32 00                	xor    (%eax),%al
403539:	00 00                	add    %al,(%eax)
40353b:	00 20                	add    %ah,(%eax)
40353d:	00 00                	add    %al,(%eax)
40353f:	00 40 50             	add    %al,0x50(%eax)
403542:	23 f6                	and    %esi,%esi
403544:	d8 8e 1b d0 a2 a9    	fmuls  -0x565d2fe5(%esi)
40354a:	46                   	inc    %esi
40354b:	f3 4c                	repz dec %esp
40354d:	64 e3 56             	fs jecxz 0x4035a6
403550:	11 78 93             	adc    %edi,-0x6d(%eax)
403553:	9d                   	popf
403554:	55                   	push   %ebp
403555:	02 09                	add    (%ecx),%cl
403557:	42                   	inc    %edx
403558:	ea 0d 63 d2 c0 62 d4 	ljmp   $0xd462,$0xc0d2630d
40355f:	f4                   	hlt
403560:	8b ff                	mov    %edi,%edi
403562:	55                   	push   %ebp
403563:	8b ec                	mov    %esp,%ebp
403565:	83 ec 14             	sub    $0x14,%esp
403568:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40356b:	56                   	push   %esi
40356c:	8b 75 08             	mov    0x8(%ebp),%esi
40356f:	0f b6 01             	movzbl (%ecx),%eax
403572:	8d 51 01             	lea    0x1(%ecx),%edx
403575:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
403578:	c1 e0 18             	shl    $0x18,%eax
40357b:	89 45 ec             	mov    %eax,-0x14(%ebp)
40357e:	0f b7 02             	movzwl (%edx),%eax
403581:	89 45 f0             	mov    %eax,-0x10(%ebp)
403584:	8b 42 02             	mov    0x2(%edx),%eax
403587:	89 45 f4             	mov    %eax,-0xc(%ebp)
40358a:	8b 42 06             	mov    0x6(%edx),%eax
40358d:	83 c2 0a             	add    $0xa,%edx
403590:	89 45 f8             	mov    %eax,-0x8(%ebp)
403593:	8b 46 04             	mov    0x4(%esi),%eax
403596:	83 61 04 00          	andl   $0x0,0x4(%ecx)
40359a:	89 01                	mov    %eax,(%ecx)
40359c:	8b 46 04             	mov    0x4(%esi),%eax
40359f:	51                   	push   %ecx
4035a0:	ff 75 18             	push   0x18(%ebp)
4035a3:	0f b7 00             	movzwl (%eax),%eax
4035a6:	83 61 14 00          	andl   $0x0,0x14(%ecx)
4035aa:	ff 75 14             	push   0x14(%ebp)
4035ad:	89 41 08             	mov    %eax,0x8(%ecx)
4035b0:	ff 75 10             	push   0x10(%ebp)
4035b3:	c7 41 0c 02 00 00 00 	movl   $0x2,0xc(%ecx)
4035ba:	89 51 10             	mov    %edx,0x10(%ecx)
4035bd:	0f b7 02             	movzwl (%edx),%eax
4035c0:	89 41 18             	mov    %eax,0x18(%ecx)
4035c3:	b8 9d 31 40 00       	mov    $0x40319d,%eax
4035c8:	c7 41 1c 01 00 00 00 	movl   $0x1,0x1c(%ecx)
4035cf:	2d 88 30 40 00       	sub    $0x403088,%eax
4035d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4035d7:	8d 45 ec             	lea    -0x14(%ebp),%eax
4035da:	50                   	push   %eax
4035db:	ff 76 1c             	push   0x1c(%esi)
4035de:	ff 76 18             	push   0x18(%esi)
4035e1:	ff 15 1c f0 40 00    	call   *0x40f01c
4035e7:	5e                   	pop    %esi
4035e8:	c9                   	leave
4035e9:	c2 18 00             	ret    $0x18
4035ec:	8b ff                	mov    %edi,%edi
4035ee:	55                   	push   %ebp
4035ef:	8b ec                	mov    %esp,%ebp
4035f1:	8b 11                	mov    (%ecx),%edx
4035f3:	85 d2                	test   %edx,%edx
4035f5:	74 13                	je     0x40360a
4035f7:	8b ca                	mov    %edx,%ecx
4035f9:	56                   	push   %esi
4035fa:	8d 71 01             	lea    0x1(%ecx),%esi
4035fd:	8a 01                	mov    (%ecx),%al
4035ff:	41                   	inc    %ecx
403600:	84 c0                	test   %al,%al
403602:	75 f9                	jne    0x4035fd
403604:	2b ce                	sub    %esi,%ecx
403606:	41                   	inc    %ecx
403607:	5e                   	pop    %esi
403608:	eb 08                	jmp    0x403612
40360a:	33 c9                	xor    %ecx,%ecx
40360c:	ba e0 23 40 00       	mov    $0x4023e0,%edx
403611:	41                   	inc    %ecx
403612:	8b 45 08             	mov    0x8(%ebp),%eax
403615:	83 60 04 00          	andl   $0x0,0x4(%eax)
403619:	83 60 0c 00          	andl   $0x0,0xc(%eax)
40361d:	89 10                	mov    %edx,(%eax)
40361f:	89 48 08             	mov    %ecx,0x8(%eax)
403622:	5d                   	pop    %ebp
403623:	c2 04 00             	ret    $0x4
403626:	8b ff                	mov    %edi,%edi
403628:	55                   	push   %ebp
403629:	8b ec                	mov    %esp,%ebp
40362b:	83 ec 64             	sub    $0x64,%esp
40362e:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
403633:	33 c5                	xor    %ebp,%eax
403635:	89 45 fc             	mov    %eax,-0x4(%ebp)
403638:	8b 45 18             	mov    0x18(%ebp),%eax
40363b:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
40363e:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
403642:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
403646:	53                   	push   %ebx
403647:	56                   	push   %esi
403648:	8b 75 14             	mov    0x14(%ebp),%esi
40364b:	8b da                	mov    %edx,%ebx
40364d:	57                   	push   %edi
40364e:	8b 7d 10             	mov    0x10(%ebp),%edi
403651:	89 45 dc             	mov    %eax,-0x24(%ebp)
403654:	8d 45 ec             	lea    -0x14(%ebp),%eax
403657:	50                   	push   %eax
403658:	c7 45 e4 04 00 00 00 	movl   $0x4,-0x1c(%ebp)
40365f:	e8 88 ff ff ff       	call   0x4035ec
403664:	8d 45 cc             	lea    -0x34(%ebp),%eax
403667:	8b ce                	mov    %esi,%ecx
403669:	50                   	push   %eax
40366a:	e8 7d ff ff ff       	call   0x4035ec
40366f:	8d 45 bc             	lea    -0x44(%ebp),%eax
403672:	8b cf                	mov    %edi,%ecx
403674:	50                   	push   %eax
403675:	e8 72 ff ff ff       	call   0x4035ec
40367a:	8d 45 9c             	lea    -0x64(%ebp),%eax
40367d:	50                   	push   %eax
40367e:	6a 06                	push   $0x6
403680:	6a 00                	push   $0x0
403682:	6a 00                	push   $0x0