4225dd:	83 a5 7c ff ff ff 00 	andl   $0x0,-0x84(%ebp)
4225e4:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4225ea:	83 c4 0c             	add    $0xc,%esp
4225ed:	50                   	push   %eax
4225ee:	6a 78                	push   $0x78
4225f0:	8d 45 80             	lea    -0x80(%ebp),%eax
4225f3:	50                   	push   %eax
4225f4:	6a 33                	push   $0x33
4225f6:	ff 15 44 c4 42 00    	call   *0x42c444
4225fc:	85 c0                	test   %eax,%eax
4225fe:	78 0d                	js     0x42260d
422600:	83 bd 7c ff ff ff 00 	cmpl   $0x0,-0x84(%ebp)
422607:	75 04                	jne    0x42260d
422609:	33 c0                	xor    %eax,%eax
42260b:	eb 03                	jmp    0x422610
42260d:	33 c0                	xor    %eax,%eax
42260f:	40                   	inc    %eax
422610:	8b 4d fc             	mov    -0x4(%ebp),%ecx
422613:	33 cd                	xor    %ebp,%ecx
422615:	e8 c6 54 00 00       	call   0x427ae0
42261a:	c9                   	leave
42261b:	c3                   	ret
42261c:	cc                   	int3
42261d:	cc                   	int3
42261e:	cc                   	int3
42261f:	cc                   	int3
422620:	8b ff                	mov    %edi,%edi
422622:	55                   	push   %ebp
422623:	8b ec                	mov    %esp,%ebp
422625:	83 e4 f8             	and    $0xfffffff8,%esp
422628:	51                   	push   %ecx
422629:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42262d:	53                   	push   %ebx
42262e:	56                   	push   %esi
42262f:	57                   	push   %edi
422630:	8b d9                	mov    %ecx,%ebx
422632:	0f 84 58 01 00 00    	je     0x422790
422638:	8b 7d 0c             	mov    0xc(%ebp),%edi
42263b:	85 ff                	test   %edi,%edi
42263d:	0f 84 4d 01 00 00    	je     0x422790
422643:	8b 75 10             	mov    0x10(%ebp),%esi
422646:	85 f6                	test   %esi,%esi
422648:	0f 84 42 01 00 00    	je     0x422790
42264e:	83 26 00             	andl   $0x0,(%esi)
422651:	83 7f 04 03          	cmpl   $0x3,0x4(%edi)
422655:	75 4b                	jne    0x4226a2
422657:	83 7b 24 01          	cmpl   $0x1,0x24(%ebx)
42265b:	75 7a                	jne    0x4226d7
42265d:	ff 77 0c             	push   0xc(%edi)
422660:	e8 49 08 00 00       	call   0x422eae
422665:	8b f0                	mov    %eax,%esi
422667:	85 f6                	test   %esi,%esi
422669:	0f 89 1d 01 00 00    	jns    0x42278c
42266f:	a1 00 b0 42 00       	mov    0x42b000,%eax
422674:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
422679:	0f 84 0d 01 00 00    	je     0x42278c
42267f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
422683:	0f 84 03 01 00 00    	je     0x42278c
422689:	56                   	push   %esi
42268a:	ff 70 14             	push   0x14(%eax)
42268d:	ba 34 51 40 00       	mov    $0x405134,%edx
422692:	ff 70 10             	push   0x10(%eax)
422695:	6a 0e                	push   $0xe
422697:	59                   	pop    %ecx
422698:	e8 31 4d fe ff       	call   0x4073ce
42269d:	e9 ea 00 00 00       	jmp    0x42278c
4226a2:	83 7f 04 09          	cmpl   $0x9,0x4(%edi)
4226a6:	75 2f                	jne    0x4226d7
4226a8:	83 7f 0c 02          	cmpl   $0x2,0xc(%edi)
4226ac:	75 29                	jne    0x4226d7
4226ae:	e8 ed 5a 00 00       	call   0x4281a0
4226b3:	84 c0                	test   %al,%al
4226b5:	74 20                	je     0x4226d7
4226b7:	ff 77 10             	push   0x10(%edi)
4226ba:	ff 15 d8 c1 42 00    	call   *0x42c1d8
4226c0:	85 c0                	test   %eax,%eax
4226c2:	74 13                	je     0x4226d7
4226c4:	8b 47 10             	mov    0x10(%edi),%eax
4226c7:	89 43 04             	mov    %eax,0x4(%ebx)
4226ca:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
4226d0:	33 f6                	xor    %esi,%esi
4226d2:	e9 b5 00 00 00       	jmp    0x42278c
4226d7:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
4226db:	0f 85 a6 00 00 00    	jne    0x422787
4226e1:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4226e5:	0f 84 9c 00 00 00    	je     0x422787
4226eb:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
4226ef:	0f 84 92 00 00 00    	je     0x422787
4226f5:	68 c4 50 40 00       	push   $0x4050c4
4226fa:	ff 77 0c             	push   0xc(%edi)
4226fd:	ff 15 2c c3 42 00    	call   *0x42c32c
422703:	59                   	pop    %ecx
422704:	59                   	pop    %ecx
422705:	85 c0                	test   %eax,%eax
422707:	75 7e                	jne    0x422787
422709:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
42270f:	e8 a7 fe ff ff       	call   0x4225bb
422714:	85 c0                	test   %eax,%eax
422716:	75 6f                	jne    0x422787
422718:	e8 ee fd ff ff       	call   0x42250b
42271d:	85 c0                	test   %eax,%eax
42271f:	74 66                	je     0x422787
422721:	ff 77 10             	push   0x10(%edi)
422724:	8b cb                	mov    %ebx,%ecx
422726:	e8 c1 01 00 00       	call   0x4228ec
42272b:	8b f0                	mov    %eax,%esi
42272d:	85 f6                	test   %esi,%esi
42272f:	79 27                	jns    0x422758
422731:	a1 00 b0 42 00       	mov    0x42b000,%eax
422736:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
42273b:	74 4f                	je     0x42278c
42273d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
422741:	74 49                	je     0x42278c
422743:	ff 70 14             	push   0x14(%eax)
422746:	ff 70 10             	push   0x10(%eax)
422749:	6a 0f                	push   $0xf
42274b:	ba 34 51 40 00       	mov    $0x405134,%edx
422750:	59                   	pop    %ecx
422751:	e8 5a 4c fe ff       	call   0x4073b0
422756:	eb 34                	jmp    0x42278c
422758:	ff 37                	push   (%edi)
42275a:	8b cb                	mov    %ebx,%ecx
42275c:	e8 43 05 00 00       	call   0x422ca4
422761:	8b f0                	mov    %eax,%esi
422763:	85 f6                	test   %esi,%esi
422765:	0f 89 65 ff ff ff    	jns    0x4226d0
42276b:	a1 00 b0 42 00       	mov    0x42b000,%eax
422770:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
422775:	74 15                	je     0x42278c
422777:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
42277b:	74 0f                	je     0x42278c
42277d:	ff 70 14             	push   0x14(%eax)
422780:	ff 70 10             	push   0x10(%eax)
422783:	6a 10                	push   $0x10
422785:	eb c4                	jmp    0x42274b
422787:	be 01 40 00 80       	mov    $0x80004001,%esi
42278c:	8b c6                	mov    %esi,%eax
42278e:	eb 2a                	jmp    0x4227ba
422790:	a1 00 b0 42 00       	mov    0x42b000,%eax
422795:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
42279a:	74 19                	je     0x4227b5
42279c:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4227a0:	74 13                	je     0x4227b5
4227a2:	ff 70 14             	push   0x14(%eax)
4227a5:	ba 34 51 40 00       	mov    $0x405134,%edx
4227aa:	ff 70 10             	push   0x10(%eax)
4227ad:	6a 0d                	push   $0xd
4227af:	59                   	pop    %ecx
4227b0:	e8 fb 4b fe ff       	call   0x4073b0
4227b5:	b8 57 00 07 80       	mov    $0x80070057,%eax
4227ba:	5f                   	pop    %edi
4227bb:	5e                   	pop    %esi
4227bc:	5b                   	pop    %ebx
4227bd:	8b e5                	mov    %ebp,%esp
4227bf:	5d                   	pop    %ebp
4227c0:	c2 0c 00             	ret    $0xc
4227c3:	6a 18                	push   $0x18
4227c5:	b8 b9 8d 42 00       	mov    $0x428db9,%eax
4227ca:	e8 99 58 00 00       	call   0x428068
4227cf:	8b d9                	mov    %ecx,%ebx
4227d1:	33 c0                	xor    %eax,%eax
4227d3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4227d6:	89 45 f0             	mov    %eax,-0x10(%ebp)
4227d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4227dc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4227df:	89 45 dc             	mov    %eax,-0x24(%ebp)
4227e2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4227e5:	89 45 e0             	mov    %eax,-0x20(%ebp)
4227e8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4227ec:	39 45 08             	cmp    %eax,0x8(%ebp)
4227ef:	75 2f                	jne    0x422820
4227f1:	a1 00 b0 42 00       	mov    0x42b000,%eax
4227f6:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4227fb:	74 19                	je     0x422816
4227fd:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
422801:	74 13                	je     0x422816
422803:	ff 70 14             	push   0x14(%eax)
422806:	ba 34 51 40 00       	mov    $0x405134,%edx
42280b:	ff 70 10             	push   0x10(%eax)
42280e:	6a 11                	push   $0x11
422810:	59                   	pop    %ecx
422811:	e8 9a 4b fe ff       	call   0x4073b0
422816:	be 57 00 07 80       	mov    $0x80070057,%esi
42281b:	e9 ae 00 00 00       	jmp    0x4228ce
422820:	ff 75 08             	push   0x8(%ebp)
422823:	8d 4d e8             	lea    -0x18(%ebp),%ecx
422826:	e8 8d 98 fe ff       	call   0x40c0b8
42282b:	8b f0                	mov    %eax,%esi
42282d:	85 f6                	test   %esi,%esi
42282f:	0f 88 99 00 00 00    	js     0x4228ce
422835:	68 4c 27 40 00       	push   $0x40274c
42283a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
42283d:	e8 29 9a fe ff       	call   0x40c26b
422842:	8b f0                	mov    %eax,%esi
422844:	85 f6                	test   %esi,%esi
422846:	0f 88 82 00 00 00    	js     0x4228ce
42284c:	8b 7d e8             	mov    -0x18(%ebp),%edi
42284f:	8b c7                	mov    %edi,%eax
422851:	8b 4d f0             	mov    -0x10(%ebp),%ecx
422854:	85 c0                	test   %eax,%eax
422856:	74 1e                	je     0x422876
422858:	85 c9                	test   %ecx,%ecx
42285a:	74 1a                	je     0x422876
42285c:	0f b7 10             	movzwl (%eax),%edx
42285f:	66 85 d2             	test   %dx,%dx
422862:	74 12                	je     0x422876
422864:	83 fa 7c             	cmp    $0x7c,%edx
422867:	75 05                	jne    0x42286e
422869:	33 d2                	xor    %edx,%edx
42286b:	66 89 10             	mov    %dx,(%eax)
42286e:	83 c0 02             	add    $0x2,%eax
422871:	83 e9 01             	sub    $0x1,%ecx
422874:	75 e6                	jne    0x42285c
422876:	8b f7                	mov    %edi,%esi
422878:	33 d2                	xor    %edx,%edx
42287a:	8d 4e 02             	lea    0x2(%esi),%ecx
42287d:	66 8b 06             	mov    (%esi),%ax
422880:	83 c6 02             	add    $0x2,%esi
422883:	66 3b c2             	cmp    %dx,%ax
422886:	75 f5                	jne    0x42287d
422888:	eb 3c                	jmp    0x4228c6
42288a:	57                   	push   %edi
42288b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
42288e:	e8 25 98 fe ff       	call   0x40c0b8
422893:	6a 00                	push   $0x0
422895:	8d 4d dc             	lea    -0x24(%ebp),%ecx
422898:	e8 a2 a1 fe ff       	call   0x40ca3f
42289d:	8d 45 dc             	lea    -0x24(%ebp),%eax
4228a0:	50                   	push   %eax
4228a1:	8d 4b 08             	lea    0x8(%ebx),%ecx
4228a4:	e8 55 07 00 00       	call   0x422ffe
4228a9:	8d 3c 77             	lea    (%edi,%esi,2),%edi
4228ac:	33 d2                	xor    %edx,%edx
4228ae:	83 c7 02             	add    $0x2,%edi
4228b1:	66 39 17             	cmp    %dx,(%edi)
4228b4:	74 16                	je     0x4228cc
4228b6:	8b f7                	mov    %edi,%esi
4228b8:	8d 4e 02             	lea    0x2(%esi),%ecx
4228bb:	66 8b 06             	mov    (%esi),%ax
4228be:	83 c6 02             	add    $0x2,%esi
4228c1:	66 3b c2             	cmp    %dx,%ax
4228c4:	75 f5                	jne    0x4228bb
4228c6:	2b f1                	sub    %ecx,%esi
4228c8:	d1 fe                	sar    $1,%esi
4228ca:	75 be                	jne    0x42288a
4228cc:	8b f2                	mov    %edx,%esi
4228ce:	6a 01                	push   $0x1
4228d0:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4228d3:	e8 4d a3 fe ff       	call   0x40cc25
4228d8:	6a 01                	push   $0x1
4228da:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4228dd:	e8 43 a3 fe ff       	call   0x40cc25
4228e2:	8b c6                	mov    %esi,%eax
4228e4:	e8 4d 57 00 00       	call   0x428036
4228e9:	c2 04 00             	ret    $0x4
4228ec:	6a 40                	push   $0x40
4228ee:	b8 e4 8d 42 00       	mov    $0x428de4,%eax
4228f3:	e8 70 57 00 00       	call   0x428068
4228f8:	8b d9                	mov    %ecx,%ebx
4228fa:	33 c9                	xor    %ecx,%ecx
4228fc:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4228ff:	89 4d f0             	mov    %ecx,-0x10(%ebp)
422902:	89 4d ec             	mov    %ecx,-0x14(%ebp)
422905:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422908:	89 4d dc             	mov    %ecx,-0x24(%ebp)
42290b:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42290e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
422911:	8d 7b 20             	lea    0x20(%ebx),%edi
422914:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
422918:	8d 45 dc             	lea    -0x24(%ebp),%eax
42291b:	89 0f                	mov    %ecx,(%edi)
42291d:	c7 45 b4 e4 50 40 00 	movl   $0x4050e4,-0x4c(%ebp)
422924:	89 45 b8             	mov    %eax,-0x48(%ebp)
422927:	89 4d bc             	mov    %ecx,-0x44(%ebp)
42292a:	c7 45 c0 80 d0 40 00 	movl   $0x40d080,-0x40(%ebp)
422931:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
422934:	c7 45 c8 04 51 40 00 	movl   $0x405104,-0x38(%ebp)
42293b:	89 7d cc             	mov    %edi,-0x34(%ebp)
42293e:	c7 45 d0 04 00 00 00 	movl   $0x4,-0x30(%ebp)
422945:	c7 45 d4 10 d0 40 00 	movl   $0x40d010,-0x2c(%ebp)
42294c:	89 4d d8             	mov    %ecx,-0x28(%ebp)
42294f:	39 4d 08             	cmp    %ecx,0x8(%ebp)
422952:	75 2f                	jne    0x422983
422954:	a1 00 b0 42 00       	mov    0x42b000,%eax
422959:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
42295e:	74 19                	je     0x422979
422960:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
422964:	74 13                	je     0x422979
422966:	ff 70 14             	push   0x14(%eax)
422969:	ba 34 51 40 00       	mov    $0x405134,%edx
42296e:	ff 70 10             	push   0x10(%eax)
422971:	6a 12                	push   $0x12
422973:	59                   	pop    %ecx
422974:	e8 37 4a fe ff       	call   0x4073b0
422979:	be 57 00 07 80       	mov    $0x80070057,%esi
42297e:	e9 e0 00 00 00       	jmp    0x422a63
422983:	ff 75 08             	push   0x8(%ebp)
422986:	8d 4d e8             	lea    -0x18(%ebp),%ecx
422989:	e8 2a 97 fe ff       	call   0x40c0b8
42298e:	8b f0                	mov    %eax,%esi
422990:	85 f6                	test   %esi,%esi
422992:	79 33                	jns    0x4229c7
422994:	a1 00 b0 42 00       	mov    0x42b000,%eax
422999:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
42299e:	0f 84 bf 00 00 00    	je     0x422a63
4229a4:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4229a8:	0f 84 b5 00 00 00    	je     0x422a63
4229ae:	56                   	push   %esi
4229af:	ff 70 14             	push   0x14(%eax)
4229b2:	ff 70 10             	push   0x10(%eax)
4229b5:	6a 13                	push   $0x13
4229b7:	ba 34 51 40 00       	mov    $0x405134,%edx
4229bc:	59                   	pop    %ecx
4229bd:	e8 0c 4a fe ff       	call   0x4073ce
4229c2:	e9 9c 00 00 00       	jmp    0x422a63
4229c7:	51                   	push   %ecx
4229c8:	6a 00                	push   $0x0
4229ca:	68 40 22 40 00       	push   $0x402240
4229cf:	68 20 51 40 00       	push   $0x405120
4229d4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4229d7:	e8 76 9e fe ff       	call   0x40c852
4229dc:	8b 55 f0             	mov    -0x10(%ebp),%edx
4229df:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4229e2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4229e5:	6a 02                	push   $0x2
4229e7:	50                   	push   %eax
4229e8:	e8 17 a7 fe ff       	call   0x40d104
4229ed:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4229f0:	85 c9                	test   %ecx,%ecx
4229f2:	74 42                	je     0x422a36
4229f4:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4229f8:	74 3c                	je     0x422a36
4229fa:	8b 07                	mov    (%edi),%eax
4229fc:	85 c0                	test   %eax,%eax
4229fe:	74 36                	je     0x422a36
422a00:	25 fb 0b 00 00       	and    $0xbfb,%eax
422a05:	51                   	push   %ecx
422a06:	8b cb                	mov    %ebx,%ecx
422a08:	89 07                	mov    %eax,(%edi)
422a0a:	e8 b4 fd ff ff       	call   0x4227c3
422a0f:	8b f0                	mov    %eax,%esi
422a11:	85 f6                	test   %esi,%esi
422a13:	79 1d                	jns    0x422a32
422a15:	a1 00 b0 42 00       	mov    0x42b000,%eax
422a1a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
422a1f:	74 42                	je     0x422a63
422a21:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
422a25:	74 3c                	je     0x422a63
422a27:	56                   	push   %esi
422a28:	ff 70 14             	push   0x14(%eax)