4023e3:	33 c0                	xor    %eax,%eax
4023e5:	50                   	push   %eax
4023e6:	50                   	push   %eax
4023e7:	50                   	push   %eax
4023e8:	6a 02                	push   $0x2
4023ea:	ff 33                	push   (%ebx)
4023ec:	ff 15 38 40 40 00    	call   *0x404038
4023f2:	89 07                	mov    %eax,(%edi)
4023f4:	85 c0                	test   %eax,%eax
4023f6:	75 15                	jne    0x40240d
4023f8:	ff 15 3c 40 40 00    	call   *0x40403c
4023fe:	8b f0                	mov    %eax,%esi
402400:	85 f6                	test   %esi,%esi
402402:	7e 0b                	jle    0x40240f
402404:	0f b7 f6             	movzwl %si,%esi
402407:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40240d:	85 f6                	test   %esi,%esi
40240f:	79 6c                	jns    0x40247d
402411:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
402417:	85 c0                	test   %eax,%eax
402419:	74 0d                	je     0x402428
40241b:	83 38 00             	cmpl   $0x0,(%eax)
40241e:	74 08                	je     0x402428
402420:	ff 30                	push   (%eax)
402422:	ff 15 28 40 40 00    	call   *0x404028
402428:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
40242e:	85 c0                	test   %eax,%eax
402430:	74 0d                	je     0x40243f
402432:	83 38 00             	cmpl   $0x0,(%eax)
402435:	74 08                	je     0x40243f
402437:	ff 30                	push   (%eax)
402439:	ff 15 28 40 40 00    	call   *0x404028
40243f:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
402445:	85 c0                	test   %eax,%eax
402447:	74 0d                	je     0x402456
402449:	83 38 00             	cmpl   $0x0,(%eax)
40244c:	74 08                	je     0x402456
40244e:	ff 30                	push   (%eax)
402450:	ff 15 28 40 40 00    	call   *0x404028
402456:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
40245c:	85 c0                	test   %eax,%eax
40245e:	74 0c                	je     0x40246c
402460:	83 38 00             	cmpl   $0x0,(%eax)
402463:	74 07                	je     0x40246c
402465:	ff 30                	push   (%eax)
402467:	e8 0d 01 00 00       	call   0x402579
40246c:	85 db                	test   %ebx,%ebx
40246e:	74 0d                	je     0x40247d
402470:	83 3b 00             	cmpl   $0x0,(%ebx)
402473:	74 08                	je     0x40247d
402475:	ff 33                	push   (%ebx)
402477:	ff 15 28 40 40 00    	call   *0x404028
40247d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402480:	8b c6                	mov    %esi,%eax
402482:	5f                   	pop    %edi
402483:	5e                   	pop    %esi
402484:	33 cd                	xor    %ebp,%ecx
402486:	5b                   	pop    %ebx
402487:	e8 24 04 00 00       	call   0x4028b0
40248c:	c9                   	leave
40248d:	c2 18 00             	ret    $0x18
402490:	e9 d5 00 00 00       	jmp    0x40256a
402495:	8b ff                	mov    %edi,%edi
402497:	56                   	push   %esi
402498:	57                   	push   %edi
402499:	8b 3d 88 33 40 00    	mov    0x403388,%edi
40249f:	85 ff                	test   %edi,%edi
4024a1:	74 18                	je     0x4024bb
4024a3:	8b f4                	mov    %esp,%esi
4024a5:	51                   	push   %ecx
4024a6:	8b cf                	mov    %edi,%ecx
4024a8:	ff 15 48 41 40 00    	call   *0x404148
4024ae:	ff d7                	call   *%edi
4024b0:	3b f4                	cmp    %esp,%esi
4024b2:	74 07                	je     0x4024bb
4024b4:	b9 04 00 00 00       	mov    $0x4,%ecx
4024b9:	cd 29                	int    $0x29
4024bb:	33 c0                	xor    %eax,%eax
4024bd:	5f                   	pop    %edi
4024be:	40                   	inc    %eax
4024bf:	5e                   	pop    %esi
4024c0:	c3                   	ret
4024c1:	6a 60                	push   $0x60
4024c3:	68 c8 2d 40 00       	push   $0x402dc8
4024c8:	e8 1b 07 00 00       	call   0x402be8
4024cd:	8b f2                	mov    %edx,%esi
4024cf:	8b d9                	mov    %ecx,%ebx
4024d1:	89 5d 90             	mov    %ebx,-0x70(%ebp)
4024d4:	89 75 94             	mov    %esi,-0x6c(%ebp)
4024d7:	33 ff                	xor    %edi,%edi
4024d9:	57                   	push   %edi
4024da:	ff 15 80 40 40 00    	call   *0x404080
4024e0:	a3 88 33 40 00       	mov    %eax,0x403388
4024e5:	85 f6                	test   %esi,%esi
4024e7:	75 06                	jne    0x4024ef
4024e9:	8b 45 04             	mov    0x4(%ebp),%eax
4024ec:	89 45 94             	mov    %eax,-0x6c(%ebp)
4024ef:	89 7d fc             	mov    %edi,-0x4(%ebp)
4024f2:	57                   	push   %edi
4024f3:	53                   	push   %ebx
4024f4:	6a 01                	push   $0x1
4024f6:	68 03 00 00 80       	push   $0x80000003
4024fb:	ff 15 30 40 40 00    	call   *0x404030
402501:	eb 4e                	jmp    0x402551
402503:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402506:	e8 8a ff ff ff       	call   0x402495
40250b:	c3                   	ret
40250c:	8b 65 e8             	mov    -0x18(%ebp),%esp
40250f:	6a 50                	push   $0x50
402511:	33 ff                	xor    %edi,%edi
402513:	57                   	push   %edi
402514:	8d 45 98             	lea    -0x68(%ebp),%eax
402517:	50                   	push   %eax
402518:	e8 a4 08 00 00       	call   0x402dc1
40251d:	83 c4 0c             	add    $0xc,%esp
402520:	8b 45 90             	mov    -0x70(%ebp),%eax
402523:	48                   	dec    %eax
402524:	f7 d8                	neg    %eax
402526:	1b c0                	sbb    %eax,%eax
402528:	25 55 04 00 00       	and    $0x455,%eax
40252d:	05 ad 01 00 c0       	add    $0xc00001ad,%eax
402532:	89 45 98             	mov    %eax,-0x68(%ebp)
402535:	8b 45 94             	mov    -0x6c(%ebp),%eax
402538:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40253b:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
402542:	89 7d a8             	mov    %edi,-0x58(%ebp)
402545:	57                   	push   %edi
402546:	57                   	push   %edi
402547:	8d 45 98             	lea    -0x68(%ebp),%eax
40254a:	50                   	push   %eax
40254b:	ff 15 34 40 40 00    	call   *0x404034
402551:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402558:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40255b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402562:	59                   	pop    %ecx
402563:	5f                   	pop    %edi
402564:	5e                   	pop    %esi
402565:	5b                   	pop    %ebx
402566:	c9                   	leave
402567:	c2 08 00             	ret    $0x8
40256a:	8b ff                	mov    %edi,%edi
40256c:	51                   	push   %ecx
40256d:	51                   	push   %ecx
40256e:	33 c9                	xor    %ecx,%ecx
402570:	33 d2                	xor    %edx,%edx
402572:	41                   	inc    %ecx
402573:	e8 49 ff ff ff       	call   0x4024c1
402578:	cc                   	int3
402579:	ff 25 8c 40 40 00    	jmp    *0x40408c
40257f:	cc                   	int3
402580:	e8 aa 02 00 00       	call   0x40282f
402585:	6a 02                	push   $0x2
402587:	a3 30 30 40 00       	mov    %eax,0x403030
40258c:	e8 07 04 00 00       	call   0x402998
402591:	50                   	push   %eax
402592:	ff 15 00 41 40 00    	call   *0x404100
402598:	83 0d a4 33 40 00 ff 	orl    $0xffffffff,0x4033a4
40259f:	83 0d a8 33 40 00 ff 	orl    $0xffffffff,0x4033a8
4025a6:	59                   	pop    %ecx
4025a7:	59                   	pop    %ecx
4025a8:	ff 15 f0 40 40 00    	call   *0x4040f0
4025ae:	8b 0d 44 30 40 00    	mov    0x403044,%ecx
4025b4:	89 08                	mov    %ecx,(%eax)
4025b6:	ff 15 0c 41 40 00    	call   *0x40410c
4025bc:	8b 0d 38 30 40 00    	mov    0x403038,%ecx
4025c2:	89 08                	mov    %ecx,(%eax)
4025c4:	e8 17 04 00 00       	call   0x4029e0
4025c9:	83 3d 00 30 40 00 00 	cmpl   $0x0,0x403000
4025d0:	75 0c                	jne    0x4025de
4025d2:	68 e0 29 40 00       	push   $0x4029e0
4025d7:	ff 15 ec 40 40 00    	call   *0x4040ec
4025dd:	59                   	pop    %ecx
4025de:	e8 ea 05 00 00       	call   0x402bcd
4025e3:	33 c0                	xor    %eax,%eax
4025e5:	c3                   	ret
4025e6:	cc                   	int3
4025e7:	cc                   	int3
4025e8:	cc                   	int3
4025e9:	cc                   	int3
4025ea:	cc                   	int3
4025eb:	cc                   	int3
4025ec:	cc                   	int3
4025ed:	cc                   	int3
4025ee:	cc                   	int3
4025ef:	cc                   	int3
4025f0:	a1 40 30 40 00       	mov    0x403040,%eax
4025f5:	68 34 30 40 00       	push   $0x403034
4025fa:	ff 35 3c 30 40 00    	push   0x40303c
402600:	a3 34 30 40 00       	mov    %eax,0x403034
402605:	68 28 30 40 00       	push   $0x403028
40260a:	68 24 30 40 00       	push   $0x403024
40260f:	68 20 30 40 00       	push   $0x403020
402614:	ff 15 04 41 40 00    	call   *0x404104
40261a:	83 c4 14             	add    $0x14,%esp
40261d:	a3 2c 30 40 00       	mov    %eax,0x40302c
402622:	c3                   	ret
402623:	6a 58                	push   $0x58
402625:	68 e8 2d 40 00       	push   $0x402de8
40262a:	e8 b9 05 00 00       	call   0x402be8
40262f:	33 db                	xor    %ebx,%ebx
402631:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
402634:	8d 45 98             	lea    -0x68(%ebp),%eax
402637:	50                   	push   %eax
402638:	ff 15 84 40 40 00    	call   *0x404084
40263e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402641:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
402647:	8b 70 04             	mov    0x4(%eax),%esi
40264a:	8b fb                	mov    %ebx,%edi
40264c:	ba ac 33 40 00       	mov    $0x4033ac,%edx
402651:	8b ce                	mov    %esi,%ecx
402653:	33 c0                	xor    %eax,%eax
402655:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
402659:	85 c0                	test   %eax,%eax
40265b:	74 18                	je     0x402675
40265d:	3b c6                	cmp    %esi,%eax
40265f:	75 07                	jne    0x402668
402661:	33 f6                	xor    %esi,%esi
402663:	46                   	inc    %esi
402664:	8b fe                	mov    %esi,%edi
402666:	eb 10                	jmp    0x402678
402668:	68 e8 03 00 00       	push   $0x3e8
40266d:	ff 15 88 40 40 00    	call   *0x404088
402673:	eb d7                	jmp    0x40264c
402675:	33 f6                	xor    %esi,%esi
402677:	46                   	inc    %esi
402678:	39 35 b0 33 40 00    	cmp    %esi,0x4033b0
40267e:	75 0a                	jne    0x40268a
402680:	6a 1f                	push   $0x1f
402682:	e8 47 03 00 00       	call   0x4029ce
402687:	59                   	pop    %ecx
402688:	eb 3a                	jmp    0x4026c4
40268a:	39 1d b0 33 40 00    	cmp    %ebx,0x4033b0
402690:	75 2c                	jne    0x4026be
402692:	89 35 b0 33 40 00    	mov    %esi,0x4033b0
402698:	68 e8 10 40 00       	push   $0x4010e8
40269d:	68 dc 10 40 00       	push   $0x4010dc
4026a2:	e8 57 01 00 00       	call   0x4027fe
4026a7:	59                   	pop    %ecx
4026a8:	59                   	pop    %ecx
4026a9:	85 c0                	test   %eax,%eax
4026ab:	74 17                	je     0x4026c4
4026ad:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4026b4:	b8 ff 00 00 00       	mov    $0xff,%eax
4026b9:	e9 30 01 00 00       	jmp    0x4027ee
4026be:	89 35 1c 30 40 00    	mov    %esi,0x40301c
4026c4:	39 35 b0 33 40 00    	cmp    %esi,0x4033b0
4026ca:	75 1b                	jne    0x4026e7
4026cc:	68 d8 10 40 00       	push   $0x4010d8
4026d1:	68 cc 10 40 00       	push   $0x4010cc
4026d6:	e8 05 05 00 00       	call   0x402be0
4026db:	59                   	pop    %ecx
4026dc:	59                   	pop    %ecx
4026dd:	c7 05 b0 33 40 00 02 	movl   $0x2,0x4033b0
4026e4:	00 00 00
4026e7:	85 ff                	test   %edi,%edi
4026e9:	75 09                	jne    0x4026f4
4026eb:	33 c0                	xor    %eax,%eax
4026ed:	b9 ac 33 40 00       	mov    $0x4033ac,%ecx
4026f2:	87 01                	xchg   %eax,(%ecx)
4026f4:	83 3d b4 33 40 00 00 	cmpl   $0x0,0x4033b4
4026fb:	74 23                	je     0x402720
4026fd:	68 b4 33 40 00       	push   $0x4033b4
402702:	e8 39 03 00 00       	call   0x402a40
402707:	59                   	pop    %ecx
402708:	85 c0                	test   %eax,%eax
40270a:	74 14                	je     0x402720
40270c:	53                   	push   %ebx
40270d:	6a 02                	push   $0x2
40270f:	53                   	push   %ebx
402710:	8b 35 b4 33 40 00    	mov    0x4033b4,%esi
402716:	8b ce                	mov    %esi,%ecx
402718:	ff 15 48 41 40 00    	call   *0x404148
40271e:	ff d6                	call   *%esi
402720:	a1 e4 40 40 00       	mov    0x4040e4,%eax
402725:	8b 08                	mov    (%eax),%ecx
402727:	85 c9                	test   %ecx,%ecx
402729:	74 82                	je     0x4026ad
40272b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
40272e:	6a 20                	push   $0x20
402730:	5e                   	pop    %esi
402731:	8b 55 e4             	mov    -0x1c(%ebp),%edx
402734:	0f b7 01             	movzwl (%ecx),%eax
402737:	66 3b c6             	cmp    %si,%ax
40273a:	77 4f                	ja     0x40278b
40273c:	66 85 c0             	test   %ax,%ax
40273f:	74 19                	je     0x40275a
402741:	85 d2                	test   %edx,%edx
402743:	75 46                	jne    0x40278b
402745:	66 85 c0             	test   %ax,%ax
402748:	74 10                	je     0x40275a
40274a:	66 3b c6             	cmp    %si,%ax
40274d:	77 0b                	ja     0x40275a
40274f:	83 c1 02             	add    $0x2,%ecx
402752:	89 4d e0             	mov    %ecx,-0x20(%ebp)
402755:	0f b7 01             	movzwl (%ecx),%eax
402758:	eb eb                	jmp    0x402745
40275a:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
40275e:	74 06                	je     0x402766
402760:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
402764:	eb 03                	jmp    0x402769
402766:	6a 0a                	push   $0xa
402768:	58                   	pop    %eax
402769:	50                   	push   %eax
40276a:	51                   	push   %ecx
40276b:	53                   	push   %ebx
40276c:	68 00 00 40 00       	push   $0x400000
402771:	e8 0e f5 ff ff       	call   0x401c84
402776:	a3 18 30 40 00       	mov    %eax,0x403018
40277b:	83 3d 30 30 40 00 00 	cmpl   $0x0,0x403030
402782:	75 4f                	jne    0x4027d3
402784:	50                   	push   %eax
402785:	ff 15 fc 40 40 00    	call   *0x4040fc
40278b:	83 f8 22             	cmp    $0x22,%eax
40278e:	75 0c                	jne    0x40279c
402790:	33 c0                	xor    %eax,%eax
402792:	85 d2                	test   %edx,%edx
402794:	0f 94 c0             	sete   %al
402797:	8b d0                	mov    %eax,%edx
402799:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40279c:	83 c1 02             	add    $0x2,%ecx
40279f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4027a2:	eb 90                	jmp    0x402734
4027a4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4027a7:	8b 01                	mov    (%ecx),%eax
4027a9:	8b 00                	mov    (%eax),%eax
4027ab:	89 45 dc             	mov    %eax,-0x24(%ebp)
4027ae:	51                   	push   %ecx
4027af:	50                   	push   %eax
4027b0:	e8 69 01 00 00       	call   0x40291e
4027b5:	59                   	pop    %ecx
4027b6:	59                   	pop    %ecx
4027b7:	c3                   	ret
4027b8:	8b 65 e8             	mov    -0x18(%ebp),%esp
4027bb:	8b 45 dc             	mov    -0x24(%ebp),%eax
4027be:	a3 18 30 40 00       	mov    %eax,0x403018
4027c3:	83 3d 30 30 40 00 00 	cmpl   $0x0,0x403030
4027ca:	75 07                	jne    0x4027d3
4027cc:	50                   	push   %eax
4027cd:	ff 15 f8 40 40 00    	call   *0x4040f8
4027d3:	83 3d 1c 30 40 00 00 	cmpl   $0x0,0x40301c
4027da:	75 0b                	jne    0x4027e7
4027dc:	ff 15 f4 40 40 00    	call   *0x4040f4
4027e2:	a1 18 30 40 00       	mov    0x403018,%eax
4027e7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4027ee:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4027f1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4027f8:	59                   	pop    %ecx
4027f9:	5f                   	pop    %edi
4027fa:	5e                   	pop    %esi
4027fb:	5b                   	pop    %ebx