428622:	0f 84 f5 05 00 00    	je     0x428c1d
428628:	8b 45 fc             	mov    -0x4(%ebp),%eax
42862b:	e8 54 fb ff ff       	call   0x428184
428630:	33 c0                	xor    %eax,%eax
428632:	89 45 90             	mov    %eax,-0x70(%ebp)
428635:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428639:	74 1c                	je     0x428657
42863b:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
428641:	50                   	push   %eax
428642:	6a 54                	push   $0x54
428644:	8b 45 fc             	mov    -0x4(%ebp),%eax
428647:	50                   	push   %eax
428648:	e8 57 df fd ff       	call   0x4065a4
42864d:	83 f8 18             	cmp    $0x18,%eax
428650:	7d 05                	jge    0x428657
428652:	e8 9d c9 ff ff       	call   0x424ff4
428657:	6a 00                	push   $0x0
428659:	e8 ee e1 fd ff       	call   0x40684c
42865e:	e8 b1 ca ff ff       	call   0x425114
428663:	89 45 e8             	mov    %eax,-0x18(%ebp)
428666:	8b 45 e8             	mov    -0x18(%ebp),%eax
428669:	50                   	push   %eax
42866a:	e8 7d de fd ff       	call   0x4064ec
42866f:	e8 a0 ca ff ff       	call   0x425114
428674:	89 45 e4             	mov    %eax,-0x1c(%ebp)
428677:	33 d2                	xor    %edx,%edx
428679:	55                   	push   %ebp
42867a:	68 16 8c 42 00       	push   $0x428c16
42867f:	64 ff 32             	push   %fs:(%edx)
428682:	64 89 22             	mov    %esp,%fs:(%edx)
428685:	8b 45 0c             	mov    0xc(%ebp),%eax
428688:	83 78 18 28          	cmpl   $0x28,0x18(%eax)
42868c:	73 5e                	jae    0x4286ec
42868e:	8b 45 0c             	mov    0xc(%ebp),%eax
428691:	66 8b 40 10          	mov    0x10(%eax),%ax
428695:	8b 55 0c             	mov    0xc(%ebp),%edx
428698:	66 0b 42 12          	or     0x12(%edx),%ax
42869c:	66 83 f8 01          	cmp    $0x1,%ax
4286a0:	75 26                	jne    0x4286c8
4286a2:	6a 00                	push   $0x0
4286a4:	6a 01                	push   $0x1
4286a6:	6a 01                	push   $0x1
4286a8:	8b 45 0c             	mov    0xc(%ebp),%eax
4286ab:	8b 40 08             	mov    0x8(%eax),%eax
4286ae:	50                   	push   %eax
4286af:	8b 45 0c             	mov    0xc(%ebp),%eax
4286b2:	8b 40 04             	mov    0x4(%eax),%eax
4286b5:	50                   	push   %eax
4286b6:	e8 19 de fd ff       	call   0x4064d4
4286bb:	e8 54 ca ff ff       	call   0x425114
4286c0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4286c3:	e9 5f 02 00 00       	jmp    0x428927
4286c8:	8b 45 0c             	mov    0xc(%ebp),%eax
4286cb:	8b 40 08             	mov    0x8(%eax),%eax
4286ce:	50                   	push   %eax
4286cf:	8b 45 0c             	mov    0xc(%ebp),%eax
4286d2:	8b 40 04             	mov    0x4(%eax),%eax
4286d5:	50                   	push   %eax
4286d6:	8b 45 e8             	mov    -0x18(%ebp),%eax
4286d9:	50                   	push   %eax
4286da:	e8 05 de fd ff       	call   0x4064e4
4286df:	e8 30 ca ff ff       	call   0x425114
4286e4:	89 45 f0             	mov    %eax,-0x10(%ebp)
4286e7:	e9 3b 02 00 00       	jmp    0x428927
4286ec:	b8 2c 04 00 00       	mov    $0x42c,%eax
4286f1:	e8 fe 9f fd ff       	call   0x4026f4
4286f6:	89 45 dc             	mov    %eax,-0x24(%ebp)
4286f9:	33 d2                	xor    %edx,%edx
4286fb:	55                   	push   %ebp
4286fc:	68 20 89 42 00       	push   $0x428920
428701:	64 ff 32             	push   %fs:(%edx)
428704:	64 89 22             	mov    %esp,%fs:(%edx)
428707:	8b 45 0c             	mov    0xc(%ebp),%eax
42870a:	c7 40 18 28 00 00 00 	movl   $0x28,0x18(%eax)
428711:	8b 45 0c             	mov    0xc(%ebp),%eax
428714:	66 c7 40 24 01 00    	movw   $0x1,0x24(%eax)
42871a:	8b 45 0c             	mov    0xc(%ebp),%eax
42871d:	66 83 78 26 00       	cmpw   $0x0,0x26(%eax)
428722:	75 23                	jne    0x428747
428724:	6a 0c                	push   $0xc
428726:	8b 45 e8             	mov    -0x18(%ebp),%eax
428729:	50                   	push   %eax
42872a:	e8 55 de fd ff       	call   0x406584
42872f:	8b d8                	mov    %eax,%ebx
428731:	6a 0e                	push   $0xe
428733:	8b 45 e8             	mov    -0x18(%ebp),%eax
428736:	50                   	push   %eax
428737:	e8 48 de fd ff       	call   0x406584
42873c:	66 0f af d8          	imul   %ax,%bx
428740:	8b 45 0c             	mov    0xc(%ebp),%eax
428743:	66 89 58 26          	mov    %bx,0x26(%eax)
428747:	8b 45 0c             	mov    0xc(%ebp),%eax
42874a:	8b 55 dc             	mov    -0x24(%ebp),%edx
42874d:	8d 70 18             	lea    0x18(%eax),%esi
428750:	8b fa                	mov    %edx,%edi
428752:	b9 0a 00 00 00       	mov    $0xa,%ecx
428757:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
428759:	8b 45 0c             	mov    0xc(%ebp),%eax
42875c:	8b 40 1c             	mov    0x1c(%eax),%eax
42875f:	8b 55 0c             	mov    0xc(%ebp),%edx
428762:	89 42 04             	mov    %eax,0x4(%edx)
428765:	8b 45 0c             	mov    0xc(%ebp),%eax
428768:	8b 40 20             	mov    0x20(%eax),%eax
42876b:	8b 55 0c             	mov    0xc(%ebp),%edx
42876e:	89 42 08             	mov    %eax,0x8(%edx)
428771:	8b 45 0c             	mov    0xc(%ebp),%eax
428774:	66 83 78 26 08       	cmpw   $0x8,0x26(%eax)
428779:	0f 87 c7 00 00 00    	ja     0x428846
42877f:	8b 45 0c             	mov    0xc(%ebp),%eax
428782:	66 83 78 26 01       	cmpw   $0x1,0x26(%eax)
428787:	75 28                	jne    0x4287b1
428789:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42878d:	74 06                	je     0x428795
42878f:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
428793:	75 1c                	jne    0x4287b1
428795:	8b 45 dc             	mov    -0x24(%ebp),%eax
428798:	33 d2                	xor    %edx,%edx
42879a:	89 50 28             	mov    %edx,0x28(%eax)
42879d:	8b 45 dc             	mov    -0x24(%ebp),%eax
4287a0:	83 c0 28             	add    $0x28,%eax
4287a3:	83 c0 04             	add    $0x4,%eax
4287a6:	c7 00 ff ff ff 00    	movl   $0xffffff,(%eax)
4287ac:	e9 d2 00 00 00       	jmp    0x428883
4287b1:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4287b5:	74 18                	je     0x4287cf
4287b7:	8b 45 dc             	mov    -0x24(%ebp),%eax
4287ba:	8d 50 28             	lea    0x28(%eax),%edx
4287bd:	b9 ff 00 00 00       	mov    $0xff,%ecx
4287c2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4287c5:	e8 de d0 ff ff       	call   0x4258a8
4287ca:	e9 b4 00 00 00       	jmp    0x428883
4287cf:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4287d3:	0f 84 aa 00 00 00    	je     0x428883
4287d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4287dc:	50                   	push   %eax
4287dd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4287e0:	50                   	push   %eax
4287e1:	e8 6e de fd ff       	call   0x406654
4287e6:	89 45 ec             	mov    %eax,-0x14(%ebp)
4287e9:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
4287ed:	76 25                	jbe    0x428814
4287ef:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
4287f3:	74 1f                	je     0x428814
4287f5:	8b 45 dc             	mov    -0x24(%ebp),%eax
4287f8:	83 c0 28             	add    $0x28,%eax
4287fb:	50                   	push   %eax
4287fc:	68 00 01 00 00       	push   $0x100
428801:	6a 00                	push   $0x0
428803:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428806:	50                   	push   %eax
428807:	e8 68 dd fd ff       	call   0x406574
42880c:	8b 55 0c             	mov    0xc(%ebp),%edx
42880f:	89 42 38             	mov    %eax,0x38(%edx)
428812:	eb 23                	jmp    0x428837
428814:	6a 00                	push   $0x0
428816:	8b 45 dc             	mov    -0x24(%ebp),%eax
428819:	50                   	push   %eax
42881a:	6a 00                	push   $0x0
42881c:	8b 45 0c             	mov    0xc(%ebp),%eax
42881f:	8b 40 20             	mov    0x20(%eax),%eax
428822:	99                   	cltd
428823:	33 c2                	xor    %edx,%eax
428825:	2b c2                	sub    %edx,%eax
428827:	50                   	push   %eax
428828:	6a 00                	push   $0x0
42882a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42882d:	50                   	push   %eax
42882e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428831:	50                   	push   %eax
428832:	e8 45 dd fd ff       	call   0x40657c
428837:	8b 45 ec             	mov    -0x14(%ebp),%eax
42883a:	50                   	push   %eax
42883b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42883e:	50                   	push   %eax
42883f:	e8 10 de fd ff       	call   0x406654
428844:	eb 3d                	jmp    0x428883
428846:	8b 45 0c             	mov    0xc(%ebp),%eax
428849:	66 8b 40 26          	mov    0x26(%eax),%ax
42884d:	66 83 f8 10          	cmp    $0x10,%ax
428851:	74 09                	je     0x42885c
428853:	8b 55 0c             	mov    0xc(%ebp),%edx
428856:	66 83 f8 20          	cmp    $0x20,%ax
42885a:	75 27                	jne    0x428883
42885c:	8b 45 0c             	mov    0xc(%ebp),%eax
42885f:	f6 40 28 03          	testb  $0x3,0x28(%eax)
428863:	74 1e                	je     0x428883
428865:	8b 45 0c             	mov    0xc(%ebp),%eax
428868:	e8 0f fd ff ff       	call   0x42857c
42886d:	8b 45 dc             	mov    -0x24(%ebp),%eax
428870:	8d 50 28             	lea    0x28(%eax),%edx
428873:	8b 45 0c             	mov    0xc(%ebp),%eax
428876:	83 c0 40             	add    $0x40,%eax
428879:	b9 0c 00 00 00       	mov    $0xc,%ecx
42887e:	e8 6d a0 fd ff       	call   0x4028f0
428883:	6a 00                	push   $0x0
428885:	6a 00                	push   $0x0
428887:	8d 45 d8             	lea    -0x28(%ebp),%eax
42888a:	50                   	push   %eax
42888b:	6a 00                	push   $0x0
42888d:	8b 45 dc             	mov    -0x24(%ebp),%eax
428890:	50                   	push   %eax
428891:	8b 45 e8             	mov    -0x18(%ebp),%eax
428894:	50                   	push   %eax
428895:	e8 5a dc fd ff       	call   0x4064f4
42889a:	e8 75 c8 ff ff       	call   0x425114
42889f:	89 45 f0             	mov    %eax,-0x10(%ebp)
4288a2:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4288a6:	75 05                	jne    0x4288ad
4288a8:	e8 bf c7 ff ff       	call   0x42506c
4288ad:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4288b1:	74 57                	je     0x42890a
4288b3:	8b 45 0c             	mov    0xc(%ebp),%eax
4288b6:	8b 40 1c             	mov    0x1c(%eax),%eax
4288b9:	3b 85 7c ff ff ff    	cmp    -0x84(%ebp),%eax
4288bf:	75 49                	jne    0x42890a
4288c1:	8b 45 0c             	mov    0xc(%ebp),%eax
4288c4:	8b 40 20             	mov    0x20(%eax),%eax
4288c7:	3b 45 80             	cmp    -0x80(%ebp),%eax
4288ca:	75 3e                	jne    0x42890a
4288cc:	8b 45 0c             	mov    0xc(%ebp),%eax
4288cf:	66 83 78 26 08       	cmpw   $0x8,0x26(%eax)
4288d4:	76 34                	jbe    0x42890a
4288d6:	6a 00                	push   $0x0
4288d8:	8b 45 dc             	mov    -0x24(%ebp),%eax
4288db:	50                   	push   %eax
4288dc:	8b 45 d8             	mov    -0x28(%ebp),%eax
4288df:	50                   	push   %eax
4288e0:	8b 45 0c             	mov    0xc(%ebp),%eax
4288e3:	8b 40 20             	mov    0x20(%eax),%eax
4288e6:	99                   	cltd
4288e7:	33 c2                	xor    %edx,%eax
4288e9:	2b c2                	sub    %edx,%eax
4288eb:	50                   	push   %eax
4288ec:	6a 00                	push   $0x0
4288ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4288f1:	50                   	push   %eax
4288f2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4288f5:	50                   	push   %eax
4288f6:	e8 81 dc fd ff       	call   0x40657c
4288fb:	e8 38 b2 fd ff       	call   0x403b38
428900:	e8 33 b2 fd ff       	call   0x403b38
428905:	e9 13 03 00 00       	jmp    0x428c1d
42890a:	33 c0                	xor    %eax,%eax
42890c:	5a                   	pop    %edx
42890d:	59                   	pop    %ecx
42890e:	59                   	pop    %ecx
42890f:	64 89 10             	mov    %edx,%fs:(%eax)
428912:	68 27 89 42 00       	push   $0x428927
428917:	8b 45 dc             	mov    -0x24(%ebp),%eax
42891a:	e8 f5 9d fd ff       	call   0x402714
42891f:	c3                   	ret
428920:	e9 2f b1 fd ff       	jmp    0x403a54
428925:	eb f0                	jmp    0x428917
428927:	8b 45 f0             	mov    -0x10(%ebp),%eax
42892a:	e8 e5 c7 ff ff       	call   0x425114
42892f:	8b 45 f0             	mov    -0x10(%ebp),%eax
428932:	50                   	push   %eax
428933:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428936:	50                   	push   %eax
428937:	e8 18 dd fd ff       	call   0x406654
42893c:	e8 d3 c7 ff ff       	call   0x425114
428941:	89 45 ec             	mov    %eax,-0x14(%ebp)
428944:	33 c0                	xor    %eax,%eax
428946:	55                   	push   %ebp
428947:	68 c7 8b 42 00       	push   $0x428bc7
42894c:	64 ff 30             	push   %fs:(%eax)
42894f:	64 89 20             	mov    %esp,%fs:(%eax)
428952:	33 c0                	xor    %eax,%eax
428954:	55                   	push   %ebp
428955:	68 b6 8b 42 00       	push   $0x428bb6
42895a:	64 ff 30             	push   %fs:(%eax)
42895d:	64 89 20             	mov    %esp,%fs:(%eax)
428960:	33 c0                	xor    %eax,%eax
428962:	89 45 cc             	mov    %eax,-0x34(%ebp)
428965:	33 db                	xor    %ebx,%ebx
428967:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
42896b:	74 1b                	je     0x428988
42896d:	6a 00                	push   $0x0
42896f:	8b 45 f4             	mov    -0xc(%ebp),%eax
428972:	50                   	push   %eax
428973:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428976:	50                   	push   %eax
428977:	e8 e0 dc fd ff       	call   0x40665c
42897c:	89 45 cc             	mov    %eax,-0x34(%ebp)
42897f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428982:	50                   	push   %eax
428983:	e8 a4 dc fd ff       	call   0x40662c
428988:	33 c0                	xor    %eax,%eax
42898a:	55                   	push   %ebp
42898b:	68 94 8b 42 00       	push   $0x428b94
428990:	64 ff 30             	push   %fs:(%eax)
428993:	64 89 20             	mov    %esp,%fs:(%eax)
428996:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42899a:	0f 84 b5 00 00 00    	je     0x428a55
4289a0:	8b 45 08             	mov    0x8(%ebp),%eax
4289a3:	8b 40 14             	mov    0x14(%eax),%eax
4289a6:	e8 99 bc ff ff       	call   0x424644
4289ab:	50                   	push   %eax
4289ac:	8b 45 0c             	mov    0xc(%ebp),%eax
4289af:	8b 40 08             	mov    0x8(%eax),%eax
4289b2:	50                   	push   %eax
4289b3:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
4289b9:	50                   	push   %eax
4289ba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4289bd:	8b 49 04             	mov    0x4(%ecx),%ecx
4289c0:	33 d2                	xor    %edx,%edx
4289c2:	33 c0                	xor    %eax,%eax
4289c4:	e8 4b e7 fe ff       	call   0x417114
4289c9:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
4289cf:	50                   	push   %eax
4289d0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4289d3:	50                   	push   %eax
4289d4:	e8 1b de fd ff       	call   0x4067f4
4289d9:	8b 45 08             	mov    0x8(%ebp),%eax
4289dc:	8b 40 0c             	mov    0xc(%eax),%eax
4289df:	8b 40 18             	mov    0x18(%eax),%eax
4289e2:	e8 9d af ff ff       	call   0x423984
4289e7:	50                   	push   %eax
4289e8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4289eb:	50                   	push   %eax
4289ec:	e8 b3 dc fd ff       	call   0x4066a4
4289f1:	8b 45 08             	mov    0x8(%ebp),%eax
4289f4:	8b 40 14             	mov    0x14(%eax),%eax
4289f7:	e8 0c bc ff ff       	call   0x424608
4289fc:	e8 83 af ff ff       	call   0x423984
428a01:	50                   	push   %eax
428a02:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428a05:	50                   	push   %eax
428a06:	e8 59 dc fd ff       	call   0x406664
428a0b:	8b 45 0c             	mov    0xc(%ebp),%eax
428a0e:	66 83 78 26 01       	cmpw   $0x1,0x26(%eax)
428a13:	75 60                	jne    0x428a75
428a15:	8b 45 0c             	mov    0xc(%ebp),%eax
428a18:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
428a1c:	74 57                	je     0x428a75
428a1e:	8b 45 08             	mov    0x8(%ebp),%eax
428a21:	8b 40 0c             	mov    0xc(%eax),%eax
428a24:	8b 40 18             	mov    0x18(%eax),%eax
428a27:	e8 58 af ff ff       	call   0x423984
428a2c:	89 45 d0             	mov    %eax,-0x30(%ebp)
428a2f:	8b 45 08             	mov    0x8(%ebp),%eax
428a32:	8b 40 14             	mov    0x14(%eax),%eax
428a35:	e8 ce bb ff ff       	call   0x424608
428a3a:	e8 45 af ff ff       	call   0x423984
428a3f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
428a42:	8d 45 d0             	lea    -0x30(%ebp),%eax
428a45:	50                   	push   %eax
428a46:	6a 02                	push   $0x2
428a48:	6a 00                	push   $0x0
428a4a:	8b 45 e4             	mov    -0x1c(%ebp),%eax