40257d:	ba a3 00 00 00       	mov    $0xa3,%edx
402582:	eb 75                	jmp    0x4025f9
402584:	8d 45 f8             	lea    -0x8(%ebp),%eax
402587:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40258a:	50                   	push   %eax
40258b:	6a 01                	push   $0x1
40258d:	56                   	push   %esi
40258e:	ff 15 3c 60 40 00    	call   *0x40603c
402594:	85 c0                	test   %eax,%eax
402596:	75 0a                	jne    0x4025a2
402598:	ba ad 00 00 00       	mov    $0xad,%edx
40259d:	e9 7b ff ff ff       	jmp    0x40251d
4025a2:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4025a5:	74 07                	je     0x4025ae
4025a7:	ba ae 00 00 00       	mov    $0xae,%edx
4025ac:	eb 4b                	jmp    0x4025f9
4025ae:	53                   	push   %ebx
4025af:	6a 01                	push   $0x1
4025b1:	56                   	push   %esi
4025b2:	ff 15 3c 60 40 00    	call   *0x40603c
4025b8:	85 c0                	test   %eax,%eax
4025ba:	75 38                	jne    0x4025f4
4025bc:	ff 15 2c 60 40 00    	call   *0x40602c
4025c2:	3d 2a 01 00 00       	cmp    $0x12a,%eax
4025c7:	75 2b                	jne    0x4025f4
4025c9:	53                   	push   %ebx
4025ca:	56                   	push   %esi
4025cb:	ff 15 18 60 40 00    	call   *0x406018
4025d1:	83 f8 ff             	cmp    $0xffffffff,%eax
4025d4:	75 0a                	jne    0x4025e0
4025d6:	ba b4 00 00 00       	mov    $0xb4,%edx
4025db:	e9 3d ff ff ff       	jmp    0x40251d
4025e0:	85 c0                	test   %eax,%eax
4025e2:	74 07                	je     0x4025eb
4025e4:	ba b5 00 00 00       	mov    $0xb5,%edx
4025e9:	eb 0e                	jmp    0x4025f9
4025eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4025ee:	89 07                	mov    %eax,(%edi)
4025f0:	33 c0                	xor    %eax,%eax
4025f2:	eb 16                	jmp    0x40260a
4025f4:	ba b1 00 00 00       	mov    $0xb1,%edx
4025f9:	be ff ff 00 80       	mov    $0x8000ffff,%esi
4025fe:	56                   	push   %esi
4025ff:	51                   	push   %ecx
402600:	8b 4d 04             	mov    0x4(%ebp),%ecx
402603:	e8 73 fd ff ff       	call   0x40237b
402608:	8b c6                	mov    %esi,%eax
40260a:	5f                   	pop    %edi
40260b:	5e                   	pop    %esi
40260c:	5b                   	pop    %ebx
40260d:	c9                   	leave
40260e:	c3                   	ret
40260f:	8b ff                	mov    %edi,%edi
402611:	55                   	push   %ebp
402612:	8b ec                	mov    %esp,%ebp
402614:	83 e4 f8             	and    $0xfffffff8,%esp
402617:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
40261d:	a1 14 50 40 00       	mov    0x405014,%eax
402622:	33 c4                	xor    %esp,%eax
402624:	89 84 24 18 02 00 00 	mov    %eax,0x218(%esp)
40262b:	8b 45 08             	mov    0x8(%ebp),%eax
40262e:	ba 04 01 00 00       	mov    $0x104,%edx
402633:	53                   	push   %ebx
402634:	56                   	push   %esi
402635:	57                   	push   %edi
402636:	51                   	push   %ecx
402637:	51                   	push   %ecx
402638:	33 ff                	xor    %edi,%edi
40263a:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40263e:	51                   	push   %ecx
40263f:	8d 4c 24 24          	lea    0x24(%esp),%ecx
402643:	89 38                	mov    %edi,(%eax)
402645:	89 78 04             	mov    %edi,0x4(%eax)
402648:	e8 6e f3 ff ff       	call   0x4019bb
40264d:	68 f8 13 40 00       	push   $0x4013f8
402652:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
402656:	e8 bc f2 ff ff       	call   0x401917
40265b:	8d 44 24 18          	lea    0x18(%esp),%eax
40265f:	50                   	push   %eax
402660:	57                   	push   %edi
402661:	68 03 00 1f 00       	push   $0x1f0003
402666:	ff 15 74 60 40 00    	call   *0x406074
40266c:	8b f0                	mov    %eax,%esi
40266e:	85 f6                	test   %esi,%esi
402670:	75 1d                	jne    0x40268f
402672:	ff 15 2c 60 40 00    	call   *0x40602c
402678:	83 f8 02             	cmp    $0x2,%eax
40267b:	74 48                	je     0x4026c5
40267d:	51                   	push   %ecx
40267e:	8b 4d 04             	mov    0x4(%ebp),%ecx
402681:	ba c9 00 00 00       	mov    $0xc9,%edx
402686:	e8 0f fd ff ff       	call   0x40239a
40268b:	8b f8                	mov    %eax,%edi
40268d:	eb 36                	jmp    0x4026c5
40268f:	8d 54 24 10          	lea    0x10(%esp),%edx
402693:	89 7c 24 10          	mov    %edi,0x10(%esp)
402697:	8b ce                	mov    %esi,%ecx
402699:	e8 5c fe ff ff       	call   0x4024fa
40269e:	8b d8                	mov    %eax,%ebx
4026a0:	85 db                	test   %ebx,%ebx
4026a2:	79 13                	jns    0x4026b7
4026a4:	53                   	push   %ebx
4026a5:	51                   	push   %ecx
4026a6:	8b 4d 04             	mov    0x4(%ebp),%ecx
4026a9:	ba cf 00 00 00       	mov    $0xcf,%edx
4026ae:	e8 c8 fc ff ff       	call   0x40237b
4026b3:	8b fb                	mov    %ebx,%edi
4026b5:	eb 0e                	jmp    0x4026c5
4026b7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4026bb:	8b 44 24 10          	mov    0x10(%esp),%eax
4026bf:	99                   	cltd
4026c0:	89 01                	mov    %eax,(%ecx)
4026c2:	89 51 04             	mov    %edx,0x4(%ecx)
4026c5:	85 f6                	test   %esi,%esi
4026c7:	74 06                	je     0x4026cf
4026c9:	56                   	push   %esi
4026ca:	e8 23 fd ff ff       	call   0x4023f2
4026cf:	8b 8c 24 24 02 00 00 	mov    0x224(%esp),%ecx
4026d6:	8b c7                	mov    %edi,%eax
4026d8:	5f                   	pop    %edi
4026d9:	5e                   	pop    %esi
4026da:	5b                   	pop    %ebx
4026db:	33 cc                	xor    %esp,%ecx
4026dd:	e8 be 1b 00 00       	call   0x4042a0
4026e2:	8b e5                	mov    %ebp,%esp
4026e4:	5d                   	pop    %ebp
4026e5:	c2 08 00             	ret    $0x8
4026e8:	8b ff                	mov    %edi,%edi
4026ea:	55                   	push   %ebp
4026eb:	8b ec                	mov    %esp,%ebp
4026ed:	83 ec 14             	sub    $0x14,%esp
4026f0:	8b 45 0c             	mov    0xc(%ebp),%eax
4026f3:	53                   	push   %ebx
4026f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4026f7:	56                   	push   %esi
4026f8:	8b f1                	mov    %ecx,%esi
4026fa:	33 c9                	xor    %ecx,%ecx
4026fc:	89 46 04             	mov    %eax,0x4(%esi)
4026ff:	8b 43 04             	mov    0x4(%ebx),%eax
402702:	89 46 08             	mov    %eax,0x8(%esi)
402705:	8d 46 0c             	lea    0xc(%esi),%eax
402708:	89 08                	mov    %ecx,(%eax)
40270a:	89 45 f4             	mov    %eax,-0xc(%ebp)
40270d:	66 8b 43 20          	mov    0x20(%ebx),%ax
402711:	66 89 46 10          	mov    %ax,0x10(%esi)
402715:	8a 03                	mov    (%ebx),%al
402717:	88 46 12             	mov    %al,0x12(%esi)
40271a:	8d 46 14             	lea    0x14(%esi),%eax
40271d:	89 08                	mov    %ecx,(%eax)
40271f:	89 45 f0             	mov    %eax,-0x10(%ebp)
402722:	8b 43 48             	mov    0x48(%ebx),%eax
402725:	89 46 18             	mov    %eax,0x18(%esi)
402728:	8b 43 4c             	mov    0x4c(%ebx),%eax
40272b:	89 46 1c             	mov    %eax,0x1c(%esi)
40272e:	8d 46 20             	lea    0x20(%esi),%eax
402731:	89 08                	mov    %ecx,(%eax)
402733:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
402736:	89 45 ec             	mov    %eax,-0x14(%ebp)
402739:	33 c0                	xor    %eax,%eax
40273b:	40                   	inc    %eax
40273c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40273f:	85 c9                	test   %ecx,%ecx
402741:	74 0f                	je     0x402752
402743:	8d 51 01             	lea    0x1(%ecx),%edx
402746:	8a 01                	mov    (%ecx),%al
402748:	41                   	inc    %ecx
402749:	84 c0                	test   %al,%al
40274b:	75 f9                	jne    0x402746
40274d:	2b ca                	sub    %edx,%ecx
40274f:	8d 41 01             	lea    0x1(%ecx),%eax
402752:	8b 4b 44             	mov    0x44(%ebx),%ecx
402755:	89 45 f8             	mov    %eax,-0x8(%ebp)
402758:	85 c9                	test   %ecx,%ecx
40275a:	74 12                	je     0x40276e
40275c:	8d 51 01             	lea    0x1(%ecx),%edx
40275f:	8a 01                	mov    (%ecx),%al
402761:	41                   	inc    %ecx
402762:	84 c0                	test   %al,%al
402764:	75 f9                	jne    0x40275f
402766:	2b ca                	sub    %edx,%ecx
402768:	8d 41 01             	lea    0x1(%ecx),%eax
40276b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40276e:	8b 4b 0c             	mov    0xc(%ebx),%ecx
402771:	57                   	push   %edi
402772:	e8 9f f7 ff ff       	call   0x401f16
402777:	8b f8                	mov    %eax,%edi
402779:	03 7d fc             	add    -0x4(%ebp),%edi
40277c:	03 7d f8             	add    -0x8(%ebp),%edi
40277f:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
402783:	74 05                	je     0x40278a
402785:	39 7e 28             	cmp    %edi,0x28(%esi)
402788:	73 2c                	jae    0x4027b6
40278a:	6a 08                	push   $0x8
40278c:	8b d7                	mov    %edi,%edx
40278e:	59                   	pop    %ecx
40278f:	e8 18 f5 ff ff       	call   0x401cac
402794:	89 45 f8             	mov    %eax,-0x8(%ebp)
402797:	85 c0                	test   %eax,%eax
402799:	74 1b                	je     0x4027b6
40279b:	ff 76 24             	push   0x24(%esi)
40279e:	6a 00                	push   $0x0
4027a0:	ff 15 58 60 40 00    	call   *0x406058
4027a6:	50                   	push   %eax
4027a7:	ff 15 6c 60 40 00    	call   *0x40606c
4027ad:	8b 45 f8             	mov    -0x8(%ebp),%eax
4027b0:	89 46 24             	mov    %eax,0x24(%esi)
4027b3:	89 7e 28             	mov    %edi,0x28(%esi)
4027b6:	8b 4e 24             	mov    0x24(%esi),%ecx
4027b9:	5f                   	pop    %edi
4027ba:	85 c9                	test   %ecx,%ecx
4027bc:	74 3e                	je     0x4027fc
4027be:	8b 76 28             	mov    0x28(%esi),%esi
4027c1:	ff 75 f4             	push   -0xc(%ebp)
4027c4:	03 f1                	add    %ecx,%esi
4027c6:	ff 73 1c             	push   0x1c(%ebx)
4027c9:	8b d6                	mov    %esi,%edx
4027cb:	e8 5d 15 00 00       	call   0x403d2d
4027d0:	ff 75 f0             	push   -0x10(%ebp)
4027d3:	8b d6                	mov    %esi,%edx
4027d5:	8b c8                	mov    %eax,%ecx
4027d7:	ff 73 44             	push   0x44(%ebx)
4027da:	e8 4e 15 00 00       	call   0x403d2d
4027df:	ff 75 ec             	push   -0x14(%ebp)
4027e2:	8b d6                	mov    %esi,%edx
4027e4:	8b c8                	mov    %eax,%ecx
4027e6:	ff 73 0c             	push   0xc(%ebx)
4027e9:	e8 d5 14 00 00       	call   0x403cc3
4027ee:	2b f0                	sub    %eax,%esi
4027f0:	56                   	push   %esi
4027f1:	6a 00                	push   $0x0
4027f3:	50                   	push   %eax
4027f4:	e8 52 21 00 00       	call   0x40494b
4027f9:	83 c4 0c             	add    $0xc,%esp
4027fc:	5e                   	pop    %esi
4027fd:	5b                   	pop    %ebx
4027fe:	c9                   	leave
4027ff:	c2 08 00             	ret    $0x8
402802:	8b ff                	mov    %edi,%edi
402804:	53                   	push   %ebx
402805:	57                   	push   %edi
402806:	8b f9                	mov    %ecx,%edi
402808:	0f b7 47 14          	movzwl 0x14(%edi),%eax
40280c:	8b 4f 10             	mov    0x10(%edi),%ecx
40280f:	6b d8 2c             	imul   $0x2c,%eax,%ebx
402812:	03 d9                	add    %ecx,%ebx
402814:	3b cb                	cmp    %ebx,%ecx
402816:	74 2a                	je     0x402842
402818:	56                   	push   %esi
402819:	8d 71 24             	lea    0x24(%ecx),%esi
40281c:	ff 36                	push   (%esi)
40281e:	6a 00                	push   $0x0
402820:	ff 15 58 60 40 00    	call   *0x406058
402826:	50                   	push   %eax
402827:	ff 15 6c 60 40 00    	call   *0x40606c
40282d:	83 26 00             	andl   $0x0,(%esi)
402830:	8d 76 2c             	lea    0x2c(%esi),%esi
402833:	83 66 d8 00          	andl   $0x0,-0x28(%esi)
402837:	8d 46 dc             	lea    -0x24(%esi),%eax
40283a:	3b c3                	cmp    %ebx,%eax
40283c:	75 de                	jne    0x40281c
40283e:	8b 4f 10             	mov    0x10(%edi),%ecx
402841:	5e                   	pop    %esi
402842:	51                   	push   %ecx
402843:	6a 00                	push   $0x0
402845:	ff 15 58 60 40 00    	call   *0x406058
40284b:	50                   	push   %eax
40284c:	ff 15 6c 60 40 00    	call   *0x40606c
402852:	33 c0                	xor    %eax,%eax
402854:	21 47 10             	and    %eax,0x10(%edi)
402857:	89 47 14             	mov    %eax,0x14(%edi)
40285a:	5f                   	pop    %edi
40285b:	5b                   	pop    %ebx
40285c:	c3                   	ret
40285d:	8b ff                	mov    %edi,%edi
40285f:	55                   	push   %ebp
402860:	8b ec                	mov    %esp,%ebp
402862:	53                   	push   %ebx
402863:	56                   	push   %esi
402864:	8b f1                	mov    %ecx,%esi
402866:	57                   	push   %edi
402867:	6a 2c                	push   $0x2c
402869:	5b                   	pop    %ebx
40286a:	8b 56 10             	mov    0x10(%esi),%edx
40286d:	8b 7e 0c             	mov    0xc(%esi),%edi
402870:	85 d2                	test   %edx,%edx
402872:	75 49                	jne    0x4028bd
402874:	85 ff                	test   %edi,%edi
402876:	0f 84 9e 00 00 00    	je     0x40291a
40287c:	6a 08                	push   $0x8
40287e:	ba dc 00 00 00       	mov    $0xdc,%edx
402883:	59                   	pop    %ecx
402884:	e8 23 f4 ff ff       	call   0x401cac
402889:	8b d0                	mov    %eax,%edx
40288b:	89 56 10             	mov    %edx,0x10(%esi)
40288e:	85 d2                	test   %edx,%edx
402890:	0f 84 84 00 00 00    	je     0x40291a
402896:	6a 05                	push   $0x5
402898:	58                   	pop    %eax
402899:	66 89 46 14          	mov    %ax,0x14(%esi)
40289d:	33 c0                	xor    %eax,%eax
40289f:	66 89 46 16          	mov    %ax,0x16(%esi)
4028a3:	8d 82 dc 00 00 00    	lea    0xdc(%edx),%eax
4028a9:	3b d0                	cmp    %eax,%edx
4028ab:	74 0c                	je     0x4028b9
4028ad:	66 89 1a             	mov    %bx,(%edx)
4028b0:	03 d3                	add    %ebx,%edx
4028b2:	3b d0                	cmp    %eax,%edx
4028b4:	75 f7                	jne    0x4028ad
4028b6:	8b 56 10             	mov    0x10(%esi),%edx
4028b9:	85 d2                	test   %edx,%edx
4028bb:	74 5d                	je     0x40291a
4028bd:	85 ff                	test   %edi,%edi
4028bf:	8b 7d 08             	mov    0x8(%ebp),%edi
4028c2:	74 29                	je     0x4028ed
4028c4:	0f b7 46 14          	movzwl 0x14(%esi),%eax
4028c8:	6b c8 2c             	imul   $0x2c,%eax,%ecx
4028cb:	03 ca                	add    %edx,%ecx
4028cd:	3b d1                	cmp    %ecx,%edx
4028cf:	74 1c                	je     0x4028ed
4028d1:	8b 5e 0c             	mov    0xc(%esi),%ebx
4028d4:	83 c2 08             	add    $0x8,%edx
4028d7:	39 5a fc             	cmp    %ebx,-0x4(%edx)
4028da:	76 07                	jbe    0x4028e3
4028dc:	8b 02                	mov    (%edx),%eax
4028de:	3b 47 04             	cmp    0x4(%edi),%eax
4028e1:	74 37                	je     0x40291a
4028e3:	83 c2 2c             	add    $0x2c,%edx
4028e6:	8d 42 f8             	lea    -0x8(%edx),%eax
4028e9:	3b c1                	cmp    %ecx,%eax
4028eb:	75 ea                	jne    0x4028d7
4028ed:	0f b7 46 16          	movzwl 0x16(%esi),%eax
4028f1:	33 d2                	xor    %edx,%edx
4028f3:	0f b7 4e 14          	movzwl 0x14(%esi),%ecx
4028f7:	40                   	inc    %eax
4028f8:	f7 f1                	div    %ecx
4028fa:	8b 46 08             	mov    0x8(%esi),%eax
4028fd:	33 c9                	xor    %ecx,%ecx
4028ff:	66 89 56 16          	mov    %dx,0x16(%esi)
402903:	41                   	inc    %ecx
402904:	f0 0f c1 08          	lock xadd %ecx,(%eax)
402908:	41                   	inc    %ecx
402909:	0f b7 46 16          	movzwl 0x16(%esi),%eax
40290d:	51                   	push   %ecx
40290e:	6b c8 2c             	imul   $0x2c,%eax,%ecx
402911:	57                   	push   %edi
402912:	03 4e 10             	add    0x10(%esi),%ecx
402915:	e8 ce fd ff ff       	call   0x4026e8
40291a:	5f                   	pop    %edi
40291b:	5e                   	pop    %esi
40291c:	5b                   	pop    %ebx