4033ed:	53                   	push   %ebx
4033ee:	56                   	push   %esi
4033ef:	57                   	push   %edi
4033f0:	6a 12                	push   $0x12
4033f2:	8b d1                	mov    %ecx,%edx
4033f4:	8b 45 08             	mov    0x8(%ebp),%eax
4033f7:	59                   	pop    %ecx
4033f8:	be 80 12 40 00       	mov    $0x401280,%esi
4033fd:	89 95 b0 fc ff ff    	mov    %edx,-0x350(%ebp)
403403:	8d bd 40 ff ff ff    	lea    -0xc0(%ebp),%edi
403409:	89 85 a8 fc ff ff    	mov    %eax,-0x358(%ebp)
40340f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
403411:	6a 0c                	push   $0xc
403413:	59                   	pop    %ecx
403414:	8d 5a 0c             	lea    0xc(%edx),%ebx
403417:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
403419:	be cc 12 40 00       	mov    $0x4012cc,%esi
40341e:	89 9d c8 fc ff ff    	mov    %ebx,-0x338(%ebp)
403424:	8d 7d c8             	lea    -0x38(%ebp),%edi
403427:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
403429:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
40342b:	33 f6                	xor    %esi,%esi
40342d:	56                   	push   %esi
40342e:	56                   	push   %esi
40342f:	68 47 01 00 00       	push   $0x147
403434:	6a 69                	push   $0x69
403436:	ff 72 08             	push   0x8(%edx)
403439:	89 b5 b8 fc ff ff    	mov    %esi,-0x348(%ebp)
40343f:	ff 15 18 33 43 00    	call   *0x433318
403445:	56                   	push   %esi
403446:	8b b5 b0 fc ff ff    	mov    -0x350(%ebp),%esi
40344c:	50                   	push   %eax
40344d:	68 50 01 00 00       	push   $0x150
403452:	6a 69                	push   $0x69
403454:	ff 76 08             	push   0x8(%esi)
403457:	ff 15 18 33 43 00    	call   *0x433318
40345d:	69 c0 14 02 00 00    	imul   $0x214,%eax,%eax
403463:	8d 8d cc fc ff ff    	lea    -0x334(%ebp),%ecx
403469:	ba 00 01 00 00       	mov    $0x100,%edx
40346e:	03 05 b4 16 41 00    	add    0x4116b4,%eax
403474:	50                   	push   %eax
403475:	89 85 c4 fc ff ff    	mov    %eax,-0x33c(%ebp)
40347b:	e8 df 05 00 00       	call   0x403a5f
403480:	85 c0                	test   %eax,%eax
403482:	0f 88 2c 01 00 00    	js     0x4035b4
403488:	8b 4e 08             	mov    0x8(%esi),%ecx
40348b:	e8 ce 8d 00 00       	call   0x40c25e
403490:	89 85 bc fc ff ff    	mov    %eax,-0x344(%ebp)
403496:	ff 15 a4 31 43 00    	call   *0x4331a4
40349c:	0f bf c8             	movswl %ax,%ecx
40349f:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
4034a5:	51                   	push   %ecx
4034a6:	50                   	push   %eax
4034a7:	8d 85 cc fe ff ff    	lea    -0x134(%ebp),%eax
4034ad:	6a 39                	push   $0x39
4034af:	50                   	push   %eax
4034b0:	e8 f3 04 00 00       	call   0x4039a8
4034b5:	83 c4 10             	add    $0x10,%esp
4034b8:	85 c0                	test   %eax,%eax
4034ba:	0f 88 f4 00 00 00    	js     0x4035b4
4034c0:	53                   	push   %ebx
4034c1:	ff 15 a8 31 43 00    	call   *0x4331a8
4034c7:	8b f8                	mov    %eax,%edi
4034c9:	8d 85 cc fe ff ff    	lea    -0x134(%ebp),%eax
4034cf:	50                   	push   %eax
4034d0:	c1 e7 05             	shl    $0x5,%edi
4034d3:	ff 15 a8 31 43 00    	call   *0x4331a8
4034d9:	03 f8                	add    %eax,%edi
4034db:	8d 85 cc fc ff ff    	lea    -0x334(%ebp),%eax
4034e1:	50                   	push   %eax
4034e2:	ff 15 a8 31 43 00    	call   *0x4331a8
4034e8:	03 f8                	add    %eax,%edi
4034ea:	8d 45 c8             	lea    -0x38(%ebp),%eax
4034ed:	50                   	push   %eax
4034ee:	ff 15 a8 31 43 00    	call   *0x4331a8
4034f4:	83 c0 12             	add    $0x12,%eax
4034f7:	03 f8                	add    %eax,%edi
4034f9:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4034fc:	50                   	push   %eax
4034fd:	33 c0                	xor    %eax,%eax
4034ff:	50                   	push   %eax
403500:	ff 15 a0 31 43 00    	call   *0x4331a0
403506:	89 85 c0 fc ff ff    	mov    %eax,-0x340(%ebp)
40350c:	85 c0                	test   %eax,%eax
40350e:	0f 84 9b 00 00 00    	je     0x4035af
403514:	50                   	push   %eax
403515:	ff 15 ac 31 43 00    	call   *0x4331ac
40351b:	8b d8                	mov    %eax,%ebx
40351d:	8b d7                	mov    %edi,%edx
40351f:	8d 85 cc fe ff ff    	lea    -0x134(%ebp),%eax
403525:	8b cb                	mov    %ebx,%ecx
403527:	50                   	push   %eax
403528:	e8 32 05 00 00       	call   0x403a5f
40352d:	85 c0                	test   %eax,%eax
40352f:	78 6a                	js     0x40359b
403531:	8b 8d bc fc ff ff    	mov    -0x344(%ebp),%ecx
403537:	83 f9 02             	cmp    $0x2,%ecx
40353a:	75 07                	jne    0x403543
40353c:	68 00 13 40 00       	push   $0x401300
403541:	eb 4b                	jmp    0x40358e
403543:	8b 85 c4 fc ff ff    	mov    -0x33c(%ebp),%eax
403549:	0f b6 80 08 02 00 00 	movzbl 0x208(%eax),%eax
403550:	25 f0 00 00 00       	and    $0xf0,%eax
403555:	83 f8 10             	cmp    $0x10,%eax
403558:	0f 84 83 00 00 00    	je     0x4035e1
40355e:	83 f8 20             	cmp    $0x20,%eax
403561:	74 77                	je     0x4035da
403563:	83 f8 30             	cmp    $0x30,%eax
403566:	74 6b                	je     0x4035d3
403568:	83 f8 40             	cmp    $0x40,%eax
40356b:	74 5f                	je     0x4035cc
40356d:	83 f8 50             	cmp    $0x50,%eax
403570:	74 53                	je     0x4035c5
403572:	51                   	push   %ecx
403573:	68 90 13 40 00       	push   $0x401390
403578:	8d 45 8c             	lea    -0x74(%ebp),%eax
40357b:	6a 1e                	push   $0x1e
40357d:	50                   	push   %eax
40357e:	e8 25 04 00 00       	call   0x4039a8
403583:	83 c4 10             	add    $0x10,%esp
403586:	85 c0                	test   %eax,%eax
403588:	78 11                	js     0x40359b
40358a:	8d 45 8c             	lea    -0x74(%ebp),%eax
40358d:	50                   	push   %eax
40358e:	8b d7                	mov    %edi,%edx
403590:	8b cb                	mov    %ebx,%ecx
403592:	e8 a3 03 00 00       	call   0x40393a
403597:	85 c0                	test   %eax,%eax
403599:	79 4d                	jns    0x4035e8
40359b:	8b b5 c0 fc ff ff    	mov    -0x340(%ebp),%esi
4035a1:	56                   	push   %esi
4035a2:	ff 15 b4 31 43 00    	call   *0x4331b4
4035a8:	56                   	push   %esi
4035a9:	ff 15 9c 31 43 00    	call   *0x43319c
4035af:	b8 05 40 00 80       	mov    $0x80004005,%eax
4035b4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4035b7:	5f                   	pop    %edi
4035b8:	5e                   	pop    %esi
4035b9:	33 cd                	xor    %ebp,%ecx
4035bb:	5b                   	pop    %ebx
4035bc:	e8 6f ce 00 00       	call   0x410430
4035c1:	c9                   	leave
4035c2:	c2 04 00             	ret    $0x4
4035c5:	68 20 13 40 00       	push   $0x401320
4035ca:	eb c2                	jmp    0x40358e
4035cc:	68 60 13 40 00       	push   $0x401360
4035d1:	eb bb                	jmp    0x40358e
4035d3:	68 30 13 40 00       	push   $0x401330
4035d8:	eb b4                	jmp    0x40358e
4035da:	68 80 13 40 00       	push   $0x401380
4035df:	eb ad                	jmp    0x40358e
4035e1:	68 50 13 40 00       	push   $0x401350
4035e6:	eb a6                	jmp    0x40358e
4035e8:	8d 85 cc fc ff ff    	lea    -0x334(%ebp),%eax
4035ee:	8b d7                	mov    %edi,%edx
4035f0:	50                   	push   %eax
4035f1:	8b cb                	mov    %ebx,%ecx
4035f3:	e8 42 03 00 00       	call   0x40393a
4035f8:	85 c0                	test   %eax,%eax
4035fa:	78 9f                	js     0x40359b
4035fc:	8d 45 c8             	lea    -0x38(%ebp),%eax
4035ff:	8b d7                	mov    %edi,%edx
403601:	50                   	push   %eax
403602:	8b cb                	mov    %ebx,%ecx
403604:	e8 31 03 00 00       	call   0x40393a
403609:	85 c0                	test   %eax,%eax
40360b:	78 8e                	js     0x40359b
40360d:	53                   	push   %ebx
40360e:	ff 15 a8 31 43 00    	call   *0x4331a8
403614:	8b 8d c8 fc ff ff    	mov    -0x338(%ebp),%ecx
40361a:	2b f8                	sub    %eax,%edi
40361c:	33 d2                	xor    %edx,%edx
40361e:	89 95 bc fc ff ff    	mov    %edx,-0x344(%ebp)
403624:	8d 34 43             	lea    (%ebx,%eax,2),%esi
403627:	8d 85 ac fc ff ff    	lea    -0x354(%ebp),%eax
40362d:	89 85 c4 fc ff ff    	mov    %eax,-0x33c(%ebp)
403633:	e9 3a 01 00 00       	jmp    0x403772
403638:	50                   	push   %eax
403639:	8b 85 b0 fc ff ff    	mov    -0x350(%ebp),%eax
40363f:	8b d1                	mov    %ecx,%edx
403641:	8b 48 08             	mov    0x8(%eax),%ecx
403644:	e8 06 8d 00 00       	call   0x40c34f
403649:	89 85 b4 fc ff ff    	mov    %eax,-0x34c(%ebp)
40364f:	3b 85 bc fc ff ff    	cmp    -0x344(%ebp),%eax
403655:	74 3e                	je     0x403695
403657:	0f bf c8             	movswl %ax,%ecx
40365a:	51                   	push   %ecx
40365b:	68 b4 13 40 00       	push   $0x4013b4
403660:	57                   	push   %edi
403661:	56                   	push   %esi
403662:	89 85 bc fc ff ff    	mov    %eax,-0x344(%ebp)
403668:	e8 3b 03 00 00       	call   0x4039a8
40366d:	83 c4 10             	add    $0x10,%esp
403670:	85 c0                	test   %eax,%eax
403672:	0f 88 23 ff ff ff    	js     0x40359b
403678:	8b ce                	mov    %esi,%ecx
40367a:	8d 51 02             	lea    0x2(%ecx),%edx
40367d:	66 8b 01             	mov    (%ecx),%ax
403680:	83 c1 02             	add    $0x2,%ecx
403683:	66 3b 85 b8 fc ff ff 	cmp    -0x348(%ebp),%ax
40368a:	75 f1                	jne    0x40367d
40368c:	2b ca                	sub    %edx,%ecx
40368e:	d1 f9                	sar    $1,%ecx
403690:	2b f9                	sub    %ecx,%edi
403692:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
403695:	8b 85 c8 fc ff ff    	mov    -0x338(%ebp),%eax
40369b:	0f bf 00             	movswl (%eax),%eax
40369e:	50                   	push   %eax
40369f:	68 c0 13 40 00       	push   $0x4013c0
4036a4:	57                   	push   %edi
4036a5:	56                   	push   %esi
4036a6:	e8 fd 02 00 00       	call   0x4039a8
4036ab:	83 c4 10             	add    $0x10,%esp
4036ae:	85 c0                	test   %eax,%eax
4036b0:	0f 88 e5 fe ff ff    	js     0x40359b
4036b6:	8b ce                	mov    %esi,%ecx
4036b8:	8d 51 02             	lea    0x2(%ecx),%edx
4036bb:	66 8b 01             	mov    (%ecx),%ax
4036be:	83 c1 02             	add    $0x2,%ecx
4036c1:	66 3b 85 b8 fc ff ff 	cmp    -0x348(%ebp),%ax
4036c8:	75 f1                	jne    0x4036bb
4036ca:	8b 85 b4 fc ff ff    	mov    -0x34c(%ebp),%eax
4036d0:	2b ca                	sub    %edx,%ecx
4036d2:	d1 f9                	sar    $1,%ecx
4036d4:	2b f9                	sub    %ecx,%edi
4036d6:	6a 02                	push   $0x2
4036d8:	5a                   	pop    %edx
4036d9:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
4036dc:	8b 8d c8 fc ff ff    	mov    -0x338(%ebp),%ecx
4036e2:	03 ca                	add    %edx,%ecx
4036e4:	89 8d c8 fc ff ff    	mov    %ecx,-0x338(%ebp)
4036ea:	85 c0                	test   %eax,%eax
4036ec:	74 7c                	je     0x40376a
4036ee:	48                   	dec    %eax
4036ef:	89 85 b4 fc ff ff    	mov    %eax,-0x34c(%ebp)
4036f5:	3b fa                	cmp    %edx,%edi
4036f7:	0f 82 9e fe ff ff    	jb     0x40359b
4036fd:	8b 8d c4 fc ff ff    	mov    -0x33c(%ebp),%ecx
403703:	2b fa                	sub    %edx,%edi
403705:	6a 5c                	push   $0x5c
403707:	58                   	pop    %eax
403708:	66 89 06             	mov    %ax,(%esi)
40370b:	03 f2                	add    %edx,%esi
40370d:	6a 27                	push   $0x27
40370f:	58                   	pop    %eax
403710:	66 89 06             	mov    %ax,(%esi)
403713:	03 f2                	add    %edx,%esi
403715:	0f be 01             	movsbl (%ecx),%eax
403718:	41                   	inc    %ecx
403719:	50                   	push   %eax
40371a:	68 cc 13 40 00       	push   $0x4013cc
40371f:	8d 45 c8             	lea    -0x38(%ebp),%eax
403722:	89 8d c4 fc ff ff    	mov    %ecx,-0x33c(%ebp)
403728:	6a 19                	push   $0x19
40372a:	50                   	push   %eax
40372b:	e8 78 02 00 00       	call   0x4039a8
403730:	83 c4 10             	add    $0x10,%esp
403733:	85 c0                	test   %eax,%eax
403735:	0f 88 60 fe ff ff    	js     0x40359b
40373b:	6a 02                	push   $0x2
40373d:	5a                   	pop    %edx
40373e:	3b fa                	cmp    %edx,%edi
403740:	0f 82 55 fe ff ff    	jb     0x40359b
403746:	66 8b 45 c8          	mov    -0x38(%ebp),%ax
40374a:	2b fa                	sub    %edx,%edi
40374c:	66 89 06             	mov    %ax,(%esi)
40374f:	03 f2                	add    %edx,%esi
403751:	66 8b 45 ca          	mov    -0x36(%ebp),%ax
403755:	66 89 06             	mov    %ax,(%esi)
403758:	03 f2                	add    %edx,%esi
40375a:	8b 85 b4 fc ff ff    	mov    -0x34c(%ebp),%eax
403760:	85 c0                	test   %eax,%eax
403762:	75 8a                	jne    0x4036ee
403764:	8b 8d c8 fc ff ff    	mov    -0x338(%ebp),%ecx
40376a:	8b 85 c4 fc ff ff    	mov    -0x33c(%ebp),%eax
403770:	33 d2                	xor    %edx,%edx
403772:	66 39 11             	cmp    %dx,(%ecx)
403775:	0f 85 bd fe ff ff    	jne    0x403638
40377b:	83 ff 02             	cmp    $0x2,%edi
40377e:	72 0f                	jb     0x40378f
403780:	6a 7d                	push   $0x7d
403782:	58                   	pop    %eax
403783:	66 89 06             	mov    %ax,(%esi)
403786:	33 c0                	xor    %eax,%eax
403788:	66 89 46 02          	mov    %ax,0x2(%esi)
40378c:	83 c6 04             	add    $0x4,%esi
40378f:	52                   	push   %edx
403790:	52                   	push   %edx
403791:	52                   	push   %edx
403792:	52                   	push   %edx
403793:	2b f3                	sub    %ebx,%esi
403795:	d1 fe                	sar    $1,%esi
403797:	56                   	push   %esi
403798:	53                   	push   %ebx
403799:	52                   	push   %edx
40379a:	52                   	push   %edx
40379b:	ff 15 b0 31 43 00    	call   *0x4331b0
4037a1:	89 85 b8 fc ff ff    	mov    %eax,-0x348(%ebp)
4037a7:	85 c0                	test   %eax,%eax
4037a9:	74 4d                	je     0x4037f8
4037ab:	50                   	push   %eax
4037ac:	68 02 20 00 00       	push   $0x2002
4037b1:	ff 15 a0 31 43 00    	call   *0x4331a0
4037b7:	8b f8                	mov    %eax,%edi
4037b9:	85 ff                	test   %edi,%edi
4037bb:	74 3b                	je     0x4037f8
4037bd:	57                   	push   %edi
4037be:	ff 15 ac 31 43 00    	call   *0x4331ac
4037c4:	33 c9                	xor    %ecx,%ecx
4037c6:	51                   	push   %ecx
4037c7:	51                   	push   %ecx
4037c8:	ff b5 b8 fc ff ff    	push   -0x348(%ebp)
4037ce:	50                   	push   %eax
4037cf:	56                   	push   %esi
4037d0:	53                   	push   %ebx
4037d1:	51                   	push   %ecx
4037d2:	51                   	push   %ecx
4037d3:	ff 15 b0 31 43 00    	call   *0x4331b0
4037d9:	57                   	push   %edi
4037da:	ff 15 b4 31 43 00    	call   *0x4331b4
4037e0:	8b b5 c0 fc ff ff    	mov    -0x340(%ebp),%esi
4037e6:	56                   	push   %esi
4037e7:	ff 15 b4 31 43 00    	call   *0x4331b4
4037ed:	56                   	push   %esi
4037ee:	ff 15 9c 31 43 00    	call   *0x43319c
4037f4:	8b f7                	mov    %edi,%esi
4037f6:	eb 06                	jmp    0x4037fe
4037f8:	8b b5 c0 fc ff ff    	mov    -0x340(%ebp),%esi
4037fe:	8b 85 a8 fc ff ff    	mov    -0x358(%ebp),%eax
403804:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40380a:	89 70 04             	mov    %esi,0x4(%eax)
40380d:	33 c0                	xor    %eax,%eax
40380f:	e9 a0 fd ff ff       	jmp    0x4035b4
403814:	8b ff                	mov    %edi,%edi
403816:	55                   	push   %ebp
403817:	8b ec                	mov    %esp,%ebp
403819:	51                   	push   %ecx
40381a:	51                   	push   %ecx
40381b:	53                   	push   %ebx
40381c:	56                   	push   %esi
40381d:	8d 71 0c             	lea    0xc(%ecx),%esi
403820:	33 db                	xor    %ebx,%ebx
403822:	8b ce                	mov    %esi,%ecx
403824:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403827:	57                   	push   %edi
403828:	8d 51 02             	lea    0x2(%ecx),%edx
40382b:	66 8b 01             	mov    (%ecx),%ax
40382e:	83 c1 02             	add    $0x2,%ecx
403831:	66 3b c3             	cmp    %bx,%ax
403834:	75 f5                	jne    0x40382b