42872a:	64 ff 30             	push   %fs:(%eax)
42872d:	64 89 20             	mov    %esp,%fs:(%eax)
428730:	6a 00                	push   $0x0
428732:	e8 01 e4 fd ff       	call   0x406b38
428737:	e8 74 bb ff ff       	call   0x4242b0
42873c:	89 45 e8             	mov    %eax,-0x18(%ebp)
42873f:	8b 46 0c             	mov    0xc(%esi),%eax
428742:	50                   	push   %eax
428743:	8b 45 e8             	mov    -0x18(%ebp),%eax
428746:	50                   	push   %eax
428747:	e8 5c e5 fd ff       	call   0x406ca8
42874c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42874f:	8b 47 08             	mov    0x8(%edi),%eax
428752:	2b 07                	sub    (%edi),%eax
428754:	50                   	push   %eax
428755:	8b 47 0c             	mov    0xc(%edi),%eax
428758:	2b 47 04             	sub    0x4(%edi),%eax
42875b:	50                   	push   %eax
42875c:	8b c3                	mov    %ebx,%eax
42875e:	e8 55 01 00 00       	call   0x4288b8
428763:	8b 40 04             	mov    0x4(%eax),%eax
428766:	50                   	push   %eax
428767:	6a 00                	push   $0x0
428769:	6a 00                	push   $0x0
42876b:	8b 46 1c             	mov    0x1c(%esi),%eax
42876e:	50                   	push   %eax
42876f:	8b 46 20             	mov    0x20(%esi),%eax
428772:	50                   	push   %eax
428773:	8b 45 e8             	mov    -0x18(%ebp),%eax
428776:	50                   	push   %eax
428777:	6a 00                	push   $0x0
428779:	6a 00                	push   $0x0
42877b:	8b 4f 04             	mov    0x4(%edi),%ecx
42877e:	8b 17                	mov    (%edi),%edx
428780:	8b 45 fc             	mov    -0x4(%ebp),%eax
428783:	8b 40 04             	mov    0x4(%eax),%eax
428786:	e8 d5 bc ff ff       	call   0x424460
42878b:	33 c0                	xor    %eax,%eax
42878d:	5a                   	pop    %edx
42878e:	59                   	pop    %ecx
42878f:	59                   	pop    %ecx
428790:	64 89 10             	mov    %edx,%fs:(%eax)
428793:	68 00 88 42 00       	push   $0x428800
428798:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
42879c:	74 0d                	je     0x4287ab
42879e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4287a1:	50                   	push   %eax
4287a2:	8b 45 e8             	mov    -0x18(%ebp),%eax
4287a5:	50                   	push   %eax
4287a6:	e8 fd e4 fd ff       	call   0x406ca8
4287ab:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4287af:	74 09                	je     0x4287ba
4287b1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4287b4:	50                   	push   %eax
4287b5:	e8 c6 e3 fd ff       	call   0x406b80
4287ba:	c3                   	ret
4287bb:	e9 c8 b8 fd ff       	jmp    0x404088
4287c0:	eb d6                	jmp    0x428798
4287c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4287c5:	8b 40 20             	mov    0x20(%eax),%eax
4287c8:	50                   	push   %eax
4287c9:	8b 46 20             	mov    0x20(%esi),%eax
4287cc:	50                   	push   %eax
4287cd:	8b 46 1c             	mov    0x1c(%esi),%eax
4287d0:	50                   	push   %eax
4287d1:	6a 00                	push   $0x0
4287d3:	6a 00                	push   $0x0
4287d5:	8b c3                	mov    %ebx,%eax
4287d7:	e8 dc 00 00 00       	call   0x4288b8
4287dc:	8b 40 04             	mov    0x4(%eax),%eax
4287df:	50                   	push   %eax
4287e0:	8b 47 0c             	mov    0xc(%edi),%eax
4287e3:	2b 47 04             	sub    0x4(%edi),%eax
4287e6:	50                   	push   %eax
4287e7:	8b 47 08             	mov    0x8(%edi),%eax
4287ea:	2b 07                	sub    (%edi),%eax
4287ec:	50                   	push   %eax
4287ed:	8b 47 04             	mov    0x4(%edi),%eax
4287f0:	50                   	push   %eax
4287f1:	8b 07                	mov    (%edi),%eax
4287f3:	50                   	push   %eax
4287f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4287f7:	8b 40 04             	mov    0x4(%eax),%eax
4287fa:	50                   	push   %eax
4287fb:	e8 20 e5 fd ff       	call   0x406d20
428800:	33 c0                	xor    %eax,%eax
428802:	5a                   	pop    %edx
428803:	59                   	pop    %ecx
428804:	59                   	pop    %ecx
428805:	64 89 10             	mov    %edx,%fs:(%eax)
428808:	68 2d 88 42 00       	push   $0x42882d
42880d:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
428811:	74 12                	je     0x428825
428813:	6a ff                	push   $0xffffffff
428815:	8b 45 f8             	mov    -0x8(%ebp),%eax
428818:	50                   	push   %eax
428819:	8b 45 fc             	mov    -0x4(%ebp),%eax
42881c:	8b 40 04             	mov    0x4(%eax),%eax
42881f:	50                   	push   %eax
428820:	e8 8b e4 fd ff       	call   0x406cb0
428825:	c3                   	ret
428826:	e9 5d b8 fd ff       	jmp    0x404088
42882b:	eb e0                	jmp    0x42880d
42882d:	5f                   	pop    %edi
42882e:	5e                   	pop    %esi
42882f:	5b                   	pop    %ebx
428830:	8b e5                	mov    %ebp,%esp
428832:	5d                   	pop    %ebp
428833:	c3                   	ret
428834:	0f 00 00             	sldt   (%eax)
428837:	00 53 56             	add    %dl,0x56(%ebx)
42883a:	8b f0                	mov    %eax,%esi
42883c:	8b 5e 28             	mov    0x28(%esi),%ebx
42883f:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
428843:	7e 27                	jle    0x42886c
428845:	8b c6                	mov    %esi,%eax
428847:	e8 2c 02 00 00       	call   0x428a78
42884c:	80 7b 71 00          	cmpb   $0x0,0x71(%ebx)
428850:	74 04                	je     0x428856
428852:	33 c0                	xor    %eax,%eax
428854:	eb 03                	jmp    0x428859
428856:	8b 43 10             	mov    0x10(%ebx),%eax
428859:	8d 53 18             	lea    0x18(%ebx),%edx
42885c:	52                   	push   %edx
42885d:	8b c8                	mov    %eax,%ecx
42885f:	8b 53 08             	mov    0x8(%ebx),%edx
428862:	8b c6                	mov    %esi,%eax
428864:	e8 1b fc ff ff       	call   0x428484
428869:	5e                   	pop    %esi
42886a:	5b                   	pop    %ebx
42886b:	c3                   	ret
42886c:	8b 43 08             	mov    0x8(%ebx),%eax
42886f:	85 c0                	test   %eax,%eax
428871:	74 25                	je     0x428898
428873:	3b 43 14             	cmp    0x14(%ebx),%eax
428876:	74 20                	je     0x428898
428878:	8b 73 14             	mov    0x14(%ebx),%esi
42887b:	85 f6                	test   %esi,%esi
42887d:	74 0f                	je     0x42888e
42887f:	56                   	push   %esi
428880:	e8 0b e3 fd ff       	call   0x406b90
428885:	85 c0                	test   %eax,%eax
428887:	75 05                	jne    0x42888e
428889:	e8 7a b9 ff ff       	call   0x424208
42888e:	33 c0                	xor    %eax,%eax
428890:	89 43 14             	mov    %eax,0x14(%ebx)
428893:	33 c0                	xor    %eax,%eax
428895:	89 43 2c             	mov    %eax,0x2c(%ebx)
428898:	5e                   	pop    %esi
428899:	5b                   	pop    %ebx
42889a:	c3                   	ret
42889b:	90                   	nop
42889c:	8b 40 28             	mov    0x28(%eax),%eax
42889f:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4288a3:	75 0c                	jne    0x4288b1
4288a5:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
4288a9:	75 06                	jne    0x4288b1
4288ab:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
4288af:	74 03                	je     0x4288b4
4288b1:	33 c0                	xor    %eax,%eax
4288b3:	c3                   	ret
4288b4:	b0 01                	mov    $0x1,%al
4288b6:	c3                   	ret
4288b7:	90                   	nop
4288b8:	53                   	push   %ebx
4288b9:	56                   	push   %esi
4288ba:	8b d8                	mov    %eax,%ebx
4288bc:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
4288c0:	75 35                	jne    0x4288f7
4288c2:	8b c3                	mov    %ebx,%eax
4288c4:	e8 af 01 00 00       	call   0x428a78
4288c9:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
4288cd:	75 28                	jne    0x4288f7
4288cf:	8b cb                	mov    %ebx,%ecx
4288d1:	b2 01                	mov    $0x1,%dl
4288d3:	a1 84 74 42 00       	mov    0x427484,%eax
4288d8:	e8 6b ed ff ff       	call   0x427648
4288dd:	8b f0                	mov    %eax,%esi
4288df:	89 73 2c             	mov    %esi,0x2c(%ebx)
4288e2:	89 5e 2c             	mov    %ebx,0x2c(%esi)
4288e5:	8b 03                	mov    (%ebx),%eax
4288e7:	8b 40 10             	mov    0x10(%eax),%eax
4288ea:	89 46 28             	mov    %eax,0x28(%esi)
4288ed:	89 5e 34             	mov    %ebx,0x34(%esi)
4288f0:	c7 46 30 44 85 42 00 	movl   $0x428544,0x30(%esi)
4288f7:	8b 43 2c             	mov    0x2c(%ebx),%eax
4288fa:	5e                   	pop    %esi
4288fb:	5b                   	pop    %ebx
4288fc:	c3                   	ret
4288fd:	8d 40 00             	lea    0x0(%eax),%eax
428900:	53                   	push   %ebx
428901:	8b d8                	mov    %eax,%ebx
428903:	8b c3                	mov    %ebx,%eax
428905:	e8 5e 01 00 00       	call   0x428a68
42890a:	8b c3                	mov    %ebx,%eax
42890c:	e8 67 01 00 00       	call   0x428a78
428911:	8b d3                	mov    %ebx,%edx
428913:	8b c3                	mov    %ebx,%eax
428915:	e8 2a fc ff ff       	call   0x428544
42891a:	8b 43 28             	mov    0x28(%ebx),%eax
42891d:	8b 40 08             	mov    0x8(%eax),%eax
428920:	5b                   	pop    %ebx
428921:	c3                   	ret
428922:	8b c0                	mov    %eax,%eax
428924:	8b 40 28             	mov    0x28(%eax),%eax
428927:	8b 50 08             	mov    0x8(%eax),%edx
42892a:	85 d2                	test   %edx,%edx
42892c:	74 05                	je     0x428933
42892e:	3b 50 14             	cmp    0x14(%eax),%edx
428931:	75 17                	jne    0x42894a
428933:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
428937:	75 0e                	jne    0x428947
428939:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
42893d:	75 04                	jne    0x428943
42893f:	b0 01                	mov    $0x1,%al
428941:	eb 09                	jmp    0x42894c
428943:	33 c0                	xor    %eax,%eax
428945:	eb 05                	jmp    0x42894c
428947:	33 c0                	xor    %eax,%eax
428949:	c3                   	ret
42894a:	b0 01                	mov    $0x1,%al
42894c:	c3                   	ret
42894d:	8d 40 00             	lea    0x0(%eax),%eax
428950:	8b c8                	mov    %eax,%ecx
428952:	8b 41 28             	mov    0x28(%ecx),%eax
428955:	8b 40 20             	mov    0x20(%eax),%eax
428958:	99                   	cltd
428959:	33 c2                	xor    %edx,%eax
42895b:	2b c2                	sub    %edx,%eax
42895d:	c3                   	ret
42895e:	8b c0                	mov    %eax,%eax
428960:	53                   	push   %ebx
428961:	8b d8                	mov    %eax,%ebx
428963:	8b c3                	mov    %ebx,%eax
428965:	e8 ae 01 00 00       	call   0x428b18
42896a:	8b 43 28             	mov    0x28(%ebx),%eax
42896d:	8b 40 0c             	mov    0xc(%eax),%eax
428970:	5b                   	pop    %ebx
428971:	c3                   	ret
428972:	8b c0                	mov    %eax,%eax
428974:	8b 40 28             	mov    0x28(%eax),%eax
428977:	83 c0 18             	add    $0x18,%eax
42897a:	66 83 78 10 01       	cmpw   $0x1,0x10(%eax)
42897f:	75 07                	jne    0x428988
428981:	66 83 78 12 01       	cmpw   $0x1,0x12(%eax)
428986:	74 03                	je     0x42898b
428988:	33 c0                	xor    %eax,%eax
42898a:	c3                   	ret
42898b:	b0 01                	mov    $0x1,%al
42898d:	c3                   	ret
42898e:	8b c0                	mov    %eax,%eax
428990:	53                   	push   %ebx
428991:	8b d8                	mov    %eax,%ebx
428993:	8b c3                	mov    %ebx,%eax
428995:	e8 de 01 00 00       	call   0x428b78
42899a:	8b 43 28             	mov    0x28(%ebx),%eax
42899d:	8b 40 10             	mov    0x10(%eax),%eax
4289a0:	5b                   	pop    %ebx
4289a1:	c3                   	ret
4289a2:	8b c0                	mov    %eax,%eax
4289a4:	53                   	push   %ebx
4289a5:	8b d8                	mov    %eax,%ebx
4289a7:	8b 43 34             	mov    0x34(%ebx),%eax
4289aa:	3d 00 00 00 20       	cmp    $0x20000000,%eax
4289af:	75 2c                	jne    0x4289dd
4289b1:	8b c3                	mov    %ebx,%eax
4289b3:	e8 bc ff ff ff       	call   0x428974
4289b8:	84 c0                	test   %al,%al
4289ba:	74 07                	je     0x4289c3
4289bc:	b8 ff ff ff 00       	mov    $0xffffff,%eax
4289c1:	eb 1f                	jmp    0x4289e2
4289c3:	8b c3                	mov    %ebx,%eax
4289c5:	8b 10                	mov    (%eax),%edx
4289c7:	ff 52 20             	call   *0x20(%edx)
4289ca:	48                   	dec    %eax
4289cb:	50                   	push   %eax
4289cc:	8b c3                	mov    %ebx,%eax
4289ce:	e8 e5 fe ff ff       	call   0x4288b8
4289d3:	33 d2                	xor    %edx,%edx
4289d5:	59                   	pop    %ecx
4289d6:	e8 5d b4 ff ff       	call   0x423e38
4289db:	eb 05                	jmp    0x4289e2
4289dd:	e8 ae a0 ff ff       	call   0x422a90
4289e2:	0d 00 00 00 02       	or     $0x2000000,%eax
4289e7:	5b                   	pop    %ebx
4289e8:	c3                   	ret
4289e9:	8d 40 00             	lea    0x0(%eax),%eax
4289ec:	8b 40 28             	mov    0x28(%eax),%eax
4289ef:	8b 40 1c             	mov    0x1c(%eax),%eax
4289f2:	c3                   	ret
4289f3:	90                   	nop
4289f4:	53                   	push   %ebx
4289f5:	56                   	push   %esi
4289f6:	8b 58 28             	mov    0x28(%eax),%ebx
4289f9:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4289fd:	74 65                	je     0x428a64
4289ff:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
428a03:	75 5f                	jne    0x428a64
428a05:	e8 6e 01 00 00       	call   0x428b78
428a0a:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
428a0e:	75 3c                	jne    0x428a4c
428a10:	8d 43 18             	lea    0x18(%ebx),%eax
428a13:	50                   	push   %eax
428a14:	6a 54                	push   $0x54
428a16:	8b 43 08             	mov    0x8(%ebx),%eax
428a19:	50                   	push   %eax
428a1a:	e8 e1 e1 fd ff       	call   0x406c00
428a1f:	8d 43 18             	lea    0x18(%ebx),%eax
428a22:	8b d0                	mov    %eax,%edx
428a24:	83 c0 18             	add    $0x18,%eax
428a27:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
428a2d:	8b 4a 04             	mov    0x4(%edx),%ecx
428a30:	89 48 04             	mov    %ecx,0x4(%eax)
428a33:	8b 4a 08             	mov    0x8(%edx),%ecx
428a36:	89 48 08             	mov    %ecx,0x8(%eax)
428a39:	66 c7 40 0c 01 00    	movw   $0x1,0xc(%eax)
428a3f:	0f b7 4a 10          	movzwl 0x10(%edx),%ecx
428a43:	66 0f af 4a 12       	imul   0x12(%edx),%cx
428a48:	66 89 48 0e          	mov    %cx,0xe(%eax)
428a4c:	8d 43 18             	lea    0x18(%ebx),%eax
428a4f:	50                   	push   %eax
428a50:	6a 00                	push   $0x0
428a52:	8b 73 10             	mov    0x10(%ebx),%esi
428a55:	8b ce                	mov    %esi,%ecx
428a57:	8b d6                	mov    %esi,%edx
428a59:	8b 43 08             	mov    0x8(%ebx),%eax
428a5c:	e8 af ef ff ff       	call   0x427a10
428a61:	89 43 14             	mov    %eax,0x14(%ebx)
428a64:	5e                   	pop    %esi
428a65:	5b                   	pop    %ebx
428a66:	c3                   	ret
428a67:	90                   	nop
428a68:	8b 50 2c             	mov    0x2c(%eax),%edx
428a6b:	85 d2                	test   %edx,%edx
428a6d:	74 07                	je     0x428a76
428a6f:	8b c2                	mov    %edx,%eax
428a71:	e8 3a ec ff ff       	call   0x4276b0
428a76:	c3                   	ret
428a77:	90                   	nop
428a78:	55                   	push   %ebp
428a79:	8b ec                	mov    %esp,%ebp
428a7b:	83 c4 f0             	add    $0xfffffff0,%esp
428a7e:	89 45 fc             	mov    %eax,-0x4(%ebp)
428a81:	8b 45 fc             	mov    -0x4(%ebp),%eax
428a84:	8b 40 28             	mov    0x28(%eax),%eax
428a87:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
428a8b:	75 75                	jne    0x428b02
428a8d:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
428a91:	75 6f                	jne    0x428b02
428a93:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)