42081b:	ff 04 00             	incl   (%eax,%eax,1)
42081e:	00 00                	add    %al,(%eax)
420820:	44                   	inc    %esp
420821:	61                   	popa
420822:	74 61                	je     0x420885
420824:	00 00                	add    %al,(%eax)
420826:	00 00                	add    %al,(%eax)
420828:	33 d2                	xor    %edx,%edx
42082a:	8b 48 0c             	mov    0xc(%eax),%ecx
42082d:	85 c9                	test   %ecx,%ecx
42082f:	74 09                	je     0x42083a
420831:	8b c1                	mov    %ecx,%eax
420833:	8b 10                	mov    (%eax),%edx
420835:	ff 52 2c             	call   *0x2c(%edx)
420838:	8b d0                	mov    %eax,%edx
42083a:	8b c2                	mov    %edx,%eax
42083c:	c3                   	ret
42083d:	8d 40 00             	lea    0x0(%eax),%eax
420840:	33 d2                	xor    %edx,%edx
420842:	8b 48 0c             	mov    0xc(%eax),%ecx
420845:	85 c9                	test   %ecx,%ecx
420847:	74 09                	je     0x420852
420849:	8b c1                	mov    %ecx,%eax
42084b:	8b 10                	mov    (%eax),%edx
42084d:	ff 52 20             	call   *0x20(%edx)
420850:	8b d0                	mov    %eax,%edx
420852:	8b c2                	mov    %edx,%eax
420854:	c3                   	ret
420855:	8d 40 00             	lea    0x0(%eax),%eax
420858:	53                   	push   %ebx
420859:	56                   	push   %esi
42085a:	e8 75 2d fe ff       	call   0x4035d4
42085f:	8b da                	mov    %edx,%ebx
420861:	8b f0                	mov    %eax,%esi
420863:	8b 46 08             	mov    0x8(%esi),%eax
420866:	85 c0                	test   %eax,%eax
420868:	74 06                	je     0x420870
42086a:	50                   	push   %eax
42086b:	e8 e4 59 fe ff       	call   0x406254
420870:	8b 46 14             	mov    0x14(%esi),%eax
420873:	e8 c0 bc ff ff       	call   0x41c538
420878:	8b d3                	mov    %ebx,%edx
42087a:	80 e2 fc             	and    $0xfc,%dl
42087d:	8b c6                	mov    %esi,%eax
42087f:	e8 b4 29 fe ff       	call   0x403238
420884:	84 db                	test   %bl,%bl
420886:	7e 07                	jle    0x42088f
420888:	8b c6                	mov    %esi,%eax
42088a:	e8 2d 2d fe ff       	call   0x4035bc
42088f:	5e                   	pop    %esi
420890:	5b                   	pop    %ebx
420891:	c3                   	ret
420892:	8b c0                	mov    %eax,%eax
420894:	c3                   	ret
420895:	8d 40 00             	lea    0x0(%eax),%eax
420898:	53                   	push   %ebx
420899:	56                   	push   %esi
42089a:	84 d2                	test   %dl,%dl
42089c:	74 08                	je     0x4208a6
42089e:	83 c4 f0             	add    $0xfffffff0,%esp
4208a1:	e8 c6 2c fe ff       	call   0x40356c
4208a6:	8b da                	mov    %edx,%ebx
4208a8:	8b f0                	mov    %eax,%esi
4208aa:	33 d2                	xor    %edx,%edx
4208ac:	8b c6                	mov    %esi,%eax
4208ae:	e8 a1 ee ff ff       	call   0x41f754
4208b3:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
4208b7:	c6 46 21 01          	movb   $0x1,0x21(%esi)
4208bb:	33 d2                	xor    %edx,%edx
4208bd:	8b c6                	mov    %esi,%eax
4208bf:	8b 08                	mov    (%eax),%ecx
4208c1:	ff 51 08             	call   *0x8(%ecx)
4208c4:	8b c6                	mov    %esi,%eax
4208c6:	84 db                	test   %bl,%bl
4208c8:	74 0f                	je     0x4208d9
4208ca:	e8 f5 2c fe ff       	call   0x4035c4
4208cf:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4208d6:	83 c4 0c             	add    $0xc,%esp
4208d9:	8b c6                	mov    %esi,%eax
4208db:	5e                   	pop    %esi
4208dc:	5b                   	pop    %ebx
4208dd:	c3                   	ret
4208de:	8b c0                	mov    %eax,%eax
4208e0:	53                   	push   %ebx
4208e1:	56                   	push   %esi
4208e2:	e8 ed 2c fe ff       	call   0x4035d4
4208e7:	8b da                	mov    %edx,%ebx
4208e9:	8b f0                	mov    %eax,%esi
4208eb:	8b 46 28             	mov    0x28(%esi),%eax
4208ee:	e8 c5 0f 00 00       	call   0x4218b8
4208f3:	8b d3                	mov    %ebx,%edx
4208f5:	80 e2 fc             	and    $0xfc,%dl
4208f8:	8b c6                	mov    %esi,%eax
4208fa:	e8 65 3a ff ff       	call   0x414364
4208ff:	84 db                	test   %bl,%bl
420901:	7e 07                	jle    0x42090a
420903:	8b c6                	mov    %esi,%eax
420905:	e8 b2 2c fe ff       	call   0x4035bc
42090a:	5e                   	pop    %esi
42090b:	5b                   	pop    %ebx
42090c:	c3                   	ret
42090d:	8d 40 00             	lea    0x0(%eax),%eax
420910:	53                   	push   %ebx
420911:	56                   	push   %esi
420912:	57                   	push   %edi
420913:	8b f2                	mov    %edx,%esi
420915:	8b d8                	mov    %eax,%ebx
420917:	85 f6                	test   %esi,%esi
420919:	74 11                	je     0x42092c
42091b:	8b c6                	mov    %esi,%eax
42091d:	8b 15 dc c1 41 00    	mov    0x41c1dc,%edx
420923:	e8 ac 2a fe ff       	call   0x4033d4
420928:	84 c0                	test   %al,%al
42092a:	74 6a                	je     0x420996
42092c:	33 ff                	xor    %edi,%edi
42092e:	8b 43 28             	mov    0x28(%ebx),%eax
420931:	85 c0                	test   %eax,%eax
420933:	74 08                	je     0x42093d
420935:	8b 78 14             	mov    0x14(%eax),%edi
420938:	e8 7b 0f 00 00       	call   0x4218b8
42093d:	85 f6                	test   %esi,%esi
42093f:	74 10                	je     0x420951
420941:	8b c6                	mov    %esi,%eax
420943:	8b 50 28             	mov    0x28(%eax),%edx
420946:	89 53 28             	mov    %edx,0x28(%ebx)
420949:	8a 40 2c             	mov    0x2c(%eax),%al
42094c:	88 43 2c             	mov    %al,0x2c(%ebx)
42094f:	eb 13                	jmp    0x420964
420951:	b2 01                	mov    $0x1,%dl
420953:	a1 7c c1 41 00       	mov    0x41c17c,%eax
420958:	e8 bb 28 fe ff       	call   0x403218
42095d:	89 43 28             	mov    %eax,0x28(%ebx)
420960:	c6 43 2c 01          	movb   $0x1,0x2c(%ebx)
420964:	8b 43 28             	mov    0x28(%ebx),%eax
420967:	e8 48 0f 00 00       	call   0x4218b4
42096c:	8b c3                	mov    %ebx,%eax
42096e:	8b 10                	mov    (%eax),%edx
420970:	ff 52 24             	call   *0x24(%edx)
420973:	3b f8                	cmp    %eax,%edi
420975:	74 0b                	je     0x420982
420977:	8b c3                	mov    %ebx,%eax
420979:	8b 10                	mov    (%eax),%edx
42097b:	ff 52 24             	call   *0x24(%edx)
42097e:	85 c0                	test   %eax,%eax
420980:	75 04                	jne    0x420986
420982:	33 c0                	xor    %eax,%eax
420984:	eb 02                	jmp    0x420988
420986:	b0 01                	mov    $0x1,%al
420988:	88 43 22             	mov    %al,0x22(%ebx)
42098b:	8b d3                	mov    %ebx,%edx
42098d:	8b c3                	mov    %ebx,%eax
42098f:	8b 08                	mov    (%eax),%ecx
420991:	ff 51 10             	call   *0x10(%ecx)
420994:	eb 09                	jmp    0x42099f
420996:	8b d6                	mov    %esi,%edx
420998:	8b c3                	mov    %ebx,%eax
42099a:	e8 f1 39 ff ff       	call   0x414390
42099f:	5f                   	pop    %edi
4209a0:	5e                   	pop    %esi
4209a1:	5b                   	pop    %ebx
4209a2:	c3                   	ret
4209a3:	90                   	nop
4209a4:	53                   	push   %ebx
4209a5:	56                   	push   %esi
4209a6:	57                   	push   %edi
4209a7:	55                   	push   %ebp
4209a8:	83 c4 ec             	add    $0xffffffec,%esp
4209ab:	89 0c 24             	mov    %ecx,(%esp)
4209ae:	8b fa                	mov    %edx,%edi
4209b0:	8b d8                	mov    %eax,%ebx
4209b2:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
4209b6:	74 74                	je     0x420a2c
4209b8:	8b c3                	mov    %ebx,%eax
4209ba:	8b 10                	mov    (%eax),%edx
4209bc:	ff 52 24             	call   *0x24(%edx)
4209bf:	8b f0                	mov    %eax,%esi
4209c1:	33 ed                	xor    %ebp,%ebp
4209c3:	85 f6                	test   %esi,%esi
4209c5:	74 1f                	je     0x4209e6
4209c7:	6a ff                	push   $0xffffffff
4209c9:	56                   	push   %esi
4209ca:	8b c7                	mov    %edi,%eax
4209cc:	e8 0b d8 ff ff       	call   0x41e1dc
4209d1:	50                   	push   %eax
4209d2:	e8 b5 59 fe ff       	call   0x40638c
4209d7:	8b e8                	mov    %eax,%ebp
4209d9:	8b c7                	mov    %edi,%eax
4209db:	e8 fc d7 ff ff       	call   0x41e1dc
4209e0:	50                   	push   %eax
4209e1:	e8 6e 59 fe ff       	call   0x406354
4209e6:	8b 04 24             	mov    (%esp),%eax
4209e9:	56                   	push   %esi
4209ea:	57                   	push   %edi
4209eb:	8b f0                	mov    %eax,%esi
4209ed:	8d 7c 24 0c          	lea    0xc(%esp),%edi
4209f1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4209f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4209f3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4209f4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4209f5:	5f                   	pop    %edi
4209f6:	5e                   	pop    %esi
4209f7:	ff 4c 24 0c          	decl   0xc(%esp)
4209fb:	ff 4c 24 10          	decl   0x10(%esp)
4209ff:	8d 44 24 04          	lea    0x4(%esp),%eax
420a03:	50                   	push   %eax
420a04:	8b 43 28             	mov    0x28(%ebx),%eax
420a07:	8b 40 08             	mov    0x8(%eax),%eax
420a0a:	50                   	push   %eax
420a0b:	8b c7                	mov    %edi,%eax
420a0d:	e8 ca d7 ff ff       	call   0x41e1dc
420a12:	50                   	push   %eax
420a13:	e8 2c 59 fe ff       	call   0x406344
420a18:	85 f6                	test   %esi,%esi
420a1a:	74 10                	je     0x420a2c
420a1c:	6a ff                	push   $0xffffffff
420a1e:	55                   	push   %ebp
420a1f:	8b c7                	mov    %edi,%eax
420a21:	e8 b6 d7 ff ff       	call   0x41e1dc
420a26:	50                   	push   %eax
420a27:	e8 60 59 fe ff       	call   0x40638c
420a2c:	83 c4 14             	add    $0x14,%esp
420a2f:	5d                   	pop    %ebp
420a30:	5f                   	pop    %edi
420a31:	5e                   	pop    %esi
420a32:	5b                   	pop    %ebx
420a33:	c3                   	ret
420a34:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
420a38:	0f 94 c0             	sete   %al
420a3b:	c3                   	ret
420a3c:	53                   	push   %ebx
420a3d:	83 c4 9c             	add    $0xffffff9c,%esp
420a40:	8b d8                	mov    %eax,%ebx
420a42:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
420a46:	75 07                	jne    0x420a4f
420a48:	8b c3                	mov    %ebx,%eax
420a4a:	e8 95 01 00 00       	call   0x420be4
420a4f:	8b 5b 28             	mov    0x28(%ebx),%ebx
420a52:	66 83 7b 18 00       	cmpw   $0x0,0x18(%ebx)
420a57:	75 2b                	jne    0x420a84
420a59:	8b 43 08             	mov    0x8(%ebx),%eax
420a5c:	85 c0                	test   %eax,%eax
420a5e:	75 05                	jne    0x420a65
420a60:	8b 43 20             	mov    0x20(%ebx),%eax
420a63:	eb 33                	jmp    0x420a98
420a65:	54                   	push   %esp
420a66:	6a 64                	push   $0x64
420a68:	50                   	push   %eax
420a69:	e8 4e 58 fe ff       	call   0x4062bc
420a6e:	6b 44 24 54 64       	imul   $0x64,0x54(%esp),%eax
420a73:	50                   	push   %eax
420a74:	8b 44 24 50          	mov    0x50(%esp),%eax
420a78:	50                   	push   %eax
420a79:	8b 43 10             	mov    0x10(%ebx),%eax
420a7c:	50                   	push   %eax
420a7d:	e8 c2 56 fe ff       	call   0x406144
420a82:	eb 14                	jmp    0x420a98
420a84:	68 ec 09 00 00       	push   $0x9ec
420a89:	a1 94 e8 46 00       	mov    0x46e894,%eax
420a8e:	50                   	push   %eax
420a8f:	8b 43 10             	mov    0x10(%ebx),%eax
420a92:	50                   	push   %eax
420a93:	e8 ac 56 fe ff       	call   0x406144
420a98:	83 c4 64             	add    $0x64,%esp
420a9b:	5b                   	pop    %ebx
420a9c:	c3                   	ret
420a9d:	8d 40 00             	lea    0x0(%eax),%eax
420aa0:	53                   	push   %ebx
420aa1:	56                   	push   %esi
420aa2:	57                   	push   %edi
420aa3:	81 c4 fc fb ff ff    	add    $0xfffffbfc,%esp
420aa9:	8b d8                	mov    %eax,%ebx
420aab:	33 ff                	xor    %edi,%edi
420aad:	8b 43 28             	mov    0x28(%ebx),%eax
420ab0:	85 c0                	test   %eax,%eax
420ab2:	74 69                	je     0x420b1d
420ab4:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
420ab8:	74 63                	je     0x420b1d
420aba:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
420abe:	75 57                	jne    0x420b17
420ac0:	6a 00                	push   $0x0
420ac2:	6a 00                	push   $0x0
420ac4:	8b 40 08             	mov    0x8(%eax),%eax
420ac7:	50                   	push   %eax
420ac8:	e8 f7 57 fe ff       	call   0x4062c4
420acd:	8b f0                	mov    %eax,%esi
420acf:	85 f6                	test   %esi,%esi
420ad1:	74 4a                	je     0x420b1d
420ad3:	81 fe 00 01 00 00    	cmp    $0x100,%esi
420ad9:	7e 06                	jle    0x420ae1
420adb:	81 e6 ff 00 00 00    	and    $0xff,%esi
420ae1:	8b 43 28             	mov    0x28(%ebx),%eax
420ae4:	8b 40 14             	mov    0x14(%eax),%eax
420ae7:	e8 4c ba ff ff       	call   0x41c538
420aec:	66 c7 04 24 00 03    	movw   $0x300,(%esp)
420af2:	66 89 74 24 02       	mov    %si,0x2(%esp)
420af7:	8d 44 24 04          	lea    0x4(%esp),%eax
420afb:	50                   	push   %eax
420afc:	56                   	push   %esi
420afd:	8b 43 28             	mov    0x28(%ebx),%eax
420b00:	8b 40 08             	mov    0x8(%eax),%eax
420b03:	50                   	push   %eax
420b04:	e8 bb 57 fe ff       	call   0x4062c4
420b09:	8b c4                	mov    %esp,%eax
420b0b:	50                   	push   %eax
420b0c:	e8 1b 57 fe ff       	call   0x40622c
420b11:	8b 53 28             	mov    0x28(%ebx),%edx
420b14:	89 42 14             	mov    %eax,0x14(%edx)
420b17:	8b 43 28             	mov    0x28(%ebx),%eax
420b1a:	8b 78 14             	mov    0x14(%eax),%edi
420b1d:	8b c7                	mov    %edi,%eax
420b1f:	81 c4 04 04 00 00    	add    $0x404,%esp
420b25:	5f                   	pop    %edi
420b26:	5e                   	pop    %esi
420b27:	5b                   	pop    %ebx
420b28:	c3                   	ret
420b29:	8d 40 00             	lea    0x0(%eax),%eax
420b2c:	53                   	push   %ebx
420b2d:	83 c4 9c             	add    $0xffffff9c,%esp
420b30:	8b d8                	mov    %eax,%ebx
420b32:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
420b36:	75 07                	jne    0x420b3f
420b38:	8b c3                	mov    %ebx,%eax
420b3a:	e8 a5 00 00 00       	call   0x420be4
420b3f:	8b 5b 28             	mov    0x28(%ebx),%ebx
420b42:	66 83 7b 18 00       	cmpw   $0x0,0x18(%ebx)
420b47:	75 2b                	jne    0x420b74
420b49:	8b 43 08             	mov    0x8(%ebx),%eax
420b4c:	85 c0                	test   %eax,%eax
420b4e:	75 05                	jne    0x420b55
420b50:	8b 43 1c             	mov    0x1c(%ebx),%eax
420b53:	eb 33                	jmp    0x420b88
420b55:	54                   	push   %esp
420b56:	6a 64                	push   $0x64
420b58:	50                   	push   %eax
420b59:	e8 5e 57 fe ff       	call   0x4062bc
420b5e:	6b 44 24 50 64       	imul   $0x64,0x50(%esp),%eax
420b63:	50                   	push   %eax
420b64:	8b 44 24 4c          	mov    0x4c(%esp),%eax
420b68:	50                   	push   %eax
420b69:	8b 43 0c             	mov    0xc(%ebx),%eax
420b6c:	50                   	push   %eax
420b6d:	e8 d2 55 fe ff       	call   0x406144
420b72:	eb 14                	jmp    0x420b88
420b74:	68 ec 09 00 00       	push   $0x9ec
420b79:	a1 94 e8 46 00       	mov    0x46e894,%eax
420b7e:	50                   	push   %eax
420b7f:	8b 43 0c             	mov    0xc(%ebx),%eax
420b82:	50                   	push   %eax
420b83:	e8 bc 55 fe ff       	call   0x406144
420b88:	83 c4 64             	add    $0x64,%esp