42875e:	3b 75 28             	cmp    0x28(%ebp),%esi
428761:	0f 85 9f 00 00 00    	jne    0x428806
428767:	6a 01                	push   $0x1
428769:	6a 01                	push   $0x1
42876b:	8b 45 24             	mov    0x24(%ebp),%eax
42876e:	50                   	push   %eax
42876f:	e8 34 e2 fd ff       	call   0x4069a8
428774:	e8 0f fe ff ff       	call   0x428588
428779:	89 45 ec             	mov    %eax,-0x14(%ebp)
42877c:	8b 45 ec             	mov    -0x14(%ebp),%eax
42877f:	50                   	push   %eax
428780:	8b 45 10             	mov    0x10(%ebp),%eax
428783:	50                   	push   %eax
428784:	e8 4f e3 fd ff       	call   0x406ad8
428789:	89 45 ec             	mov    %eax,-0x14(%ebp)
42878c:	33 c0                	xor    %eax,%eax
42878e:	55                   	push   %ebp
42878f:	68 ff 87 42 00       	push   $0x4287ff
428794:	64 ff 30             	push   %fs:(%eax)
428797:	64 89 20             	mov    %esp,%fs:(%eax)
42879a:	ba 20 00 cc 00       	mov    $0xcc0020,%edx
42879f:	b8 29 00 aa 00       	mov    $0xaa0029,%eax
4287a4:	e8 ff e8 fd ff       	call   0x4070a8
4287a9:	50                   	push   %eax
4287aa:	8b 45 08             	mov    0x8(%ebp),%eax
4287ad:	50                   	push   %eax
4287ae:	8b 45 0c             	mov    0xc(%ebp),%eax
4287b1:	50                   	push   %eax
4287b2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4287b5:	50                   	push   %eax
4287b6:	8b 45 1c             	mov    0x1c(%ebp),%eax
4287b9:	50                   	push   %eax
4287ba:	8b 45 20             	mov    0x20(%ebp),%eax
4287bd:	50                   	push   %eax
4287be:	8b 45 24             	mov    0x24(%ebp),%eax
4287c1:	50                   	push   %eax
4287c2:	8b 45 28             	mov    0x28(%ebp),%eax
4287c5:	50                   	push   %eax
4287c6:	8b 45 2c             	mov    0x2c(%ebp),%eax
4287c9:	50                   	push   %eax
4287ca:	8b 45 f8             	mov    -0x8(%ebp),%eax
4287cd:	50                   	push   %eax
4287ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4287d1:	50                   	push   %eax
4287d2:	57                   	push   %edi
4287d3:	e8 c0 e2 fd ff       	call   0x406a98
4287d8:	33 c0                	xor    %eax,%eax
4287da:	5a                   	pop    %edx
4287db:	59                   	pop    %ecx
4287dc:	59                   	pop    %ecx
4287dd:	64 89 10             	mov    %edx,%fs:(%eax)
4287e0:	68 b3 89 42 00       	push   $0x4289b3
4287e5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4287e8:	50                   	push   %eax
4287e9:	8b 45 10             	mov    0x10(%ebp),%eax
4287ec:	50                   	push   %eax
4287ed:	e8 e6 e2 fd ff       	call   0x406ad8
4287f2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4287f5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4287f8:	50                   	push   %eax
4287f9:	e8 fa e1 fd ff       	call   0x4069f8
4287fe:	c3                   	ret
4287ff:	e9 64 b3 fd ff       	jmp    0x403b68
428804:	eb df                	jmp    0x4287e5
428806:	33 c0                	xor    %eax,%eax
428808:	89 45 dc             	mov    %eax,-0x24(%ebp)
42880b:	6a 00                	push   $0x0
42880d:	e8 9e e1 fd ff       	call   0x4069b0
428812:	e8 71 fd ff ff       	call   0x428588
428817:	89 45 f0             	mov    %eax,-0x10(%ebp)
42881a:	33 c0                	xor    %eax,%eax
42881c:	55                   	push   %ebp
42881d:	68 ac 89 42 00       	push   $0x4289ac
428822:	64 ff 30             	push   %fs:(%eax)
428825:	64 89 20             	mov    %esp,%fs:(%eax)
428828:	56                   	push   %esi
428829:	53                   	push   %ebx
42882a:	8b 45 24             	mov    0x24(%ebp),%eax
42882d:	50                   	push   %eax
42882e:	e8 75 e1 fd ff       	call   0x4069a8
428833:	e8 50 fd ff ff       	call   0x428588
428838:	89 45 ec             	mov    %eax,-0x14(%ebp)
42883b:	8b 45 ec             	mov    -0x14(%ebp),%eax
42883e:	50                   	push   %eax
42883f:	8b 45 f0             	mov    -0x10(%ebp),%eax
428842:	50                   	push   %eax
428843:	e8 90 e2 fd ff       	call   0x406ad8
428848:	89 45 e8             	mov    %eax,-0x18(%ebp)
42884b:	6a 00                	push   $0x0
42884d:	a1 90 c8 49 00       	mov    0x49c890,%eax
428852:	50                   	push   %eax
428853:	8b 45 24             	mov    0x24(%ebp),%eax
428856:	50                   	push   %eax
428857:	e8 84 e2 fd ff       	call   0x406ae0
42885c:	89 45 dc             	mov    %eax,-0x24(%ebp)
42885f:	6a 00                	push   $0x0
428861:	8b 45 dc             	mov    -0x24(%ebp),%eax
428864:	50                   	push   %eax
428865:	8b 45 24             	mov    0x24(%ebp),%eax
428868:	50                   	push   %eax
428869:	e8 72 e2 fd ff       	call   0x406ae0
42886e:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
428872:	74 14                	je     0x428888
428874:	6a ff                	push   $0xffffffff
428876:	8b 45 dc             	mov    -0x24(%ebp),%eax
428879:	50                   	push   %eax
42887a:	8b 45 f0             	mov    -0x10(%ebp),%eax
42887d:	50                   	push   %eax
42887e:	e8 5d e2 fd ff       	call   0x406ae0
428883:	89 45 dc             	mov    %eax,-0x24(%ebp)
428886:	eb 14                	jmp    0x42889c
428888:	6a ff                	push   $0xffffffff
42888a:	a1 90 c8 49 00       	mov    0x49c890,%eax
42888f:	50                   	push   %eax
428890:	8b 45 f0             	mov    -0x10(%ebp),%eax
428893:	50                   	push   %eax
428894:	e8 47 e2 fd ff       	call   0x406ae0
428899:	89 45 dc             	mov    %eax,-0x24(%ebp)
42889c:	8b 45 f0             	mov    -0x10(%ebp),%eax
42889f:	50                   	push   %eax
4288a0:	e8 0b e2 fd ff       	call   0x406ab0
4288a5:	68 20 00 cc 00       	push   $0xcc0020
4288aa:	56                   	push   %esi
4288ab:	53                   	push   %ebx
4288ac:	8b 45 08             	mov    0x8(%ebp),%eax
4288af:	50                   	push   %eax
4288b0:	8b 45 0c             	mov    0xc(%ebp),%eax
4288b3:	50                   	push   %eax
4288b4:	8b 45 10             	mov    0x10(%ebp),%eax
4288b7:	50                   	push   %eax
4288b8:	56                   	push   %esi
4288b9:	53                   	push   %ebx
4288ba:	6a 00                	push   $0x0
4288bc:	6a 00                	push   $0x0
4288be:	8b 45 f0             	mov    -0x10(%ebp),%eax
4288c1:	50                   	push   %eax
4288c2:	e8 71 e2 fd ff       	call   0x406b38
4288c7:	68 28 03 44 00       	push   $0x440328
4288cc:	56                   	push   %esi
4288cd:	53                   	push   %ebx
4288ce:	8b 45 1c             	mov    0x1c(%ebp),%eax
4288d1:	50                   	push   %eax
4288d2:	8b 45 20             	mov    0x20(%ebp),%eax
4288d5:	50                   	push   %eax
4288d6:	8b 45 24             	mov    0x24(%ebp),%eax
4288d9:	50                   	push   %eax
4288da:	56                   	push   %esi
4288db:	53                   	push   %ebx
4288dc:	6a 00                	push   $0x0
4288de:	6a 00                	push   $0x0
4288e0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4288e3:	50                   	push   %eax
4288e4:	e8 4f e2 fd ff       	call   0x406b38
4288e9:	6a 00                	push   $0x0
4288eb:	57                   	push   %edi
4288ec:	e8 2f e2 fd ff       	call   0x406b20
4288f1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4288f4:	68 ff ff ff 00       	push   $0xffffff
4288f9:	57                   	push   %edi
4288fa:	e8 e9 e1 fd ff       	call   0x406ae8
4288ff:	89 45 e0             	mov    %eax,-0x20(%ebp)
428902:	68 c6 00 88 00       	push   $0x8800c6
428907:	56                   	push   %esi
428908:	53                   	push   %ebx
428909:	8b 45 08             	mov    0x8(%ebp),%eax
42890c:	50                   	push   %eax
42890d:	8b 45 0c             	mov    0xc(%ebp),%eax
428910:	50                   	push   %eax
428911:	8b 45 10             	mov    0x10(%ebp),%eax
428914:	50                   	push   %eax
428915:	8b 45 28             	mov    0x28(%ebp),%eax
428918:	50                   	push   %eax
428919:	8b 45 2c             	mov    0x2c(%ebp),%eax
42891c:	50                   	push   %eax
42891d:	8b 45 f8             	mov    -0x8(%ebp),%eax
428920:	50                   	push   %eax
428921:	8b 45 fc             	mov    -0x4(%ebp),%eax
428924:	50                   	push   %eax
428925:	57                   	push   %edi
428926:	e8 0d e2 fd ff       	call   0x406b38
42892b:	68 46 00 66 00       	push   $0x660046
428930:	56                   	push   %esi
428931:	53                   	push   %ebx
428932:	6a 00                	push   $0x0
428934:	6a 00                	push   $0x0
428936:	8b 45 f0             	mov    -0x10(%ebp),%eax
428939:	50                   	push   %eax
42893a:	8b 45 28             	mov    0x28(%ebp),%eax
42893d:	50                   	push   %eax
42893e:	8b 45 2c             	mov    0x2c(%ebp),%eax
428941:	50                   	push   %eax
428942:	8b 45 f8             	mov    -0x8(%ebp),%eax
428945:	50                   	push   %eax
428946:	8b 45 fc             	mov    -0x4(%ebp),%eax
428949:	50                   	push   %eax
42894a:	57                   	push   %edi
42894b:	e8 e8 e1 fd ff       	call   0x406b38
428950:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428953:	50                   	push   %eax
428954:	57                   	push   %edi
428955:	e8 c6 e1 fd ff       	call   0x406b20
42895a:	8b 45 e0             	mov    -0x20(%ebp),%eax
42895d:	50                   	push   %eax
42895e:	57                   	push   %edi
42895f:	e8 84 e1 fd ff       	call   0x406ae8
428964:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
428968:	74 0d                	je     0x428977
42896a:	8b 45 e8             	mov    -0x18(%ebp),%eax
42896d:	50                   	push   %eax
42896e:	8b 45 f0             	mov    -0x10(%ebp),%eax
428971:	50                   	push   %eax
428972:	e8 61 e1 fd ff       	call   0x406ad8
428977:	8b 45 ec             	mov    -0x14(%ebp),%eax
42897a:	50                   	push   %eax
42897b:	e8 78 e0 fd ff       	call   0x4069f8
428980:	33 c0                	xor    %eax,%eax
428982:	5a                   	pop    %edx
428983:	59                   	pop    %ecx
428984:	59                   	pop    %ecx
428985:	64 89 10             	mov    %edx,%fs:(%eax)
428988:	68 b3 89 42 00       	push   $0x4289b3
42898d:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
428991:	74 0f                	je     0x4289a2
428993:	6a 00                	push   $0x0
428995:	8b 45 dc             	mov    -0x24(%ebp),%eax
428998:	50                   	push   %eax
428999:	8b 45 f0             	mov    -0x10(%ebp),%eax
42899c:	50                   	push   %eax
42899d:	e8 3e e1 fd ff       	call   0x406ae0
4289a2:	8b 45 f0             	mov    -0x10(%ebp),%eax
4289a5:	50                   	push   %eax
4289a6:	e8 45 e0 fd ff       	call   0x4069f0
4289ab:	c3                   	ret
4289ac:	e9 b7 b1 fd ff       	jmp    0x403b68
4289b1:	eb da                	jmp    0x42898d
4289b3:	8a 45 f7             	mov    -0x9(%ebp),%al
4289b6:	5f                   	pop    %edi
4289b7:	5e                   	pop    %esi
4289b8:	5b                   	pop    %ebx
4289b9:	8b e5                	mov    %ebp,%esp
4289bb:	5d                   	pop    %ebp
4289bc:	c2 28 00             	ret    $0x28
4289bf:	90                   	nop
4289c0:	53                   	push   %ebx
4289c1:	56                   	push   %esi
4289c2:	57                   	push   %edi
4289c3:	8b f0                	mov    %eax,%esi
4289c5:	8b fe                	mov    %esi,%edi
4289c7:	ba ff 00 00 00       	mov    $0xff,%edx
4289cc:	8d 04 97             	lea    (%edi,%edx,4),%eax
4289cf:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
4289d2:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
4289d5:	8a 59 02             	mov    0x2(%ecx),%bl
4289d8:	88 58 02             	mov    %bl,0x2(%eax)
4289db:	8a 59 01             	mov    0x1(%ecx),%bl
4289de:	88 58 01             	mov    %bl,0x1(%eax)
4289e1:	8a 09                	mov    (%ecx),%cl
4289e3:	88 08                	mov    %cl,(%eax)
4289e5:	c6 40 03 00          	movb   $0x0,0x3(%eax)
4289e9:	4a                   	dec    %edx
4289ea:	85 d2                	test   %edx,%edx
4289ec:	75 de                	jne    0x4289cc
4289ee:	c6 47 03 00          	movb   $0x0,0x3(%edi)
4289f2:	5f                   	pop    %edi
4289f3:	5e                   	pop    %esi
4289f4:	5b                   	pop    %ebx
4289f5:	c3                   	ret
4289f6:	8b c0                	mov    %eax,%eax
4289f8:	53                   	push   %ebx
4289f9:	56                   	push   %esi
4289fa:	57                   	push   %edi
4289fb:	83 c4 f8             	add    $0xfffffff8,%esp
4289fe:	89 14 24             	mov    %edx,(%esp)
428a01:	8b f0                	mov    %eax,%esi
428a03:	89 74 24 04          	mov    %esi,0x4(%esp)
428a07:	8b 3c 24             	mov    (%esp),%edi
428a0a:	8b 3f                	mov    (%edi),%edi
428a0c:	4f                   	dec    %edi
428a0d:	85 ff                	test   %edi,%edi
428a0f:	7e 26                	jle    0x428a37
428a11:	b9 01 00 00 00       	mov    $0x1,%ecx
428a16:	8b 44 24 04          	mov    0x4(%esp),%eax
428a1a:	8d 04 88             	lea    (%eax,%ecx,4),%eax
428a1d:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
428a20:	8d 14 16             	lea    (%esi,%edx,1),%edx
428a23:	8a 58 02             	mov    0x2(%eax),%bl
428a26:	88 5a 02             	mov    %bl,0x2(%edx)
428a29:	8a 58 01             	mov    0x1(%eax),%bl
428a2c:	88 5a 01             	mov    %bl,0x1(%edx)
428a2f:	8a 00                	mov    (%eax),%al
428a31:	88 02                	mov    %al,(%edx)
428a33:	41                   	inc    %ecx
428a34:	4f                   	dec    %edi
428a35:	75 df                	jne    0x428a16
428a37:	8b 04 24             	mov    (%esp),%eax
428a3a:	81 38 00 01 00 00    	cmpl   $0x100,(%eax)
428a40:	7d 28                	jge    0x428a6a
428a42:	8b 04 24             	mov    (%esp),%eax
428a45:	ba 00 01 00 00       	mov    $0x100,%edx
428a4a:	2b 10                	sub    (%eax),%edx
428a4c:	8d 14 52             	lea    (%edx,%edx,2),%edx
428a4f:	8b 04 24             	mov    (%esp),%eax
428a52:	8b 00                	mov    (%eax),%eax
428a54:	8d 04 40             	lea    (%eax,%eax,2),%eax
428a57:	8d 04 06             	lea    (%esi,%eax,1),%eax
428a5a:	33 c9                	xor    %ecx,%ecx
428a5c:	e8 0b a3 fd ff       	call   0x402d6c
428a61:	8b 04 24             	mov    (%esp),%eax
428a64:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
428a6a:	59                   	pop    %ecx
428a6b:	5a                   	pop    %edx
428a6c:	5f                   	pop    %edi
428a6d:	5e                   	pop    %esi
428a6e:	5b                   	pop    %ebx
428a6f:	c3                   	ret
428a70:	55                   	push   %ebp
428a71:	8b ec                	mov    %esp,%ebp
428a73:	83 c4 d4             	add    $0xffffffd4,%esp
428a76:	89 55 f8             	mov    %edx,-0x8(%ebp)
428a79:	89 45 fc             	mov    %eax,-0x4(%ebp)
428a7c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
428a7f:	50                   	push   %eax
428a80:	e8 9b dd fd ff       	call   0x406820
428a85:	8b 55 fc             	mov    -0x4(%ebp),%edx
428a88:	8b 4d f8             	mov    -0x8(%ebp),%ecx
428a8b:	49                   	dec    %ecx
428a8c:	78 33                	js     0x428ac1
428a8e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
428a91:	66 83 78 20 03       	cmpw   $0x3,0x20(%eax)
428a96:	74 10                	je     0x428aa8
428a98:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
428a9b:	0f c8                	bswap  %eax
428a9d:	c1 e8 08             	shr    $0x8,%eax
428aa0:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
428aa3:	49                   	dec    %ecx
428aa4:	79 f2                	jns    0x428a98
428aa6:	eb 19                	jmp    0x428ac1
428aa8:	53                   	push   %ebx
428aa9:	31 db                	xor    %ebx,%ebx
428aab:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
428aae:	88 c7                	mov    %al,%bh
428ab0:	88 e3                	mov    %ah,%bl
428ab2:	c1 e8 10             	shr    $0x10,%eax
428ab5:	c1 e3 08             	shl    $0x8,%ebx
428ab8:	88 c3                	mov    %al,%bl
428aba:	89 1c 8a             	mov    %ebx,(%edx,%ecx,4)
428abd:	49                   	dec    %ecx
428abe:	79 e9                	jns    0x428aa9
428ac0:	5b                   	pop    %ebx
428ac1:	8b e5                	mov    %ebp,%esp