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
420b8b:	5b                   	pop    %ebx
420b8c:	c3                   	ret
420b8d:	8d 40 00             	lea    0x0(%eax),%eax
420b90:	53                   	push   %ebx
420b91:	56                   	push   %esi
420b92:	8b f2                	mov    %edx,%esi
420b94:	8b d8                	mov    %eax,%ebx
420b96:	8b d6                	mov    %esi,%edx
420b98:	8b c3                	mov    %ebx,%eax
420b9a:	e8 6d 05 00 00       	call   0x42110c
420b9f:	84 c0                	test   %al,%al
420ba1:	74 0b                	je     0x420bae
420ba3:	8b d6                	mov    %esi,%edx
420ba5:	8b c3                	mov    %ebx,%eax
420ba7:	e8 cc 00 00 00       	call   0x420c78
420bac:	eb 1a                	jmp    0x420bc8
420bae:	8b c6                	mov    %esi,%eax
420bb0:	8b 10                	mov    (%eax),%edx
420bb2:	ff 12                	call   *(%edx)
420bb4:	50                   	push   %eax
420bb5:	8b c6                	mov    %esi,%eax
420bb7:	e8 c0 55 ff ff       	call   0x41617c
420bbc:	59                   	pop    %ecx
420bbd:	2b c8                	sub    %eax,%ecx
420bbf:	8b d6                	mov    %esi,%edx
420bc1:	8b c3                	mov    %ebx,%eax
420bc3:	e8 80 01 00 00       	call   0x420d48
420bc8:	8b c3                	mov    %ebx,%eax
420bca:	8b 10                	mov    (%eax),%edx
420bcc:	ff 52 24             	call   *0x24(%edx)
420bcf:	85 c0                	test   %eax,%eax
420bd1:	0f 95 c0             	setne  %al
420bd4:	88 43 22             	mov    %al,0x22(%ebx)
420bd7:	8b d3                	mov    %ebx,%edx
420bd9:	8b c3                	mov    %ebx,%eax
420bdb:	8b 08                	mov    (%eax),%ecx
420bdd:	ff 51 10             	call   *0x10(%ecx)
420be0:	5e                   	pop    %esi
420be1:	5b                   	pop    %ebx
420be2:	c3                   	ret
420be3:	90                   	nop
420be4:	53                   	push   %ebx
420be5:	56                   	push   %esi
420be6:	8b d8                	mov    %eax,%ebx
420be8:	8b 43 28             	mov    0x28(%ebx),%eax
420beb:	e8 c8 0c 00 00       	call   0x4218b8
420bf0:	b2 01                	mov    $0x1,%dl
420bf2:	a1 7c c1 41 00       	mov    0x41c17c,%eax
420bf7:	e8 1c 26 fe ff       	call   0x403218
420bfc:	8b f0                	mov    %eax,%esi
420bfe:	89 73 28             	mov    %esi,0x28(%ebx)
420c01:	8b c6                	mov    %esi,%eax
420c03:	e8 ac 0c 00 00       	call   0x4218b4
420c08:	5e                   	pop    %esi
420c09:	5b                   	pop    %ebx
420c0a:	c3                   	ret
420c0b:	90                   	nop
420c0c:	53                   	push   %ebx
420c0d:	56                   	push   %esi
420c0e:	57                   	push   %edi
420c0f:	51                   	push   %ecx
420c10:	8b f2                	mov    %edx,%esi
420c12:	8b d8                	mov    %eax,%ebx
420c14:	8b d4                	mov    %esp,%edx
420c16:	b9 04 00 00 00       	mov    $0x4,%ecx
420c1b:	8b c6                	mov    %esi,%eax
420c1d:	8b 38                	mov    (%eax),%edi
420c1f:	ff 57 0c             	call   *0xc(%edi)
420c22:	83 3c 24 04          	cmpl   $0x4,(%esp)
420c26:	7f 0b                	jg     0x420c33
420c28:	33 d2                	xor    %edx,%edx
420c2a:	8b c3                	mov    %ebx,%eax
420c2c:	8b 08                	mov    (%eax),%ecx
420c2e:	ff 51 08             	call   *0x8(%ecx)
420c31:	eb 27                	jmp    0x420c5a
420c33:	8b d6                	mov    %esi,%edx
420c35:	8b c3                	mov    %ebx,%eax
420c37:	e8 d0 04 00 00       	call   0x42110c
420c3c:	84 c0                	test   %al,%al
420c3e:	74 0b                	je     0x420c4b
420c40:	8b d6                	mov    %esi,%edx
420c42:	8b c3                	mov    %ebx,%eax
420c44:	e8 2f 00 00 00       	call   0x420c78
420c49:	eb 0f                	jmp    0x420c5a
420c4b:	8b 0c 24             	mov    (%esp),%ecx
420c4e:	83 e9 04             	sub    $0x4,%ecx
420c51:	8b d6                	mov    %esi,%edx
420c53:	8b c3                	mov    %ebx,%eax
420c55:	e8 ee 00 00 00       	call   0x420d48
420c5a:	8b c3                	mov    %ebx,%eax
420c5c:	8b 10                	mov    (%eax),%edx
420c5e:	ff 52 24             	call   *0x24(%edx)
420c61:	85 c0                	test   %eax,%eax
420c63:	0f 95 c0             	setne  %al
420c66:	88 43 22             	mov    %al,0x22(%ebx)
420c69:	8b d3                	mov    %ebx,%edx
420c6b:	8b c3                	mov    %ebx,%eax
420c6d:	8b 08                	mov    (%eax),%ecx
420c6f:	ff 51 10             	call   *0x10(%ecx)
420c72:	5a                   	pop    %edx
420c73:	5f                   	pop    %edi
420c74:	5e                   	pop    %esi
420c75:	5b                   	pop    %ebx
420c76:	c3                   	ret
420c77:	90                   	nop
420c78:	55                   	push   %ebp
420c79:	8b ec                	mov    %esp,%ebp
420c7b:	83 c4 98             	add    $0xffffff98,%esp
420c7e:	53                   	push   %ebx
420c7f:	56                   	push   %esi
420c80:	57                   	push   %edi
420c81:	8b fa                	mov    %edx,%edi
420c83:	8b f0                	mov    %eax,%esi
420c85:	8b c6                	mov    %esi,%eax
420c87:	e8 58 ff ff ff       	call   0x420be4
420c8c:	8d 55 98             	lea    -0x68(%ebp),%edx
420c8f:	b9 64 00 00 00       	mov    $0x64,%ecx
420c94:	8b c7                	mov    %edi,%eax
420c96:	e8 0d 57 ff ff       	call   0x4163a8
420c9b:	81 7d c0 20 45 4d 46 	cmpl   $0x464d4520,-0x40(%ebp)
420ca2:	74 05                	je     0x420ca9
420ca4:	e8 23 d8 ff ff       	call   0x41e4cc
420ca9:	8b 45 c8             	mov    -0x38(%ebp),%eax
420cac:	e8 0b 1a fe ff       	call   0x4026bc
420cb1:	89 45 fc             	mov    %eax,-0x4(%ebp)
420cb4:	8b 5e 28             	mov    0x28(%esi),%ebx
420cb7:	33 c0                	xor    %eax,%eax
420cb9:	55                   	push   %ebp
420cba:	68 38 0d 42 00       	push   $0x420d38
420cbf:	64 ff 30             	push   %fs:(%eax)
420cc2:	64 89 20             	mov    %esp,%fs:(%eax)
420cc5:	8b 55 fc             	mov    -0x4(%ebp),%edx
420cc8:	8d 45 98             	lea    -0x68(%ebp),%eax
420ccb:	b9 64 00 00 00       	mov    $0x64,%ecx
420cd0:	e8 e3 1b fe ff       	call   0x4028b8
420cd5:	8b 4d c8             	mov    -0x38(%ebp),%ecx
420cd8:	83 e9 64             	sub    $0x64,%ecx
420cdb:	8b 55 fc             	mov    -0x4(%ebp),%edx
420cde:	83 c2 64             	add    $0x64,%edx
420ce1:	8b c7                	mov    %edi,%eax
420ce3:	e8 c0 56 ff ff       	call   0x4163a8
420ce8:	8b 45 fc             	mov    -0x4(%ebp),%eax
420ceb:	50                   	push   %eax
420cec:	8b 45 c8             	mov    -0x38(%ebp),%eax
420cef:	50                   	push   %eax
420cf0:	e8 bf 56 fe ff       	call   0x4063b4
420cf5:	8b f8                	mov    %eax,%edi
420cf7:	89 7b 08             	mov    %edi,0x8(%ebx)
420cfa:	85 ff                	test   %edi,%edi
420cfc:	75 05                	jne    0x420d03
420cfe:	e8 c9 d7 ff ff       	call   0x41e4cc
420d03:	66 c7 43 18 00 00    	movw   $0x0,0x18(%ebx)
420d09:	8b 45 b8             	mov    -0x48(%ebp),%eax
420d0c:	2b 45 b0             	sub    -0x50(%ebp),%eax
420d0f:	89 43 0c             	mov    %eax,0xc(%ebx)
420d12:	8b 45 bc             	mov    -0x44(%ebp),%eax
420d15:	2b 45 b4             	sub    -0x4c(%ebp),%eax
420d18:	89 43 10             	mov    %eax,0x10(%ebx)
420d1b:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
420d1f:	33 c0                	xor    %eax,%eax
420d21:	5a                   	pop    %edx
420d22:	59                   	pop    %ecx
420d23:	59                   	pop    %ecx
420d24:	64 89 10             	mov    %edx,%fs:(%eax)
420d27:	68 3f 0d 42 00       	push   $0x420d3f
420d2c:	8b 55 c8             	mov    -0x38(%ebp),%edx
420d2f:	8b 45 fc             	mov    -0x4(%ebp),%eax
420d32:	e8 a5 19 fe ff       	call   0x4026dc
420d37:	c3                   	ret
420d38:	e9 5f 2c fe ff       	jmp    0x40399c
420d3d:	eb ed                	jmp    0x420d2c
420d3f:	5f                   	pop    %edi
420d40:	5e                   	pop    %esi
420d41:	5b                   	pop    %ebx
420d42:	8b e5                	mov    %ebp,%esp