420b1c:	8b f2                	mov    %edx,%esi
420b1e:	8b d8                	mov    %eax,%ebx
420b20:	8b d4                	mov    %esp,%edx
420b22:	b9 04 00 00 00       	mov    $0x4,%ecx
420b27:	8b c6                	mov    %esi,%eax
420b29:	8b 38                	mov    (%eax),%edi
420b2b:	ff 57 0c             	call   *0xc(%edi)
420b2e:	8b 0c 24             	mov    (%esp),%ecx
420b31:	8b d6                	mov    %esi,%edx
420b33:	8b c3                	mov    %ebx,%eax
420b35:	e8 6e 05 00 00       	call   0x4210a8
420b3a:	5a                   	pop    %edx
420b3b:	5f                   	pop    %edi
420b3c:	5e                   	pop    %esi
420b3d:	5b                   	pop    %ebx
420b3e:	c3                   	ret
420b3f:	90                   	nop
420b40:	55                   	push   %ebp
420b41:	8b ec                	mov    %esp,%ebp
420b43:	81 c4 54 ff ff ff    	add    $0xffffff54,%esp
420b49:	53                   	push   %ebx
420b4a:	56                   	push   %esi
420b4b:	57                   	push   %edi
420b4c:	8b f1                	mov    %ecx,%esi
420b4e:	89 55 f8             	mov    %edx,-0x8(%ebp)
420b51:	89 45 fc             	mov    %eax,-0x4(%ebp)
420b54:	33 c0                	xor    %eax,%eax
420b56:	89 45 d0             	mov    %eax,-0x30(%ebp)
420b59:	33 c0                	xor    %eax,%eax
420b5b:	89 45 d8             	mov    %eax,-0x28(%ebp)
420b5e:	33 c0                	xor    %eax,%eax
420b60:	89 45 c8             	mov    %eax,-0x38(%ebp)
420b63:	8d 55 e0             	lea    -0x20(%ebp),%edx
420b66:	b9 04 00 00 00       	mov    $0x4,%ecx
420b6b:	8b 45 f8             	mov    -0x8(%ebp),%eax
420b6e:	8b 18                	mov    (%eax),%ebx
420b70:	ff 53 0c             	call   *0xc(%ebx)
420b73:	83 7d e0 0c          	cmpl   $0xc,-0x20(%ebp)
420b77:	0f 94 45 df          	sete   -0x21(%ebp)
420b7b:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
420b7f:	74 07                	je     0x420b88
420b81:	c7 45 e0 28 00 00 00 	movl   $0x28,-0x20(%ebp)
420b88:	8b 45 e0             	mov    -0x20(%ebp),%eax
420b8b:	83 c0 0c             	add    $0xc,%eax
420b8e:	05 00 04 00 00       	add    $0x400,%eax
420b93:	e8 a0 1e fe ff       	call   0x402a38
420b98:	89 45 e8             	mov    %eax,-0x18(%ebp)
420b9b:	8b 45 e8             	mov    -0x18(%ebp),%eax
420b9e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
420ba1:	33 d2                	xor    %edx,%edx
420ba3:	55                   	push   %ebp
420ba4:	68 5d 10 42 00       	push   $0x42105d
420ba9:	64 ff 32             	push   %fs:(%edx)
420bac:	64 89 22             	mov    %esp,%fs:(%edx)
420baf:	33 d2                	xor    %edx,%edx
420bb1:	55                   	push   %ebp
420bb2:	68 30 10 42 00       	push   $0x421030
420bb7:	64 ff 32             	push   %fs:(%edx)
420bba:	64 89 22             	mov    %esp,%fs:(%edx)
420bbd:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
420bc1:	74 4c                	je     0x420c0f
420bc3:	8d 55 b8             	lea    -0x48(%ebp),%edx
420bc6:	83 c2 04             	add    $0x4,%edx
420bc9:	b9 08 00 00 00       	mov    $0x8,%ecx
420bce:	8b 45 f8             	mov    -0x8(%ebp),%eax
420bd1:	8b 18                	mov    (%eax),%ebx
420bd3:	ff 53 0c             	call   *0xc(%ebx)
420bd6:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
420bd9:	8b c3                	mov    %ebx,%eax
420bdb:	33 c9                	xor    %ecx,%ecx
420bdd:	ba 28 00 00 00       	mov    $0x28,%edx
420be2:	e8 35 23 fe ff       	call   0x402f1c
420be7:	8b c3                	mov    %ebx,%eax
420be9:	0f b7 55 bc          	movzwl -0x44(%ebp),%edx
420bed:	89 50 04             	mov    %edx,0x4(%eax)
420bf0:	0f b7 55 be          	movzwl -0x42(%ebp),%edx
420bf4:	89 50 08             	mov    %edx,0x8(%eax)
420bf7:	66 8b 55 c0          	mov    -0x40(%ebp),%dx
420bfb:	66 89 50 0c          	mov    %dx,0xc(%eax)
420bff:	66 8b 55 c2          	mov    -0x3e(%ebp),%dx
420c03:	66 89 50 0e          	mov    %dx,0xe(%eax)
420c07:	83 ee 0c             	sub    $0xc,%esi
420c0a:	e9 cd 00 00 00       	jmp    0x420cdc
420c0f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
420c12:	83 e9 04             	sub    $0x4,%ecx
420c15:	8b 55 e8             	mov    -0x18(%ebp),%edx
420c18:	83 c2 04             	add    $0x4,%edx
420c1b:	8b 45 f8             	mov    -0x8(%ebp),%eax
420c1e:	8b 18                	mov    (%eax),%ebx
420c20:	ff 53 0c             	call   *0xc(%ebx)
420c23:	2b 75 e0             	sub    -0x20(%ebp),%esi
420c26:	8b 45 c4             	mov    -0x3c(%ebp),%eax
420c29:	8b 40 10             	mov    0x10(%eax),%eax
420c2c:	83 f8 03             	cmp    $0x3,%eax
420c2f:	0f 84 a7 00 00 00    	je     0x420cdc
420c35:	85 c0                	test   %eax,%eax
420c37:	0f 84 9f 00 00 00    	je     0x420cdc
420c3d:	b2 01                	mov    $0x1,%dl
420c3f:	a1 78 23 41 00       	mov    0x412378,%eax
420c44:	e8 83 2b fe ff       	call   0x4037cc
420c49:	89 45 c8             	mov    %eax,-0x38(%ebp)
420c4c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
420c50:	75 2f                	jne    0x420c81
420c52:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
420c58:	33 c9                	xor    %ecx,%ecx
420c5a:	ba 0e 00 00 00       	mov    $0xe,%edx
420c5f:	e8 b8 22 fe ff       	call   0x402f1c
420c64:	66 c7 85 56 ff ff ff 	movw   $0x4d42,-0xaa(%ebp)
420c6b:	42 4d
420c6d:	8b 45 e0             	mov    -0x20(%ebp),%eax
420c70:	03 c6                	add    %esi,%eax
420c72:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
420c78:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
420c7e:	89 45 08             	mov    %eax,0x8(%ebp)
420c81:	8b 55 08             	mov    0x8(%ebp),%edx
420c84:	b9 0e 00 00 00       	mov    $0xe,%ecx
420c89:	8b 45 c8             	mov    -0x38(%ebp),%eax
420c8c:	8b 18                	mov    (%eax),%ebx
420c8e:	ff 53 10             	call   *0x10(%ebx)
420c91:	8d 55 e0             	lea    -0x20(%ebp),%edx
420c94:	b9 04 00 00 00       	mov    $0x4,%ecx
420c99:	8b 45 c8             	mov    -0x38(%ebp),%eax
420c9c:	8b 18                	mov    (%eax),%ebx
420c9e:	ff 53 10             	call   *0x10(%ebx)
420ca1:	8b 4d e0             	mov    -0x20(%ebp),%ecx
420ca4:	83 e9 04             	sub    $0x4,%ecx
420ca7:	8b 55 e8             	mov    -0x18(%ebp),%edx
420caa:	83 c2 04             	add    $0x4,%edx
420cad:	8b 45 c8             	mov    -0x38(%ebp),%eax
420cb0:	8b 18                	mov    (%eax),%ebx
420cb2:	ff 53 10             	call   *0x10(%ebx)
420cb5:	8b c6                	mov    %esi,%eax
420cb7:	33 d2                	xor    %edx,%edx
420cb9:	52                   	push   %edx
420cba:	50                   	push   %eax
420cbb:	8b 55 f8             	mov    -0x8(%ebp),%edx
420cbe:	8b 45 c8             	mov    -0x38(%ebp),%eax
420cc1:	e8 7e 52 ff ff       	call   0x415f44
420cc6:	8b d6                	mov    %esi,%edx
420cc8:	f7 da                	neg    %edx
420cca:	66 b9 02 00          	mov    $0x2,%cx
420cce:	8b 45 c8             	mov    -0x38(%ebp),%eax
420cd1:	8b 18                	mov    (%eax),%ebx
420cd3:	ff 53 14             	call   *0x14(%ebx)
420cd6:	8b 45 c8             	mov    -0x38(%ebp),%eax
420cd9:	89 45 f8             	mov    %eax,-0x8(%ebp)
420cdc:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
420cdf:	8b 45 e0             	mov    -0x20(%ebp),%eax
420ce2:	89 03                	mov    %eax,(%ebx)
420ce4:	8b 45 e8             	mov    -0x18(%ebp),%eax
420ce7:	03 45 e0             	add    -0x20(%ebp),%eax
420cea:	89 45 e4             	mov    %eax,-0x1c(%ebp)
420ced:	66 83 7b 0c 01       	cmpw   $0x1,0xc(%ebx)
420cf2:	74 05                	je     0x420cf9
420cf4:	e8 ef ce ff ff       	call   0x41dbe8
420cf9:	83 7d e0 28          	cmpl   $0x28,-0x20(%ebp)
420cfd:	75 2d                	jne    0x420d2c
420cff:	66 8b 43 0e          	mov    0xe(%ebx),%ax
420d03:	66 83 f8 10          	cmp    $0x10,%ax
420d07:	74 06                	je     0x420d0f
420d09:	66 83 f8 20          	cmp    $0x20,%ax
420d0d:	75 1d                	jne    0x420d2c
420d0f:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
420d13:	75 17                	jne    0x420d2c
420d15:	8b 55 e4             	mov    -0x1c(%ebp),%edx
420d18:	b9 0c 00 00 00       	mov    $0xc,%ecx
420d1d:	8b 45 f8             	mov    -0x8(%ebp),%eax
420d20:	e8 af 51 ff ff       	call   0x415ed4
420d25:	83 45 e4 0c          	addl   $0xc,-0x1c(%ebp)
420d29:	83 ee 0c             	sub    $0xc,%esi
420d2c:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
420d30:	75 0c                	jne    0x420d3e
420d32:	66 8b 43 0e          	mov    0xe(%ebx),%ax
420d36:	e8 31 d1 ff ff       	call   0x41de6c
420d3b:	89 43 20             	mov    %eax,0x20(%ebx)
420d3e:	8b 4b 20             	mov    0x20(%ebx),%ecx
420d41:	0f b6 7d df          	movzbl -0x21(%ebp),%edi
420d45:	33 c0                	xor    %eax,%eax
420d47:	8a 87 00 57 45 00    	mov    0x455700(%edi),%al
420d4d:	0f af c8             	imul   %eax,%ecx
420d50:	8b 55 e4             	mov    -0x1c(%ebp),%edx
420d53:	8b 45 f8             	mov    -0x8(%ebp),%eax
420d56:	e8 79 51 ff ff       	call   0x415ed4
420d5b:	8b 43 20             	mov    0x20(%ebx),%eax
420d5e:	33 d2                	xor    %edx,%edx
420d60:	8a 97 00 57 45 00    	mov    0x455700(%edi),%dl
420d66:	f7 ea                	imul   %edx
420d68:	2b f0                	sub    %eax,%esi
420d6a:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
420d6e:	75 21                	jne    0x420d91
420d70:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
420d74:	8b 43 04             	mov    0x4(%ebx),%eax
420d77:	b9 20 00 00 00       	mov    $0x20,%ecx
420d7c:	e8 0b d1 ff ff       	call   0x41de8c
420d81:	8b c8                	mov    %eax,%ecx
420d83:	8b 43 08             	mov    0x8(%ebx),%eax
420d86:	99                   	cltd
420d87:	33 c2                	xor    %edx,%eax
420d89:	2b c2                	sub    %edx,%eax
420d8b:	0f af c8             	imul   %eax,%ecx
420d8e:	89 4b 14             	mov    %ecx,0x14(%ebx)
420d91:	8b 43 14             	mov    0x14(%ebx),%eax
420d94:	3b f0                	cmp    %eax,%esi
420d96:	76 02                	jbe    0x420d9a
420d98:	8b f0                	mov    %eax,%esi
420d9a:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
420d9e:	74 08                	je     0x420da8
420da0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
420da3:	e8 8c d3 ff ff       	call   0x41e134
420da8:	6a 00                	push   $0x0
420daa:	e8 9d 5d fe ff       	call   0x406b4c
420daf:	e8 48 cf ff ff       	call   0x41dcfc
420db4:	89 45 f4             	mov    %eax,-0xc(%ebp)
420db7:	33 d2                	xor    %edx,%edx
420db9:	55                   	push   %ebp
420dba:	68 ab 0f 42 00       	push   $0x420fab
420dbf:	64 ff 32             	push   %fs:(%edx)
420dc2:	64 89 22             	mov    %esp,%fs:(%edx)
420dc5:	8b 45 c4             	mov    -0x3c(%ebp),%eax
420dc8:	8b 40 10             	mov    0x10(%eax),%eax
420dcb:	85 c0                	test   %eax,%eax
420dcd:	74 05                	je     0x420dd4
420dcf:	83 f8 03             	cmp    $0x3,%eax
420dd2:	75 0d                	jne    0x420de1
420dd4:	80 3d 70 54 45 00 00 	cmpb   $0x0,0x455470
420ddb:	0f 84 39 01 00 00    	je     0x420f1a
420de1:	33 c0                	xor    %eax,%eax
420de3:	89 45 f0             	mov    %eax,-0x10(%ebp)
420de6:	8b c6                	mov    %esi,%eax
420de8:	e8 4b 1c fe ff       	call   0x402a38
420ded:	89 45 ec             	mov    %eax,-0x14(%ebp)
420df0:	33 d2                	xor    %edx,%edx
420df2:	55                   	push   %ebp
420df3:	68 13 0f 42 00       	push   $0x420f13
420df8:	64 ff 32             	push   %fs:(%edx)
420dfb:	64 89 22             	mov    %esp,%fs:(%edx)
420dfe:	8b 55 ec             	mov    -0x14(%ebp),%edx
420e01:	8b ce                	mov    %esi,%ecx
420e03:	8b 45 f8             	mov    -0x8(%ebp),%eax
420e06:	e8 c9 50 ff ff       	call   0x415ed4
420e0b:	8b 45 f4             	mov    -0xc(%ebp),%eax
420e0e:	50                   	push   %eax
420e0f:	e8 18 5a fe ff       	call   0x40682c
420e14:	e8 e3 ce ff ff       	call   0x41dcfc
420e19:	89 45 f0             	mov    %eax,-0x10(%ebp)
420e1c:	6a 01                	push   $0x1
420e1e:	6a 01                	push   $0x1
420e20:	8b 45 f4             	mov    -0xc(%ebp),%eax
420e23:	50                   	push   %eax
420e24:	e8 fb 59 fe ff       	call   0x406824
420e29:	50                   	push   %eax
420e2a:	8b 45 f0             	mov    -0x10(%ebp),%eax
420e2d:	50                   	push   %eax
420e2e:	e8 29 5b fe ff       	call   0x40695c
420e33:	89 45 d4             	mov    %eax,-0x2c(%ebp)
420e36:	33 c0                	xor    %eax,%eax
420e38:	89 45 cc             	mov    %eax,-0x34(%ebp)
420e3b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
420e3e:	8b 40 20             	mov    0x20(%eax),%eax
420e41:	85 c0                	test   %eax,%eax
420e43:	76 2a                	jbe    0x420e6f
420e45:	8b c8                	mov    %eax,%ecx
420e47:	8b 55 e4             	mov    -0x1c(%ebp),%edx
420e4a:	33 c0                	xor    %eax,%eax
420e4c:	e8 a7 d5 ff ff       	call   0x41e3f8
420e51:	89 45 d0             	mov    %eax,-0x30(%ebp)
420e54:	6a 00                	push   $0x0
420e56:	8b 45 d0             	mov    -0x30(%ebp),%eax
420e59:	50                   	push   %eax
420e5a:	8b 45 f0             	mov    -0x10(%ebp),%eax
420e5d:	50                   	push   %eax
420e5e:	e8 01 5b fe ff       	call   0x406964
420e63:	89 45 cc             	mov    %eax,-0x34(%ebp)
420e66:	8b 45 f0             	mov    -0x10(%ebp),%eax
420e69:	50                   	push   %eax
420e6a:	e8 cd 5a fe ff       	call   0x40693c
420e6f:	33 d2                	xor    %edx,%edx
420e71:	55                   	push   %ebp
420e72:	68 e7 0e 42 00       	push   $0x420ee7
420e77:	64 ff 32             	push   %fs:(%edx)
420e7a:	64 89 22             	mov    %esp,%fs:(%edx)
420e7d:	6a 00                	push   $0x0
420e7f:	8b 45 e8             	mov    -0x18(%ebp),%eax
420e82:	50                   	push   %eax
420e83:	8b 55 ec             	mov    -0x14(%ebp),%edx
420e86:	52                   	push   %edx
420e87:	6a 04                	push   $0x4
420e89:	50                   	push   %eax
420e8a:	8b 45 f0             	mov    -0x10(%ebp),%eax
420e8d:	50                   	push   %eax
420e8e:	e8 a9 59 fe ff       	call   0x40683c
420e93:	89 45 d8             	mov    %eax,-0x28(%ebp)
420e96:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
420e9a:	75 15                	jne    0x420eb1
420e9c:	e8 fb 57 fe ff       	call   0x40669c
420ea1:	85 c0                	test   %eax,%eax
420ea3:	75 07                	jne    0x420eac
420ea5:	e8 3e cd ff ff       	call   0x41dbe8
420eaa:	eb 05                	jmp    0x420eb1
420eac:	e8 4f bf fe ff       	call   0x40ce00
420eb1:	33 c0                	xor    %eax,%eax
420eb3:	5a                   	pop    %edx
420eb4:	59                   	pop    %ecx
420eb5:	59                   	pop    %ecx
420eb6:	64 89 10             	mov    %edx,%fs:(%eax)
420eb9:	68 ee 0e 42 00       	push   $0x420eee
420ebe:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
420ec2:	74 0f                	je     0x420ed3
420ec4:	6a ff                	push   $0xffffffff
420ec6:	8b 45 cc             	mov    -0x34(%ebp),%eax
420ec9:	50                   	push   %eax
420eca:	8b 45 f0             	mov    -0x10(%ebp),%eax
420ecd:	50                   	push   %eax
420ece:	e8 91 5a fe ff       	call   0x406964
420ed3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
420ed6:	50                   	push   %eax
420ed7:	8b 45 f0             	mov    -0x10(%ebp),%eax
420eda:	50                   	push   %eax
420edb:	e8 7c 5a fe ff       	call   0x40695c
420ee0:	50                   	push   %eax
420ee1:	e8 96 59 fe ff       	call   0x40687c
420ee6:	c3                   	ret
420ee7:	e9 60 30 fe ff       	jmp    0x403f4c
420eec:	eb d0                	jmp    0x420ebe
420eee:	33 c0                	xor    %eax,%eax
420ef0:	5a                   	pop    %edx
420ef1:	59                   	pop    %ecx
420ef2:	59                   	pop    %ecx
420ef3:	64 89 10             	mov    %edx,%fs:(%eax)
420ef6:	68 92 0f 42 00       	push   $0x420f92
420efb:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
420eff:	74 09                	je     0x420f0a
420f01:	8b 45 f0             	mov    -0x10(%ebp),%eax
420f04:	50                   	push   %eax
420f05:	e8 6a 59 fe ff       	call   0x406874
420f0a:	8b 45 ec             	mov    -0x14(%ebp),%eax
420f0d:	e8 56 1b fe ff       	call   0x402a68
420f12:	c3                   	ret
420f13:	e9 34 30 fe ff       	jmp    0x403f4c
420f18:	eb e1                	jmp    0x420efb
420f1a:	6a 00                	push   $0x0
420f1c:	6a 00                	push   $0x0
420f1e:	8d 45 ec             	lea    -0x14(%ebp),%eax
420f21:	50                   	push   %eax
420f22:	6a 00                	push   $0x0
420f24:	8b 45 e8             	mov    -0x18(%ebp),%eax
420f27:	50                   	push   %eax
420f28:	8b 45 f4             	mov    -0xc(%ebp),%eax
420f2b:	50                   	push   %eax
420f2c:	e8 03 59 fe ff       	call   0x406834