4225bc:	57                   	push   %edi
4225bd:	8b 7d 0c             	mov    0xc(%ebp),%edi
4225c0:	8d 87 90 00 00 00    	lea    0x90(%edi),%eax
4225c6:	50                   	push   %eax
4225c7:	68 f0 ac 45 00       	push   $0x45acf0
4225cc:	53                   	push   %ebx
4225cd:	e8 f5 0b 02 00       	call   0x4431c7
4225d2:	8b f0                	mov    %eax,%esi
4225d4:	85 f6                	test   %esi,%esi
4225d6:	79 0a                	jns    0x4225e2
4225d8:	68 10 ad 45 00       	push   $0x45ad10
4225dd:	e9 5e 01 00 00       	jmp    0x422740
4225e2:	8d 87 94 00 00 00    	lea    0x94(%edi),%eax
4225e8:	50                   	push   %eax
4225e9:	68 30 ad 45 00       	push   $0x45ad30
4225ee:	53                   	push   %ebx
4225ef:	e8 d3 0b 02 00       	call   0x4431c7
4225f4:	8b f0                	mov    %eax,%esi
4225f6:	85 f6                	test   %esi,%esi
4225f8:	79 0a                	jns    0x422604
4225fa:	68 54 ad 45 00       	push   $0x45ad54
4225ff:	e9 3c 01 00 00       	jmp    0x422740
422604:	8d 87 9c 00 00 00    	lea    0x9c(%edi),%eax
42260a:	50                   	push   %eax
42260b:	68 78 ad 45 00       	push   $0x45ad78
422610:	53                   	push   %ebx
422611:	e8 b1 0b 02 00       	call   0x4431c7
422616:	8b f0                	mov    %eax,%esi
422618:	85 f6                	test   %esi,%esi
42261a:	79 0a                	jns    0x422626
42261c:	68 a0 ad 45 00       	push   $0x45ada0
422621:	e9 1a 01 00 00       	jmp    0x422740
422626:	8d 87 98 00 00 00    	lea    0x98(%edi),%eax
42262c:	50                   	push   %eax
42262d:	68 c4 ad 45 00       	push   $0x45adc4
422632:	53                   	push   %ebx
422633:	e8 8f 0b 02 00       	call   0x4431c7
422638:	8b f0                	mov    %eax,%esi
42263a:	85 f6                	test   %esi,%esi
42263c:	79 0a                	jns    0x422648
42263e:	68 e4 ad 45 00       	push   $0x45ade4
422643:	e9 f8 00 00 00       	jmp    0x422740
422648:	8d 87 ac 00 00 00    	lea    0xac(%edi),%eax
42264e:	50                   	push   %eax
42264f:	68 04 ae 45 00       	push   $0x45ae04
422654:	53                   	push   %ebx
422655:	e8 81 0d 02 00       	call   0x4433db
42265a:	8b f0                	mov    %eax,%esi
42265c:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
422662:	74 0e                	je     0x422672
422664:	85 f6                	test   %esi,%esi
422666:	79 0a                	jns    0x422672
422668:	68 1c ae 45 00       	push   $0x45ae1c
42266d:	e9 ce 00 00 00       	jmp    0x422740
422672:	8d 45 fc             	lea    -0x4(%ebp),%eax
422675:	50                   	push   %eax
422676:	68 38 ae 45 00       	push   $0x45ae38
42267b:	53                   	push   %ebx
42267c:	e8 46 0b 02 00       	call   0x4431c7
422681:	8b f0                	mov    %eax,%esi
422683:	85 f6                	test   %esi,%esi
422685:	0f 88 94 00 00 00    	js     0x42271f
42268b:	8b 35 28 b1 44 00    	mov    0x44b128,%esi
422691:	6a ff                	push   $0xffffffff
422693:	68 4c ae 45 00       	push   $0x45ae4c
422698:	6a ff                	push   $0xffffffff
42269a:	ff 75 fc             	push   -0x4(%ebp)
42269d:	6a 00                	push   $0x0
42269f:	6a 7f                	push   $0x7f
4226a1:	ff d6                	call   *%esi
4226a3:	83 f8 02             	cmp    $0x2,%eax
4226a6:	75 1e                	jne    0x4226c6
4226a8:	c7 87 b0 00 00 00 01 	movl   $0x1,0xb0(%edi)
4226af:	00 00 00
4226b2:	57                   	push   %edi
4226b3:	53                   	push   %ebx
4226b4:	e8 b7 f2 ff ff       	call   0x421970
4226b9:	8b f0                	mov    %eax,%esi
4226bb:	85 f6                	test   %esi,%esi
4226bd:	79 6f                	jns    0x42272e
4226bf:	68 ac ae 45 00       	push   $0x45aeac
4226c4:	eb 7a                	jmp    0x422740
4226c6:	6a ff                	push   $0xffffffff
4226c8:	68 58 ae 45 00       	push   $0x45ae58
4226cd:	6a ff                	push   $0xffffffff
4226cf:	ff 75 fc             	push   -0x4(%ebp)
4226d2:	6a 00                	push   $0x0
4226d4:	6a 7f                	push   $0x7f
4226d6:	ff d6                	call   *%esi
4226d8:	6a 02                	push   $0x2
4226da:	59                   	pop    %ecx
4226db:	3b c1                	cmp    %ecx,%eax
4226dd:	75 08                	jne    0x4226e7
4226df:	89 8f b0 00 00 00    	mov    %ecx,0xb0(%edi)
4226e5:	eb cb                	jmp    0x4226b2
4226e7:	6a ff                	push   $0xffffffff
4226e9:	68 68 ae 45 00       	push   $0x45ae68
4226ee:	6a ff                	push   $0xffffffff
4226f0:	ff 75 fc             	push   -0x4(%ebp)
4226f3:	6a 00                	push   $0x0
4226f5:	6a 7f                	push   $0x7f
4226f7:	ff d6                	call   *%esi
4226f9:	83 f8 02             	cmp    $0x2,%eax
4226fc:	75 09                	jne    0x422707
4226fe:	83 a7 b0 00 00 00 00 	andl   $0x0,0xb0(%edi)
422705:	eb ab                	jmp    0x4226b2
422707:	ff 75 fc             	push   -0x4(%ebp)
42270a:	be ff ff 00 80       	mov    $0x8000ffff,%esi
42270f:	68 74 ae 45 00       	push   $0x45ae74
422714:	56                   	push   %esi
422715:	e8 15 da 01 00       	call   0x44012f
42271a:	83 c4 0c             	add    $0xc,%esp
42271d:	eb 29                	jmp    0x422748
42271f:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
422725:	74 8b                	je     0x4226b2
422727:	68 90 ae 45 00       	push   $0x45ae90
42272c:	eb 12                	jmp    0x422740
42272e:	57                   	push   %edi
42272f:	53                   	push   %ebx
422730:	e8 8f f0 ff ff       	call   0x4217c4
422735:	8b f0                	mov    %eax,%esi
422737:	85 f6                	test   %esi,%esi
422739:	79 0d                	jns    0x422748
42273b:	68 c8 ae 45 00       	push   $0x45aec8
422740:	56                   	push   %esi
422741:	e8 e9 d9 01 00       	call   0x44012f
422746:	59                   	pop    %ecx
422747:	59                   	pop    %ecx
422748:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42274c:	74 08                	je     0x422756
42274e:	ff 75 fc             	push   -0x4(%ebp)
422751:	e8 99 2d 02 00       	call   0x4454ef
422756:	5f                   	pop    %edi
422757:	8b c6                	mov    %esi,%eax
422759:	5e                   	pop    %esi
42275a:	5b                   	pop    %ebx
42275b:	8b e5                	mov    %ebp,%esp
42275d:	5d                   	pop    %ebp
42275e:	c2 08 00             	ret    $0x8
422761:	55                   	push   %ebp
422762:	8b ec                	mov    %esp,%ebp
422764:	51                   	push   %ecx
422765:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422769:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
42276d:	53                   	push   %ebx
42276e:	8b 5d 10             	mov    0x10(%ebp),%ebx
422771:	56                   	push   %esi
422772:	57                   	push   %edi
422773:	8b 7d 0c             	mov    0xc(%ebp),%edi
422776:	74 25                	je     0x42279d
422778:	ff 75 20             	push   0x20(%ebp)
42277b:	ff 75 1c             	push   0x1c(%ebp)
42277e:	57                   	push   %edi
42277f:	53                   	push   %ebx
422780:	e8 07 f8 fe ff       	call   0x411f8c
422785:	8b f0                	mov    %eax,%esi
422787:	85 f6                	test   %esi,%esi
422789:	79 12                	jns    0x42279d
42278b:	68 74 af 45 00       	push   $0x45af74
422790:	56                   	push   %esi
422791:	e8 99 d9 01 00       	call   0x44012f
422796:	59                   	pop    %ecx
422797:	59                   	pop    %ecx
422798:	e9 75 01 00 00       	jmp    0x422912
42279d:	53                   	push   %ebx
42279e:	57                   	push   %edi
42279f:	ff 75 08             	push   0x8(%ebp)
4227a2:	e8 54 57 00 00       	call   0x427efb
4227a7:	8b f0                	mov    %eax,%esi
4227a9:	85 f6                	test   %esi,%esi
4227ab:	79 07                	jns    0x4227b4
4227ad:	68 10 39 45 00       	push   $0x453910
4227b2:	eb dc                	jmp    0x422790
4227b4:	83 7f 5c 00          	cmpl   $0x0,0x5c(%edi)
4227b8:	0f 84 c0 00 00 00    	je     0x42287e
4227be:	8b 45 08             	mov    0x8(%ebp),%eax
4227c1:	85 c0                	test   %eax,%eax
4227c3:	74 19                	je     0x4227de
4227c5:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4227c8:	51                   	push   %ecx
4227c9:	53                   	push   %ebx
4227ca:	ff 30                	push   (%eax)
4227cc:	e8 c6 fa fe ff       	call   0x412297
4227d1:	8b f0                	mov    %eax,%esi
4227d3:	85 f6                	test   %esi,%esi
4227d5:	79 1e                	jns    0x4227f5
4227d7:	68 9c af 45 00       	push   $0x45af9c
4227dc:	eb b2                	jmp    0x422790
4227de:	8d 45 fc             	lea    -0x4(%ebp),%eax
4227e1:	50                   	push   %eax
4227e2:	53                   	push   %ebx
4227e3:	e8 c2 f4 fe ff       	call   0x411caa
4227e8:	8b f0                	mov    %eax,%esi
4227ea:	85 f6                	test   %esi,%esi
4227ec:	79 07                	jns    0x4227f5
4227ee:	68 e0 24 45 00       	push   $0x4524e0
4227f3:	eb 9b                	jmp    0x422790
4227f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4227f8:	33 c9                	xor    %ecx,%ecx
4227fa:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
422800:	8b 45 fc             	mov    -0x4(%ebp),%eax
422803:	89 78 08             	mov    %edi,0x8(%eax)
422806:	83 3b 08             	cmpl   $0x8,(%ebx)
422809:	8b 45 fc             	mov    -0x4(%ebp),%eax
42280c:	0f 94 c1             	sete   %cl
42280f:	89 48 0c             	mov    %ecx,0xc(%eax)
422812:	8b 45 fc             	mov    -0x4(%ebp),%eax
422815:	8b 4f 5c             	mov    0x5c(%edi),%ecx
422818:	89 48 10             	mov    %ecx,0x10(%eax)
42281b:	8b 87 a0 00 00 00    	mov    0xa0(%edi),%eax
422821:	85 c0                	test   %eax,%eax
422823:	74 1f                	je     0x422844
422825:	6a 00                	push   $0x0
422827:	50                   	push   %eax
422828:	8b 45 fc             	mov    -0x4(%ebp),%eax
42282b:	83 c0 14             	add    $0x14,%eax
42282e:	50                   	push   %eax
42282f:	e8 71 f9 fd ff       	call   0x4021a5
422834:	8b f0                	mov    %eax,%esi
422836:	85 f6                	test   %esi,%esi
422838:	79 0a                	jns    0x422844
42283a:	68 c0 5c 45 00       	push   $0x455cc0
42283f:	e9 4c ff ff ff       	jmp    0x422790
422844:	8b 87 a4 00 00 00    	mov    0xa4(%edi),%eax
42284a:	85 c0                	test   %eax,%eax
42284c:	74 1f                	je     0x42286d
42284e:	6a 00                	push   $0x0
422850:	50                   	push   %eax
422851:	8b 45 fc             	mov    -0x4(%ebp),%eax
422854:	83 c0 18             	add    $0x18,%eax
422857:	50                   	push   %eax
422858:	e8 48 f9 fd ff       	call   0x4021a5
42285d:	8b f0                	mov    %eax,%esi
42285f:	85 f6                	test   %esi,%esi
422861:	79 0a                	jns    0x42286d
422863:	68 f8 5c 45 00       	push   $0x455cf8
422868:	e9 23 ff ff ff       	jmp    0x422790
42286d:	33 c0                	xor    %eax,%eax
42286f:	50                   	push   %eax
422870:	ff 75 18             	push   0x18(%ebp)
422873:	ff 75 14             	push   0x14(%ebp)
422876:	50                   	push   %eax
422877:	50                   	push   %eax
422878:	57                   	push   %edi
422879:	e8 3c 1a ff ff       	call   0x4142ba
42287e:	83 7f 60 00          	cmpl   $0x0,0x60(%edi)
422882:	0f 84 8a 00 00 00    	je     0x422912
422888:	8d 45 fc             	lea    -0x4(%ebp),%eax
42288b:	50                   	push   %eax
42288c:	53                   	push   %ebx
42288d:	e8 5f f4 fe ff       	call   0x411cf1
422892:	8b f0                	mov    %eax,%esi
422894:	85 f6                	test   %esi,%esi
422896:	79 0a                	jns    0x4228a2
422898:	68 4c 30 45 00       	push   $0x45304c
42289d:	e9 ee fe ff ff       	jmp    0x422790
4228a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4228a5:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
4228ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
4228ae:	89 78 08             	mov    %edi,0x8(%eax)
4228b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4228b4:	8b 4f 60             	mov    0x60(%edi),%ecx
4228b7:	89 48 10             	mov    %ecx,0x10(%eax)
4228ba:	8b 87 a0 00 00 00    	mov    0xa0(%edi),%eax
4228c0:	85 c0                	test   %eax,%eax
4228c2:	74 19                	je     0x4228dd
4228c4:	6a 00                	push   $0x0
4228c6:	50                   	push   %eax
4228c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4228ca:	83 c0 14             	add    $0x14,%eax
4228cd:	50                   	push   %eax
4228ce:	e8 d2 f8 fd ff       	call   0x4021a5
4228d3:	8b f0                	mov    %eax,%esi
4228d5:	85 f6                	test   %esi,%esi
4228d7:	0f 88 5d ff ff ff    	js     0x42283a
4228dd:	8b 87 a4 00 00 00    	mov    0xa4(%edi),%eax
4228e3:	85 c0                	test   %eax,%eax
4228e5:	74 19                	je     0x422900
4228e7:	6a 00                	push   $0x0
4228e9:	50                   	push   %eax
4228ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
4228ed:	83 c0 18             	add    $0x18,%eax
4228f0:	50                   	push   %eax
4228f1:	e8 af f8 fd ff       	call   0x4021a5
4228f6:	8b f0                	mov    %eax,%esi
4228f8:	85 f6                	test   %esi,%esi
4228fa:	0f 88 63 ff ff ff    	js     0x422863
422900:	6a 00                	push   $0x0
422902:	ff 75 18             	push   0x18(%ebp)
422905:	ff 75 14             	push   0x14(%ebp)
422908:	6a 01                	push   $0x1
42290a:	6a 00                	push   $0x0
42290c:	57                   	push   %edi
42290d:	e8 a8 19 ff ff       	call   0x4142ba
422912:	5f                   	pop    %edi
422913:	8b c6                	mov    %esi,%eax
422915:	5e                   	pop    %esi
422916:	5b                   	pop    %ebx
422917:	8b e5                	mov    %ebp,%esp
422919:	5d                   	pop    %ebp
42291a:	c2 1c 00             	ret    $0x1c
42291d:	55                   	push   %ebp
42291e:	8b ec                	mov    %esp,%ebp
422920:	51                   	push   %ecx
422921:	53                   	push   %ebx
422922:	8b 5d 08             	mov    0x8(%ebp),%ebx
422925:	56                   	push   %esi
422926:	57                   	push   %edi
422927:	33 f6                	xor    %esi,%esi
422929:	8b 7b 40             	mov    0x40(%ebx),%edi
42292c:	8b d6                	mov    %esi,%edx
42292e:	89 75 fc             	mov    %esi,-0x4(%ebp)
422931:	8d 47 ff             	lea    -0x1(%edi),%eax
422934:	83 e8 01             	sub    $0x1,%eax
422937:	0f 84 85 00 00 00    	je     0x4229c2
42293d:	48                   	dec    %eax
42293e:	83 e8 01             	sub    $0x1,%eax
422941:	74 2d                	je     0x422970
422943:	bf 57 00 07 80       	mov    $0x80070057,%edi
422948:	57                   	push   %edi
422949:	68 dc 00 00 00       	push   $0xdc
42294e:	68 20 af 45 00       	push   $0x45af20
422953:	8b f7                	mov    %edi,%esi
422955:	e8 79 0e fe ff       	call   0x4037d3
42295a:	ff 73 40             	push   0x40(%ebx)
42295d:	68 30 af 45 00       	push   $0x45af30
422962:	57                   	push   %edi
422963:	e8 c7 d7 01 00       	call   0x44012f
422968:	83 c4 0c             	add    $0xc,%esp
42296b:	e9 fa 00 00 00       	jmp    0x422a6a
422970:	8b 43 50             	mov    0x50(%ebx),%eax
422973:	8b c8                	mov    %eax,%ecx
422975:	83 e9 01             	sub    $0x1,%ecx
422978:	74 43                	je     0x4229bd
42297a:	83 e9 01             	sub    $0x1,%ecx
42297d:	74 34                	je     0x4229b3
42297f:	83 e9 01             	sub    $0x1,%ecx
422982:	74 2f                	je     0x4229b3
422984:	83 e9 01             	sub    $0x1,%ecx
422987:	74 1b                	je     0x4229a4
422989:	83 e9 01             	sub    $0x1,%ecx
42298c:	74 07                	je     0x422995
42298e:	8b ce                	mov    %esi,%ecx
422990:	e9 c3 00 00 00       	jmp    0x422a58
422995:	8b 8b ac 00 00 00    	mov    0xac(%ebx),%ecx
42299b:	f7 d9                	neg    %ecx
42299d:	1b c9                	sbb    %ecx,%ecx
42299f:	83 e1 05             	and    $0x5,%ecx
4229a2:	eb 40                	jmp    0x4229e4
4229a4:	8b 8b a8 00 00 00    	mov    0xa8(%ebx),%ecx