40336b:	59                   	pop    %ecx
40336c:	83 3e 00             	cmpl   $0x0,(%esi)
40336f:	74 21                	je     0x403392
403371:	83 3e ff             	cmpl   $0xffffffff,(%esi)
403374:	74 ee                	je     0x403364
403376:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
40337c:	8b 0d 20 3e 42 00    	mov    0x423e20,%ecx
403382:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
403385:	a1 04 30 42 00       	mov    0x423004,%eax
40338a:	89 81 04 00 00 00    	mov    %eax,0x4(%ecx)
403390:	eb 03                	jmp    0x403395
403392:	83 0e ff             	orl    $0xffffffff,(%esi)
403395:	5e                   	pop    %esi
403396:	5d                   	pop    %ebp
403397:	e9 4d 00 00 00       	jmp    0x4033e9
40339c:	68 cc 3a 42 00       	push   $0x423acc
4033a1:	ff 15 2c b0 41 00    	call   *0x41b02c
4033a7:	c3                   	ret
4033a8:	a1 e8 3a 42 00       	mov    0x423ae8,%eax
4033ad:	85 c0                	test   %eax,%eax
4033af:	75 24                	jne    0x4033d5
4033b1:	56                   	push   %esi
4033b2:	8b 35 0c 30 42 00    	mov    0x42300c,%esi
4033b8:	8b ce                	mov    %esi,%ecx
4033ba:	33 35 f0 3a 42 00    	xor    0x423af0,%esi
4033c0:	83 e1 1f             	and    $0x1f,%ecx
4033c3:	d3 ce                	ror    %cl,%esi
4033c5:	68 e4 3a 42 00       	push   $0x423ae4
4033ca:	8b ce                	mov    %esi,%ecx
4033cc:	e8 74 07 00 00       	call   0x403b45
4033d1:	ff d6                	call   *%esi
4033d3:	5e                   	pop    %esi
4033d4:	c3                   	ret
4033d5:	50                   	push   %eax
4033d6:	ff 15 a4 b0 41 00    	call   *0x41b0a4
4033dc:	ff 35 e8 3a 42 00    	push   0x423ae8
4033e2:	ff 15 98 b0 41 00    	call   *0x41b098
4033e8:	c3                   	ret
4033e9:	68 cc 3a 42 00       	push   $0x423acc
4033ee:	ff 15 34 b0 41 00    	call   *0x41b034
4033f4:	c3                   	ret
4033f5:	55                   	push   %ebp
4033f6:	8b ec                	mov    %esp,%ebp
4033f8:	83 3d e8 3a 42 00 00 	cmpl   $0x0,0x423ae8
4033ff:	56                   	push   %esi
403400:	75 31                	jne    0x403433
403402:	8b 35 0c 30 42 00    	mov    0x42300c,%esi
403408:	8b ce                	mov    %esi,%ecx
40340a:	ff 75 08             	push   0x8(%ebp)
40340d:	33 35 ec 3a 42 00    	xor    0x423aec,%esi
403413:	83 e1 1f             	and    $0x1f,%ecx
403416:	d3 ce                	ror    %cl,%esi
403418:	68 cc 3a 42 00       	push   $0x423acc
40341d:	68 e4 3a 42 00       	push   $0x423ae4
403422:	8b ce                	mov    %esi,%ecx
403424:	e8 1c 07 00 00       	call   0x403b45
403429:	ff d6                	call   *%esi
40342b:	f7 d8                	neg    %eax
40342d:	1b c0                	sbb    %eax,%eax
40342f:	f7 d8                	neg    %eax
403431:	eb 24                	jmp    0x403457
403433:	e8 b1 ff ff ff       	call   0x4033e9
403438:	6a 00                	push   $0x0
40343a:	ff 75 08             	push   0x8(%ebp)
40343d:	ff 35 e8 3a 42 00    	push   0x423ae8
403443:	ff 15 a8 b0 41 00    	call   *0x41b0a8
403449:	8b f0                	mov    %eax,%esi
40344b:	e8 4c ff ff ff       	call   0x40339c
403450:	33 c0                	xor    %eax,%eax
403452:	85 f6                	test   %esi,%esi
403454:	0f 94 c0             	sete   %al
403457:	5e                   	pop    %esi
403458:	5d                   	pop    %ebp
403459:	c3                   	ret
40345a:	55                   	push   %ebp
40345b:	8b ec                	mov    %esp,%ebp
40345d:	eb 1f                	jmp    0x40347e
40345f:	ff 75 08             	push   0x8(%ebp)
403462:	e8 b3 5d 00 00       	call   0x40921a
403467:	59                   	pop    %ecx
403468:	85 c0                	test   %eax,%eax
40346a:	75 12                	jne    0x40347e
40346c:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
403470:	75 07                	jne    0x403479
403472:	e8 84 07 00 00       	call   0x403bfb
403477:	eb 05                	jmp    0x40347e
403479:	e8 60 07 00 00       	call   0x403bde
40347e:	ff 75 08             	push   0x8(%ebp)
403481:	e8 2a 5e 00 00       	call   0x4092b0
403486:	59                   	pop    %ecx
403487:	85 c0                	test   %eax,%eax
403489:	74 d4                	je     0x40345f
40348b:	5d                   	pop    %ebp
40348c:	c3                   	ret
40348d:	56                   	push   %esi
40348e:	6a 01                	push   $0x1
403490:	e8 2c 5e 00 00       	call   0x4092c1
403495:	e8 1d 08 00 00       	call   0x403cb7
40349a:	50                   	push   %eax
40349b:	e8 a7 5f 00 00       	call   0x409447
4034a0:	e8 c9 61 00 00       	call   0x40966e
4034a5:	8b f0                	mov    %eax,%esi
4034a7:	e8 08 08 00 00       	call   0x403cb4
4034ac:	6a 01                	push   $0x1
4034ae:	89 06                	mov    %eax,(%esi)
4034b0:	e8 8c fb ff ff       	call   0x403041
4034b5:	83 c4 0c             	add    $0xc,%esp
4034b8:	5e                   	pop    %esi
4034b9:	84 c0                	test   %al,%al
4034bb:	74 6c                	je     0x403529
4034bd:	db e2                	fnclex
4034bf:	e8 62 08 00 00       	call   0x403d26
4034c4:	68 51 3d 40 00       	push   $0x403d51
4034c9:	e8 14 fd ff ff       	call   0x4031e2
4034ce:	e8 ae 04 00 00       	call   0x403981
4034d3:	50                   	push   %eax
4034d4:	e8 56 53 00 00       	call   0x40882f
4034d9:	59                   	pop    %ecx
4034da:	59                   	pop    %ecx
4034db:	85 c0                	test   %eax,%eax
4034dd:	75 4a                	jne    0x403529
4034df:	e8 d9 07 00 00       	call   0x403cbd
4034e4:	e8 25 08 00 00       	call   0x403d0e
4034e9:	85 c0                	test   %eax,%eax
4034eb:	74 0b                	je     0x4034f8
4034ed:	68 b4 3c 40 00       	push   $0x403cb4
4034f2:	e8 6e 5e 00 00       	call   0x409365
4034f7:	59                   	pop    %ecx
4034f8:	e8 ed 07 00 00       	call   0x403cea
4034fd:	e8 e8 07 00 00       	call   0x403cea
403502:	e8 c2 07 00 00       	call   0x403cc9
403507:	e8 a8 07 00 00       	call   0x403cb4
40350c:	50                   	push   %eax
40350d:	e8 c5 60 00 00       	call   0x4095d7
403512:	59                   	pop    %ecx
403513:	e8 02 5c 00 00       	call   0x40911a
403518:	84 c0                	test   %al,%al
40351a:	74 05                	je     0x403521
40351c:	e8 e1 57 00 00       	call   0x408d02
403521:	e8 8e 07 00 00       	call   0x403cb4
403526:	33 c0                	xor    %eax,%eax
403528:	c3                   	ret
403529:	6a 07                	push   $0x7
40352b:	e8 61 04 00 00       	call   0x403991
403530:	cc                   	int3
403531:	e8 bb 07 00 00       	call   0x403cf1
403536:	33 c0                	xor    %eax,%eax
403538:	c3                   	ret
403539:	e8 b2 05 00 00       	call   0x403af0
40353e:	e8 71 07 00 00       	call   0x403cb4
403543:	50                   	push   %eax
403544:	e8 f6 60 00 00       	call   0x40963f
403549:	59                   	pop    %ecx
40354a:	c3                   	ret
40354b:	6a 14                	push   $0x14
40354d:	68 00 1b 42 00       	push   $0x421b00
403552:	e8 f9 05 00 00       	call   0x403b50
403557:	6a 01                	push   $0x1
403559:	e8 aa fa ff ff       	call   0x403008
40355e:	59                   	pop    %ecx
40355f:	84 c0                	test   %al,%al
403561:	75 07                	jne    0x40356a
403563:	6a 07                	push   $0x7
403565:	e8 27 04 00 00       	call   0x403991
40356a:	32 db                	xor    %bl,%bl
40356c:	88 5d e7             	mov    %bl,-0x19(%ebp)
40356f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403573:	e8 5b fa ff ff       	call   0x402fd3
403578:	88 45 dc             	mov    %al,-0x24(%ebp)
40357b:	a1 a8 3a 42 00       	mov    0x423aa8,%eax
403580:	33 c9                	xor    %ecx,%ecx
403582:	41                   	inc    %ecx
403583:	3b c1                	cmp    %ecx,%eax
403585:	74 dc                	je     0x403563
403587:	85 c0                	test   %eax,%eax
403589:	75 49                	jne    0x4035d4
40358b:	89 0d a8 3a 42 00    	mov    %ecx,0x423aa8
403591:	68 ec b1 41 00       	push   $0x41b1ec
403596:	68 cc b1 41 00       	push   $0x41b1cc
40359b:	e8 36 5e 00 00       	call   0x4093d6
4035a0:	59                   	pop    %ecx
4035a1:	59                   	pop    %ecx
4035a2:	85 c0                	test   %eax,%eax
4035a4:	74 11                	je     0x4035b7
4035a6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4035ad:	b8 ff 00 00 00       	mov    $0xff,%eax
4035b2:	e9 fd 00 00 00       	jmp    0x4036b4
4035b7:	68 c8 b1 41 00       	push   $0x41b1c8
4035bc:	68 ac b1 41 00       	push   $0x41b1ac
4035c1:	e8 b4 5d 00 00       	call   0x40937a
4035c6:	59                   	pop    %ecx
4035c7:	59                   	pop    %ecx
4035c8:	c7 05 a8 3a 42 00 02 	movl   $0x2,0x423aa8
4035cf:	00 00 00
4035d2:	eb 05                	jmp    0x4035d9
4035d4:	8a d9                	mov    %cl,%bl
4035d6:	88 5d e7             	mov    %bl,-0x19(%ebp)
4035d9:	ff 75 dc             	push   -0x24(%ebp)
4035dc:	e8 81 fb ff ff       	call   0x403162
4035e1:	59                   	pop    %ecx
4035e2:	e8 33 07 00 00       	call   0x403d1a
4035e7:	8b f0                	mov    %eax,%esi
4035e9:	33 ff                	xor    %edi,%edi
4035eb:	39 3e                	cmp    %edi,(%esi)
4035ed:	74 1a                	je     0x403609
4035ef:	56                   	push   %esi
4035f0:	e8 e3 fa ff ff       	call   0x4030d8
4035f5:	59                   	pop    %ecx
4035f6:	84 c0                	test   %al,%al
4035f8:	74 0f                	je     0x403609
4035fa:	57                   	push   %edi
4035fb:	6a 02                	push   $0x2
4035fd:	57                   	push   %edi
4035fe:	8b 36                	mov    (%esi),%esi
403600:	8b ce                	mov    %esi,%ecx
403602:	e8 3e 05 00 00       	call   0x403b45
403607:	ff d6                	call   *%esi
403609:	e8 12 07 00 00       	call   0x403d20
40360e:	8b f0                	mov    %eax,%esi
403610:	39 3e                	cmp    %edi,(%esi)
403612:	74 13                	je     0x403627
403614:	56                   	push   %esi
403615:	e8 be fa ff ff       	call   0x4030d8
40361a:	59                   	pop    %ecx
40361b:	84 c0                	test   %al,%al
40361d:	74 08                	je     0x403627
40361f:	ff 36                	push   (%esi)
403621:	e8 c1 4e 00 00       	call   0x4084e7
403626:	59                   	pop    %ecx
403627:	e8 48 5f 00 00       	call   0x409574
40362c:	8b f8                	mov    %eax,%edi
40362e:	e8 3b 5f 00 00       	call   0x40956e
403633:	8b f0                	mov    %eax,%esi
403635:	e8 b4 56 00 00       	call   0x408cee
40363a:	50                   	push   %eax
40363b:	ff 37                	push   (%edi)
40363d:	ff 36                	push   (%esi)
40363f:	e8 ec f2 ff ff       	call   0x402930
403644:	83 c4 0c             	add    $0xc,%esp
403647:	8b f0                	mov    %eax,%esi
403649:	e8 5e 04 00 00       	call   0x403aac
40364e:	84 c0                	test   %al,%al
403650:	75 06                	jne    0x403658
403652:	56                   	push   %esi
403653:	e8 c7 4e 00 00       	call   0x40851f
403658:	84 db                	test   %bl,%bl
40365a:	75 05                	jne    0x403661
40365c:	e8 61 4e 00 00       	call   0x4084c2
403661:	6a 00                	push   $0x0
403663:	6a 01                	push   $0x1
403665:	e8 15 fb ff ff       	call   0x40317f
40366a:	59                   	pop    %ecx
40366b:	59                   	pop    %ecx
40366c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403673:	8b c6                	mov    %esi,%eax
403675:	eb 3d                	jmp    0x4036b4
403677:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40367a:	8b 01                	mov    (%ecx),%eax
40367c:	8b 00                	mov    (%eax),%eax
40367e:	89 45 e0             	mov    %eax,-0x20(%ebp)
403681:	51                   	push   %ecx
403682:	50                   	push   %eax
403683:	e8 d2 4a 00 00       	call   0x40815a
403688:	59                   	pop    %ecx
403689:	59                   	pop    %ecx
40368a:	c3                   	ret
40368b:	8b 65 e8             	mov    -0x18(%ebp),%esp
40368e:	e8 19 04 00 00       	call   0x403aac
403693:	84 c0                	test   %al,%al
403695:	75 08                	jne    0x40369f
403697:	ff 75 e0             	push   -0x20(%ebp)
40369a:	e8 32 4e 00 00       	call   0x4084d1
40369f:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
4036a3:	75 05                	jne    0x4036aa
4036a5:	e8 09 4e 00 00       	call   0x4084b3
4036aa:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4036b1:	8b 45 e0             	mov    -0x20(%ebp),%eax
4036b4:	e8 dd 04 00 00       	call   0x403b96
4036b9:	c3                   	ret
4036ba:	e8 59 05 00 00       	call   0x403c18
4036bf:	e9 87 fe ff ff       	jmp    0x40354b
4036c4:	55                   	push   %ebp
4036c5:	8b ec                	mov    %esp,%ebp
4036c7:	6a 00                	push   $0x0
4036c9:	ff 15 b0 b0 41 00    	call   *0x41b0b0
4036cf:	ff 75 08             	push   0x8(%ebp)
4036d2:	ff 15 ac b0 41 00    	call   *0x41b0ac
4036d8:	68 09 04 00 c0       	push   $0xc0000409
4036dd:	ff 15 b4 b0 41 00    	call   *0x41b0b4
4036e3:	50                   	push   %eax
4036e4:	ff 15 b8 b0 41 00    	call   *0x41b0b8
4036ea:	5d                   	pop    %ebp
4036eb:	c3                   	ret
4036ec:	55                   	push   %ebp
4036ed:	8b ec                	mov    %esp,%ebp
4036ef:	81 ec 24 03 00 00    	sub    $0x324,%esp
4036f5:	6a 17                	push   $0x17
4036f7:	e8 98 07 00 00       	call   0x403e94
4036fc:	85 c0                	test   %eax,%eax
4036fe:	74 05                	je     0x403705
403700:	6a 02                	push   $0x2
403702:	59                   	pop    %ecx
403703:	cd 29                	int    $0x29
403705:	a3 f8 3b 42 00       	mov    %eax,0x423bf8
40370a:	89 0d f4 3b 42 00    	mov    %ecx,0x423bf4
403710:	89 15 f0 3b 42 00    	mov    %edx,0x423bf0
403716:	89 1d ec 3b 42 00    	mov    %ebx,0x423bec
40371c:	89 35 e8 3b 42 00    	mov    %esi,0x423be8
403722:	89 3d e4 3b 42 00    	mov    %edi,0x423be4
403728:	66 8c 15 10 3c 42 00 	data16 mov %ss,0x423c10
40372f:	66 8c 0d 04 3c 42 00 	data16 mov %cs,0x423c04
403736:	66 8c 1d e0 3b 42 00 	data16 mov %ds,0x423be0
40373d:	66 8c 05 dc 3b 42 00 	data16 mov %es,0x423bdc
403744:	66 8c 25 d8 3b 42 00 	data16 mov %fs,0x423bd8
40374b:	66 8c 2d d4 3b 42 00 	data16 mov %gs,0x423bd4
403752:	9c                   	pushf
403753:	8f 05 08 3c 42 00    	pop    0x423c08
403759:	8b 45 00             	mov    0x0(%ebp),%eax
40375c:	a3 fc 3b 42 00       	mov    %eax,0x423bfc
403761:	8b 45 04             	mov    0x4(%ebp),%eax
403764:	a3 00 3c 42 00       	mov    %eax,0x423c00
403769:	8d 45 08             	lea    0x8(%ebp),%eax
40376c:	a3 0c 3c 42 00       	mov    %eax,0x423c0c
403771:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
403777:	c7 05 48 3b 42 00 01 	movl   $0x10001,0x423b48
40377e:	00 01 00
403781:	a1 00 3c 42 00       	mov    0x423c00,%eax
403786:	a3 04 3b 42 00       	mov    %eax,0x423b04
40378b:	c7 05 f8 3a 42 00 09 	movl   $0xc0000409,0x423af8
403792:	04 00 c0
403795:	c7 05 fc 3a 42 00 01 	movl   $0x1,0x423afc
40379c:	00 00 00
40379f:	c7 05 08 3b 42 00 01 	movl   $0x1,0x423b08
4037a6:	00 00 00
4037a9:	6a 04                	push   $0x4
4037ab:	58                   	pop    %eax
4037ac:	6b c0 00             	imul   $0x0,%eax,%eax
4037af:	c7 80 0c 3b 42 00 02 	movl   $0x2,0x423b0c(%eax)
4037b6:	00 00 00
4037b9:	6a 04                	push   $0x4
4037bb:	58                   	pop    %eax
4037bc:	6b c0 00             	imul   $0x0,%eax,%eax
4037bf:	8b 0d 0c 30 42 00    	mov    0x42300c,%ecx
4037c5:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4037c9:	6a 04                	push   $0x4
4037cb:	58                   	pop    %eax
4037cc:	c1 e0 00             	shl    $0x0,%eax
4037cf:	8b 0d 08 30 42 00    	mov    0x423008,%ecx
4037d5:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4037d9:	68 c0 b2 41 00       	push   $0x41b2c0